dinocollab-core 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rollupPluginBabelHelpers.js +67 -10
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/{src/api-context → api-context}/alert-global.js +49 -34
- package/dist/api-context/alert-global.js.map +1 -0
- package/dist/{src/api-context → api-context}/drawer-global.js +40 -33
- package/dist/api-context/drawer-global.js.map +1 -0
- package/dist/{src/api-context → api-context}/global-modal.js +40 -32
- package/dist/api-context/global-modal.js.map +1 -0
- package/dist/{src/api-context → api-context}/popover-global.js +44 -36
- package/dist/api-context/popover-global.js.map +1 -0
- package/dist/api-context/popover.js +94 -0
- package/dist/api-context/popover.js.map +1 -0
- package/dist/{src/api-context → api-context}/ui.units.js +12 -10
- package/dist/api-context/ui.units.js.map +1 -0
- package/dist/components/breadcrumbs.js +65 -0
- package/dist/components/breadcrumbs.js.map +1 -0
- package/dist/{src/components → components}/copy-to-clipboard.js +39 -32
- package/dist/components/copy-to-clipboard.js.map +1 -0
- package/dist/components/help-tooltip.js +104 -0
- package/dist/components/help-tooltip.js.map +1 -0
- package/dist/components/image-with-fallback.js +51 -0
- package/dist/components/image-with-fallback.js.map +1 -0
- package/dist/{src/components → components}/text-editor.js +24 -23
- package/dist/components/text-editor.js.map +1 -0
- package/dist/components/text-editor.preview.js +27 -0
- package/dist/components/text-editor.preview.js.map +1 -0
- package/dist/form/create.autocomplete.chips.js +228 -0
- package/dist/form/create.autocomplete.chips.js.map +1 -0
- package/dist/{src/form → form}/create.date-expired.js +71 -61
- package/dist/form/create.date-expired.js.map +1 -0
- package/dist/{src/form → form}/create.date-picker.js +40 -37
- package/dist/form/create.date-picker.js.map +1 -0
- package/dist/{src/form → form}/create.form-base.js +47 -41
- package/dist/form/create.form-base.js.map +1 -0
- package/dist/form/create.form-comfirm.js +131 -0
- package/dist/form/create.form-comfirm.js.map +1 -0
- package/dist/form/create.form-grid-layout.js +188 -0
- package/dist/form/create.form-grid-layout.js.map +1 -0
- package/dist/{src/form → form}/create.form-grid-layout.units.js +17 -14
- package/dist/form/create.form-grid-layout.units.js.map +1 -0
- package/dist/form/create.input.file.js +79 -0
- package/dist/form/create.input.file.js.map +1 -0
- package/dist/form/create.input.js +276 -0
- package/dist/form/create.input.js.map +1 -0
- package/dist/form/create.select-simple.js +114 -0
- package/dist/form/create.select-simple.js.map +1 -0
- package/dist/form/create.select-with-api.js +277 -0
- package/dist/form/create.select-with-api.js.map +1 -0
- package/dist/form/create.text-editor.js +181 -0
- package/dist/form/create.text-editor.js.map +1 -0
- package/dist/{src/form → form}/dino-form.js +17 -18
- package/dist/form/dino-form.js.map +1 -0
- package/dist/{src/form → form}/helper.js +14 -14
- package/dist/form/helper.js.map +1 -0
- package/dist/{src/form → form}/modal-wrapper.js +32 -25
- package/dist/form/modal-wrapper.js.map +1 -0
- package/dist/{src/form → form}/validator.js +47 -43
- package/dist/form/validator.js.map +1 -0
- package/dist/{src/hooks → hooks}/index.js +1 -1
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +928 -0
- package/dist/{src/index.js → index.js} +10 -3
- package/dist/{src/index.js.map → index.js.map} +1 -1
- package/dist/redux/create.hoc-lazy.js +71 -0
- package/dist/redux/create.hoc-lazy.js.map +1 -0
- package/dist/{src/redux → redux}/dino.js +2 -2
- package/dist/redux/dino.js.map +1 -0
- package/dist/redux/types.js.map +1 -0
- package/dist/redux/ui.error-page.js +89 -0
- package/dist/redux/ui.error-page.js.map +1 -0
- package/dist/redux/vector-404.webp.js.map +1 -0
- package/dist/{src/table → table}/context.js +5 -2
- package/dist/table/context.js.map +1 -0
- package/dist/table/create.action-row.js +144 -0
- package/dist/table/create.action-row.js.map +1 -0
- package/dist/table/create.table.js +246 -0
- package/dist/table/create.table.js.map +1 -0
- package/dist/{src/table → table}/custom.filter-operators.js +2 -2
- package/dist/table/custom.filter-operators.js.map +1 -0
- package/dist/table/dino.js +136 -0
- package/dist/table/dino.js.map +1 -0
- package/dist/{src/table → table}/helpers.js +31 -32
- package/dist/table/helpers.js.map +1 -0
- package/dist/table/model-filter.js.map +1 -0
- package/dist/table/toolbar-pannel.js +143 -0
- package/dist/table/toolbar-pannel.js.map +1 -0
- package/dist/table/ui.buttons.js +67 -0
- package/dist/table/ui.buttons.js.map +1 -0
- package/dist/table/ui.units.js +248 -0
- package/dist/table/ui.units.js.map +1 -0
- package/dist/types/api-context/alert-global.d.ts +29 -0
- package/dist/types/api-context/drawer-global.d.ts +32 -0
- package/dist/types/api-context/global-modal.d.ts +37 -0
- package/dist/types/api-context/index.d.ts +9 -0
- package/dist/types/api-context/popover-global.d.ts +37 -0
- package/dist/types/api-context/popover.d.ts +32 -0
- package/dist/types/api-context/ui.units.d.ts +2 -0
- package/dist/types/components/breadcrumbs.d.ts +13 -0
- package/dist/types/components/copy-to-clipboard.d.ts +26 -0
- package/dist/types/components/help-tooltip.d.ts +15 -0
- package/dist/types/components/image-with-fallback.d.ts +13 -0
- package/dist/types/components/index.d.ts +11 -0
- package/dist/types/components/input-debounce-timer.d.ts +9 -0
- package/dist/types/components/loading-buttons.d.ts +6 -0
- package/dist/types/components/text-editor.d.ts +26 -0
- package/dist/types/components/text-editor.preview.d.ts +5 -0
- package/dist/types/form/create.autocomplete.chips.d.ts +16 -0
- package/dist/types/form/create.date-expired.d.ts +19 -0
- package/dist/types/form/create.date-picker.d.ts +19 -0
- package/dist/types/form/create.form-base.d.ts +30 -0
- package/dist/types/form/create.form-comfirm.d.ts +20 -0
- package/dist/types/form/create.form-grid-layout.d.ts +44 -0
- package/dist/types/form/create.form-grid-layout.units.d.ts +8 -0
- package/dist/types/form/create.input.d.ts +29 -0
- package/dist/types/form/create.input.file.d.ts +16 -0
- package/dist/types/form/create.select-simple.d.ts +24 -0
- package/dist/types/form/create.select-with-api.d.ts +29 -0
- package/dist/types/form/create.text-editor.d.ts +42 -0
- package/dist/types/form/dino-form.d.ts +26 -0
- package/dist/types/form/helper.d.ts +14 -0
- package/dist/types/form/index.d.ts +7 -0
- package/dist/types/form/modal-wrapper.d.ts +14 -0
- package/dist/types/form/types.d.ts +15 -0
- package/dist/types/form/validator.d.ts +64 -0
- package/dist/types/hooks/index.d.ts +4 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/lab/create.autocomplete.simple.d.ts +19 -0
- package/dist/types/lab/create.dino-store.d.ts +1 -0
- package/dist/types/lab/create.multi-select-dropdown.d.ts +23 -0
- package/dist/types/lab/create.select-mul-with-api/index.d.ts +26 -0
- package/dist/types/lab/create.select-mul-with-api/table-custom.d.ts +43 -0
- package/dist/types/lab/create.select-mul-with-api/types.d.ts +21 -0
- package/dist/types/lab/create.select-mul-with-api/ui.units.d.ts +29 -0
- package/dist/types/lab/filter-bar/base.d.ts +34 -0
- package/dist/types/lab/filter-bar/create.filter-bar.d.ts +92 -0
- package/dist/types/lab/filter-bar/create.filter-menu.d.ts +66 -0
- package/dist/types/lab/filter-bar/create.filter-panel.d.ts +117 -0
- package/dist/types/lab/filter-bar/create.filtered.d.ts +59 -0
- package/dist/types/lab/filter-bar/create.sort-menu.d.ts +7 -0
- package/dist/types/lab/filter-bar/demo.d.ts +3 -0
- package/dist/types/lab/filter-bar/index.d.ts +4 -0
- package/dist/types/lab/filter-bar/types.d.ts +81 -0
- package/dist/types/lab/filter-bar/ui.units.d.ts +13 -0
- package/dist/types/lab/grafana-dashboard/configs.d.ts +4 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/absolute-time-rage.d.ts +14 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/helpers.d.ts +36 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/index.d.ts +24 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/menu-wrap.d.ts +19 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/quick-ranges.d.ts +20 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/types.d.ts +8 -0
- package/dist/types/lab/grafana-dashboard/date-time-range/units.d.ts +2 -0
- package/dist/types/lab/grafana-dashboard/helper.d.ts +7 -0
- package/dist/types/lab/grafana-dashboard/hooks.d.ts +10 -0
- package/dist/types/lab/grafana-dashboard/icons.d.ts +5 -0
- package/dist/types/lab/grafana-dashboard/index.d.ts +12 -0
- package/dist/types/lab/grafana-dashboard/top-bar.d.ts +19 -0
- package/dist/types/lab/grafana-dashboard/top-bar.types.d.ts +4 -0
- package/dist/types/lab/grafana-dashboard/types.d.ts +8 -0
- package/dist/types/lab/media-player.core1.d.ts +14 -0
- package/dist/types/lab/media-player.muted.d.ts +10 -0
- package/dist/types/lab/media-player.units.d.ts +36 -0
- package/dist/types/lab/table-grid/create.table-grid.d.ts +4 -0
- package/dist/types/lab/table-grid/demo.d.ts +3 -0
- package/dist/types/lab/table-grid/dino.d.ts +6 -0
- package/dist/types/lab/table-grid/helpers.d.ts +11 -0
- package/dist/types/lab/table-grid/index.d.ts +2 -0
- package/dist/types/lab/table-grid/item-actions.d.ts +93 -0
- package/dist/types/lab/table-grid/toolbar-pannel.d.ts +27 -0
- package/dist/types/lab/table-grid/types.d.ts +56 -0
- package/dist/types/redux/create.hoc-lazy.d.ts +19 -0
- package/dist/types/redux/dino.d.ts +6 -0
- package/dist/types/redux/index.d.ts +4 -0
- package/dist/types/redux/types.d.ts +22 -0
- package/dist/types/redux/ui.error-page.d.ts +3 -0
- package/dist/types/redux/ui.units.d.ts +9 -0
- package/dist/types/table/context.d.ts +8 -0
- package/dist/types/table/create.action-row.d.ts +16 -0
- package/dist/types/table/create.table.d.ts +33 -0
- package/dist/types/table/custom.filter-operators.d.ts +2 -0
- package/dist/types/table/dino.d.ts +41 -0
- package/dist/types/table/helpers.d.ts +23 -0
- package/dist/types/table/index.d.ts +7 -0
- package/dist/types/table/model-filter.d.ts +38 -0
- package/dist/types/table/toolbar-pannel.d.ts +18 -0
- package/dist/types/table/types.d.ts +40 -0
- package/dist/types/table/ui.buttons.d.ts +16 -0
- package/dist/types/table/ui.units.d.ts +62 -0
- package/dist/types/utils/dayjs-config.d.ts +2 -0
- package/dist/types/utils/helpers.d.ts +35 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/json-object.d.ts +9 -0
- package/dist/types/utils/mfe-events.d.ts +12 -0
- package/dist/types/utils/query-param.d.ts +25 -0
- package/dist/utils/dayjs-config.js.map +1 -0
- package/dist/{src/utils → utils}/helpers.js +11 -9
- package/dist/utils/helpers.js.map +1 -0
- package/dist/{src/utils → utils}/json-object.js +13 -13
- package/dist/utils/json-object.js.map +1 -0
- package/dist/{src/utils → utils}/query-param.js +17 -17
- package/dist/utils/query-param.js.map +1 -0
- package/package.json +18 -4
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js +0 -46
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/src/api-context/alert-global.js.map +0 -1
- package/dist/src/api-context/drawer-global.js.map +0 -1
- package/dist/src/api-context/global-modal.js.map +0 -1
- package/dist/src/api-context/popover-global.js.map +0 -1
- package/dist/src/api-context/popover.js +0 -86
- package/dist/src/api-context/popover.js.map +0 -1
- package/dist/src/api-context/ui.units.js.map +0 -1
- package/dist/src/components/copy-to-clipboard.js.map +0 -1
- package/dist/src/components/custom.breadcrumbs.js +0 -61
- package/dist/src/components/custom.breadcrumbs.js.map +0 -1
- package/dist/src/components/help-tooltip.js +0 -91
- package/dist/src/components/help-tooltip.js.map +0 -1
- package/dist/src/components/image-with-fallback.js +0 -48
- package/dist/src/components/image-with-fallback.js.map +0 -1
- package/dist/src/components/text-editor.js.map +0 -1
- package/dist/src/form/create.autocomplete.chips.js +0 -218
- package/dist/src/form/create.autocomplete.chips.js.map +0 -1
- package/dist/src/form/create.date-expired.js.map +0 -1
- package/dist/src/form/create.date-picker.js.map +0 -1
- package/dist/src/form/create.form-base.js.map +0 -1
- package/dist/src/form/create.form-comfirm.js +0 -119
- package/dist/src/form/create.form-comfirm.js.map +0 -1
- package/dist/src/form/create.form-grid-layout.js +0 -177
- package/dist/src/form/create.form-grid-layout.js.map +0 -1
- package/dist/src/form/create.form-grid-layout.units.js.map +0 -1
- package/dist/src/form/create.input-base.js +0 -260
- package/dist/src/form/create.input-base.js.map +0 -1
- package/dist/src/form/create.input.file.js +0 -74
- package/dist/src/form/create.input.file.js.map +0 -1
- package/dist/src/form/create.select-simple.js +0 -104
- package/dist/src/form/create.select-simple.js.map +0 -1
- package/dist/src/form/create.select-with-api.js +0 -271
- package/dist/src/form/create.select-with-api.js.map +0 -1
- package/dist/src/form/create.text-editor.js +0 -156
- package/dist/src/form/create.text-editor.js.map +0 -1
- package/dist/src/form/dino-form.js.map +0 -1
- package/dist/src/form/helper.js.map +0 -1
- package/dist/src/form/modal-wrapper.js.map +0 -1
- package/dist/src/form/validator.js.map +0 -1
- package/dist/src/hooks/index.js.map +0 -1
- package/dist/src/redux/create.hoc-lazy.js +0 -67
- package/dist/src/redux/create.hoc-lazy.js.map +0 -1
- package/dist/src/redux/dino.js.map +0 -1
- package/dist/src/redux/types.js.map +0 -1
- package/dist/src/redux/ui.error-page.js +0 -80
- package/dist/src/redux/ui.error-page.js.map +0 -1
- package/dist/src/redux/vector-404.webp.js.map +0 -1
- package/dist/src/table/context.js.map +0 -1
- package/dist/src/table/create.action-row.js +0 -135
- package/dist/src/table/create.action-row.js.map +0 -1
- package/dist/src/table/create.status-cell.js +0 -49
- package/dist/src/table/create.status-cell.js.map +0 -1
- package/dist/src/table/create.table.js +0 -233
- package/dist/src/table/create.table.js.map +0 -1
- package/dist/src/table/custom.filter-operators.js.map +0 -1
- package/dist/src/table/dino.js +0 -129
- package/dist/src/table/dino.js.map +0 -1
- package/dist/src/table/helpers.js.map +0 -1
- package/dist/src/table/model-filter.js.map +0 -1
- package/dist/src/table/toolbar-pannel.js +0 -134
- package/dist/src/table/toolbar-pannel.js.map +0 -1
- package/dist/src/table/ui.buttons.js +0 -60
- package/dist/src/table/ui.buttons.js.map +0 -1
- package/dist/src/table/ui.units.js +0 -201
- package/dist/src/table/ui.units.js.map +0 -1
- package/dist/src/utils/dayjs-config.js.map +0 -1
- package/dist/src/utils/helpers.js.map +0 -1
- package/dist/src/utils/json-object.js.map +0 -1
- package/dist/src/utils/query-param.js.map +0 -1
- package/rollup.config.js +0 -39
- package/src/@types/global.d.ts +0 -5
- package/src/api-context/alert-global.tsx +0 -174
- package/src/api-context/drawer-global.tsx +0 -116
- package/src/api-context/global-modal.tsx +0 -109
- package/src/api-context/index.ts +0 -13
- package/src/api-context/popover-global.tsx +0 -107
- package/src/api-context/popover.tsx +0 -89
- package/src/api-context/ui.units.tsx +0 -10
- package/src/components/copy-to-clipboard.tsx +0 -86
- package/src/components/custom.breadcrumbs.tsx +0 -67
- package/src/components/help-tooltip.tsx +0 -75
- package/src/components/image-with-fallback.tsx +0 -51
- package/src/components/index.tsx +0 -1
- package/src/components/input-debounce-timer.tsx +0 -138
- package/src/components/loading-buttons.tsx +0 -35
- package/src/components/text-editor.preview.tsx +0 -30
- package/src/components/text-editor.tsx +0 -125
- package/src/form/README.md +0 -55
- package/src/form/create.autocomplete.chips.tsx +0 -199
- package/src/form/create.date-expired.tsx +0 -195
- package/src/form/create.date-picker.tsx +0 -122
- package/src/form/create.form-base.tsx +0 -102
- package/src/form/create.form-comfirm.tsx +0 -83
- package/src/form/create.form-grid-layout.tsx +0 -170
- package/src/form/create.form-grid-layout.units.tsx +0 -37
- package/src/form/create.input-base.tsx +0 -222
- package/src/form/create.input.file.tsx +0 -76
- package/src/form/create.select-simple.tsx +0 -101
- package/src/form/create.select-with-api.tsx +0 -213
- package/src/form/create.text-editor.tsx +0 -161
- package/src/form/dino-form.tsx +0 -40
- package/src/form/helper.ts +0 -132
- package/src/form/index.ts +0 -12
- package/src/form/modal-wrapper.tsx +0 -75
- package/src/form/types.ts +0 -16
- package/src/form/validator.ts +0 -202
- package/src/hooks/index.ts +0 -44
- package/src/index.ts +0 -7
- package/src/lab/create.autocomplete.simple.tsx +0 -57
- package/src/lab/create.dino-store.ts +0 -59
- package/src/lab/create.multi-select-dropdown.tsx +0 -189
- package/src/lab/create.select-mul-with-api/index.tsx +0 -271
- package/src/lab/create.select-mul-with-api/table-custom.tsx +0 -194
- package/src/lab/create.select-mul-with-api/types.ts +0 -26
- package/src/lab/create.select-mul-with-api/ui.units.tsx +0 -163
- package/src/lab/filter-bar/base.tsx +0 -162
- package/src/lab/filter-bar/create.filter-bar.tsx +0 -190
- package/src/lab/filter-bar/create.filter-menu.tsx +0 -156
- package/src/lab/filter-bar/create.filter-panel.tsx +0 -95
- package/src/lab/filter-bar/create.filtered.tsx +0 -41
- package/src/lab/filter-bar/create.sort-menu.tsx +0 -43
- package/src/lab/filter-bar/demo.tsx +0 -50
- package/src/lab/filter-bar/index.ts +0 -6
- package/src/lab/filter-bar/types.ts +0 -105
- package/src/lab/filter-bar/ui.units.tsx +0 -70
- package/src/lab/grafana-dashboard/configs.ts +0 -43
- package/src/lab/grafana-dashboard/date-time-range/absolute-time-rage.tsx +0 -137
- package/src/lab/grafana-dashboard/date-time-range/helpers.ts +0 -126
- package/src/lab/grafana-dashboard/date-time-range/index.tsx +0 -62
- package/src/lab/grafana-dashboard/date-time-range/menu-wrap.tsx +0 -101
- package/src/lab/grafana-dashboard/date-time-range/quick-ranges.tsx +0 -161
- package/src/lab/grafana-dashboard/date-time-range/types.ts +0 -9
- package/src/lab/grafana-dashboard/date-time-range/units.tsx +0 -18
- package/src/lab/grafana-dashboard/helper.ts +0 -25
- package/src/lab/grafana-dashboard/hooks.tsx +0 -79
- package/src/lab/grafana-dashboard/icons.tsx +0 -67
- package/src/lab/grafana-dashboard/index.tsx +0 -120
- package/src/lab/grafana-dashboard/top-bar.tsx +0 -62
- package/src/lab/grafana-dashboard/top-bar.types.ts +0 -5
- package/src/lab/grafana-dashboard/types.ts +0 -8
- package/src/lab/media-player.core1.tsx +0 -273
- package/src/lab/media-player.muted.tsx +0 -62
- package/src/lab/media-player.units.ts +0 -80
- package/src/lab/table-grid/create.table-grid.tsx +0 -183
- package/src/lab/table-grid/demo.tsx +0 -53
- package/src/lab/table-grid/dino.tsx +0 -8
- package/src/lab/table-grid/helpers.tsx +0 -11
- package/src/lab/table-grid/index.ts +0 -3
- package/src/lab/table-grid/item-actions.tsx +0 -138
- package/src/lab/table-grid/toolbar-pannel.tsx +0 -98
- package/src/lab/table-grid/types.ts +0 -68
- package/src/redux/create.hoc-lazy.tsx +0 -80
- package/src/redux/dino.ts +0 -9
- package/src/redux/index.ts +0 -6
- package/src/redux/types.ts +0 -27
- package/src/redux/ui.error-page.tsx +0 -62
- package/src/redux/ui.units.tsx +0 -41
- package/src/redux/vector-404.webp +0 -0
- package/src/table/context.tsx +0 -16
- package/src/table/create.action-row.tsx +0 -91
- package/src/table/create.status-cell.tsx +0 -51
- package/src/table/create.table.tsx +0 -239
- package/src/table/custom.filter-operators.ts +0 -94
- package/src/table/dino.tsx +0 -120
- package/src/table/helpers.ts +0 -94
- package/src/table/index.ts +0 -13
- package/src/table/model-filter.ts +0 -43
- package/src/table/toolbar-pannel.tsx +0 -106
- package/src/table/types.ts +0 -50
- package/src/table/ui.buttons.tsx +0 -54
- package/src/table/ui.units.tsx +0 -189
- package/src/utils/dayjs-config.ts +0 -13
- package/src/utils/helpers.ts +0 -171
- package/src/utils/index.ts +0 -7
- package/src/utils/json-object.ts +0 -29
- package/src/utils/mfe-events.tsx +0 -34
- package/src/utils/query-param.ts +0 -129
- package/tsconfig.json +0 -20
- /package/dist/{src/redux → redux}/types.js +0 -0
- /package/dist/{src/redux → redux}/vector-404.webp.js +0 -0
- /package/dist/{src/table → table}/model-filter.js +0 -0
- /package/dist/{src/utils → utils}/dayjs-config.js +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper } from '
|
|
2
|
-
import
|
|
1
|
+
import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, objectSpread2 as _objectSpread2, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { Component } from 'react';
|
|
3
4
|
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
4
5
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
5
6
|
import { styled, Box, TextField, Typography, Switch } from '@mui/material';
|
|
7
|
+
import { getErrorMessage } from './helper.js';
|
|
6
8
|
import { mergeObjects as _mergeObjects, tryParseIntRequired } from '../utils/helpers.js';
|
|
7
9
|
import '../utils/query-param.js';
|
|
8
10
|
import '../utils/dayjs-config.js';
|
|
9
|
-
import { getErrorMessage } from './helper.js';
|
|
10
11
|
import dayjs from 'dayjs';
|
|
11
12
|
|
|
12
13
|
var defaultFormatString = 'MM-DD-YYYY';
|
|
@@ -24,17 +25,16 @@ function CreateDateExpired(params) {
|
|
|
24
25
|
var _this;
|
|
25
26
|
_classCallCheck(this, DateExpired);
|
|
26
27
|
_this = _callSuper(this, DateExpired, [props]);
|
|
27
|
-
_this
|
|
28
|
-
_this
|
|
28
|
+
_defineProperty(_this, "defaultNumberOfDays", 30);
|
|
29
|
+
_defineProperty(_this, "getNumberOfDays", function () {
|
|
29
30
|
if (_this.slots.type === 'number') {
|
|
30
31
|
return tryParseIntRequired(_this.defaulValue, _this.defaultNumberOfDays);
|
|
31
32
|
} else {
|
|
32
33
|
return _this.getDaysUntilDate(_this.defaulValue, _this.defaultNumberOfDays);
|
|
33
34
|
}
|
|
34
|
-
};
|
|
35
|
+
});
|
|
35
36
|
//#endregion
|
|
36
|
-
_this
|
|
37
|
-
var _a;
|
|
37
|
+
_defineProperty(_this, "mapTextFieldProps", function () {
|
|
38
38
|
var _this$props = _this.props,
|
|
39
39
|
messageErrors = _this$props.messageErrors,
|
|
40
40
|
name = _this$props.name,
|
|
@@ -43,9 +43,12 @@ function CreateDateExpired(params) {
|
|
|
43
43
|
var obj = {
|
|
44
44
|
fullWidth: true,
|
|
45
45
|
className: dateExpiredClasses.input,
|
|
46
|
-
label:
|
|
47
|
-
className: dateExpiredClasses.label
|
|
48
|
-
|
|
46
|
+
label: jsxs("span", {
|
|
47
|
+
className: dateExpiredClasses.label,
|
|
48
|
+
children: ["Expiry date", _this.state.switchChecked && jsx("b", {
|
|
49
|
+
children: _this.getOffsetDate(_this.state.numberOfDays)
|
|
50
|
+
})]
|
|
51
|
+
}),
|
|
49
52
|
variant: 'outlined',
|
|
50
53
|
type: 'number',
|
|
51
54
|
disabled: disabled,
|
|
@@ -58,23 +61,24 @@ function CreateDateExpired(params) {
|
|
|
58
61
|
};
|
|
59
62
|
var temp = getErrorMessage(messageErrors, name);
|
|
60
63
|
if (temp.error) {
|
|
64
|
+
var _temp$message;
|
|
61
65
|
obj.error = Boolean(temp.error);
|
|
62
|
-
obj.helperText = (
|
|
66
|
+
obj.helperText = (_temp$message = temp.message) !== null && _temp$message !== void 0 ? _temp$message : '';
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
return _mergeObjects({}, obj, _this.slots.textFieldProps);
|
|
66
|
-
};
|
|
67
|
-
_this
|
|
70
|
+
});
|
|
71
|
+
_defineProperty(_this, "handleChange", function (e) {
|
|
68
72
|
var numberOfDays = e.target.value != '' ? parseInt(e.target.value) : 0;
|
|
69
73
|
_this.setState({
|
|
70
74
|
numberOfDays: numberOfDays
|
|
71
75
|
});
|
|
72
|
-
};
|
|
73
|
-
_this
|
|
76
|
+
});
|
|
77
|
+
_defineProperty(_this, "getOffsetDate", function (num) {
|
|
74
78
|
var formatString = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFormatString;
|
|
75
79
|
return dayjs().add(num, 'day').format(formatString);
|
|
76
|
-
};
|
|
77
|
-
_this
|
|
80
|
+
});
|
|
81
|
+
_defineProperty(_this, "getDaysUntilDate", function (value) {
|
|
78
82
|
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
79
83
|
try {
|
|
80
84
|
if (!value) return defaultValue;
|
|
@@ -82,10 +86,10 @@ function CreateDateExpired(params) {
|
|
|
82
86
|
var today = dayjs();
|
|
83
87
|
var diff = target.diff(today, 'day', true);
|
|
84
88
|
return Math.round(diff);
|
|
85
|
-
} catch (
|
|
89
|
+
} catch (_unused) {
|
|
86
90
|
return defaultValue;
|
|
87
91
|
}
|
|
88
|
-
};
|
|
92
|
+
});
|
|
89
93
|
_this.state = {
|
|
90
94
|
numberOfDays: _this.getNumberOfDays(),
|
|
91
95
|
switchChecked: _this.slots.switchChecked
|
|
@@ -97,25 +101,25 @@ function CreateDateExpired(params) {
|
|
|
97
101
|
return _createClass(DateExpired, [{
|
|
98
102
|
key: "slots",
|
|
99
103
|
get: function get() {
|
|
100
|
-
var
|
|
101
|
-
var _ref = (
|
|
104
|
+
var _this$props$slots, _ref2;
|
|
105
|
+
var _ref = (_this$props$slots = this.props.slots) !== null && _this$props$slots !== void 0 ? _this$props$slots : {},
|
|
102
106
|
switchChecked = _ref.switchChecked,
|
|
103
107
|
switchCheckedGetter = _ref.switchCheckedGetter;
|
|
104
108
|
var obj = _mergeObjects(params, this.props.slots);
|
|
105
|
-
var check = (
|
|
109
|
+
var check = (_ref2 = this.defaulValue ? !!this.defaulValue : switchChecked) !== null && _ref2 !== void 0 ? _ref2 : true;
|
|
106
110
|
if (switchCheckedGetter) check = switchCheckedGetter(this.defaulValue, this.props.data);
|
|
107
|
-
return
|
|
111
|
+
return _objectSpread2(_objectSpread2({}, obj), {}, {
|
|
108
112
|
switchChecked: check
|
|
109
113
|
});
|
|
110
114
|
}
|
|
111
115
|
}, {
|
|
112
116
|
key: "defaulValue",
|
|
113
117
|
get: function get() {
|
|
114
|
-
var
|
|
118
|
+
var _this$props$defaultVa, _data$name;
|
|
115
119
|
var _this$props2 = this.props,
|
|
116
120
|
data = _this$props2.data,
|
|
117
121
|
name = _this$props2.name;
|
|
118
|
-
return (
|
|
122
|
+
return (_this$props$defaultVa = this.props.defaultValue) !== null && _this$props$defaultVa !== void 0 ? _this$props$defaultVa : !!data && !!name ? (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.toString() : undefined;
|
|
119
123
|
}
|
|
120
124
|
}, {
|
|
121
125
|
key: "defaultValueInput",
|
|
@@ -126,43 +130,49 @@ function CreateDateExpired(params) {
|
|
|
126
130
|
return this.getOffsetDate(this.state.numberOfDays, 'YYYY-MM-DDTHH:mm:ss.sssZ');
|
|
127
131
|
}
|
|
128
132
|
}
|
|
129
|
-
//#region Render
|
|
130
133
|
}, {
|
|
131
134
|
key: "render",
|
|
132
|
-
value:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
135
|
+
value:
|
|
136
|
+
//#region Render
|
|
137
|
+
function render() {
|
|
138
|
+
var _this$props$name,
|
|
139
|
+
_this2 = this;
|
|
140
|
+
return jsx(LocalizationProvider, {
|
|
141
|
+
dateAdapter: AdapterDayjs,
|
|
142
|
+
children: jsxs(Wrap, {
|
|
143
|
+
className: dateExpiredClasses.root,
|
|
144
|
+
children: [jsx("input", {
|
|
145
|
+
type: 'text',
|
|
146
|
+
hidden: true,
|
|
147
|
+
name: (_this$props$name = this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString(),
|
|
148
|
+
defaultValue: this.defaultValueInput
|
|
149
|
+
}, this.defaultValueInput), jsx(TextField, _objectSpread2({}, this.mapTextFieldProps())), jsxs("div", {
|
|
150
|
+
className: dateExpiredClasses.control,
|
|
151
|
+
children: [jsx(Typography, _objectSpread2(_objectSpread2({
|
|
152
|
+
variant: 'caption',
|
|
153
|
+
className: dateExpiredClasses.labelSwitch
|
|
154
|
+
}, {
|
|
155
|
+
component: 'label',
|
|
156
|
+
htmlFor: this.id
|
|
157
|
+
}), {}, {
|
|
158
|
+
sx: {
|
|
159
|
+
color: this.state.switchChecked ? 'success.main' : '#767676'
|
|
160
|
+
},
|
|
161
|
+
children: this.state.switchChecked ? 'Use Expiration Date' : 'No Expiration'
|
|
162
|
+
})), jsx(Switch, {
|
|
163
|
+
id: this.id,
|
|
164
|
+
size: 'small',
|
|
165
|
+
color: 'success',
|
|
166
|
+
checked: this.state.switchChecked,
|
|
167
|
+
onChange: function onChange(_, checked) {
|
|
168
|
+
return _this2.setState({
|
|
169
|
+
switchChecked: checked
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
})]
|
|
173
|
+
})]
|
|
174
|
+
})
|
|
175
|
+
});
|
|
166
176
|
}
|
|
167
177
|
}]);
|
|
168
178
|
}(Component);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.date-expired.js","sources":["../../src/form/create.date-expired.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { LocalizationProvider } from '@mui/x-date-pickers'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { Switch, Typography, TextField, styled, Box, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects, tryParseIntRequired } from '../utils'\r\n\r\nconst defaultFormatString = 'MM-DD-YYYY'\r\n\r\nconst dateExpiredClasses = {\r\n root: 'DateExpired-root',\r\n control: 'DateExpired-control',\r\n label: 'DateExpired-label',\r\n labelSwitch: 'DateExpired-labelSwitch',\r\n input: 'DateExpired-input',\r\n switch: 'DateExpired-switch'\r\n}\r\n\r\nexport interface IDateExpiredSlots<T> {\r\n /** @default string */\r\n type?: 'number' | 'string'\r\n textFieldProps?: Partial<TextFieldProps>\r\n switchChecked?: boolean\r\n switchCheckedGetter?: (value: any, model?: Partial<T>) => boolean\r\n}\r\n\r\nexport interface IDateExpiredProps<T> extends IFormInputBase<T> {\r\n slots?: IDateExpiredSlots<T>\r\n}\r\n\r\nexport interface IDateExpiredState {\r\n numberOfDays: number\r\n switchChecked: boolean\r\n}\r\n\r\nfunction CreateDateExpired<T>(params?: IDateExpiredSlots<T>): React.ComponentType<IDateExpiredProps<T>> {\r\n class DateExpired extends Component<IDateExpiredProps<T>, IDateExpiredState> {\r\n defaultNumberOfDays: number = 30\r\n private id\r\n constructor(props: IDateExpiredProps<T>) {\r\n super(props)\r\n this.state = {\r\n numberOfDays: this.getNumberOfDays(),\r\n switchChecked: this.slots.switchChecked\r\n }\r\n this.id = new Date().getTime().toString()\r\n }\r\n\r\n get slots(): IDateExpiredSlots<T> & { switchChecked: boolean } {\r\n const { switchChecked, switchCheckedGetter } = this.props.slots ?? {}\r\n const obj = mergeObjects(params, this.props.slots)\r\n let check = (this.defaulValue ? !!this.defaulValue : switchChecked) ?? true\r\n if (switchCheckedGetter) check = switchCheckedGetter(this.defaulValue, this.props.data)\r\n return { ...obj, switchChecked: check }\r\n }\r\n\r\n get defaulValue(): string {\r\n const { data, name } = this.props\r\n return this.props.defaultValue ?? (!!data && !!name ? data[name]?.toString() : undefined)\r\n }\r\n\r\n get defaultValueInput(): string | number {\r\n if (this.slots.type === 'number') {\r\n return this.state.numberOfDays\r\n } else {\r\n return this.getOffsetDate(this.state.numberOfDays, 'YYYY-MM-DDTHH:mm:ss.sssZ')\r\n }\r\n }\r\n\r\n getNumberOfDays = (): number => {\r\n if (this.slots.type === 'number') {\r\n return tryParseIntRequired(this.defaulValue, this.defaultNumberOfDays)\r\n } else {\r\n return this.getDaysUntilDate(this.defaulValue, this.defaultNumberOfDays)\r\n }\r\n }\r\n\r\n //#region Render\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <Wrap className={dateExpiredClasses.root}>\r\n <input key={this.defaultValueInput} type='text' hidden name={this.props.name?.toString()} defaultValue={this.defaultValueInput} />\r\n <TextField {...this.mapTextFieldProps()} />\r\n <div className={dateExpiredClasses.control}>\r\n <Typography\r\n variant='caption'\r\n className={dateExpiredClasses.labelSwitch}\r\n {...{ component: 'label', htmlFor: this.id }}\r\n sx={{ color: this.state.switchChecked ? 'success.main' : '#767676' }}\r\n >\r\n {this.state.switchChecked ? 'Use Expiration Date' : 'No Expiration'}\r\n </Typography>\r\n <Switch\r\n id={this.id}\r\n size='small'\r\n color='success'\r\n checked={this.state.switchChecked}\r\n onChange={(_, checked) => this.setState({ switchChecked: checked })}\r\n />\r\n </div>\r\n </Wrap>\r\n </LocalizationProvider>\r\n )\r\n }\r\n //#endregion\r\n\r\n mapTextFieldProps = (): TextFieldProps => {\r\n const { messageErrors, name, onBlur } = this.props\r\n const disabled = this.props.disabled || !this.state.switchChecked\r\n const obj: TextFieldProps = {\r\n fullWidth: true,\r\n className: dateExpiredClasses.input,\r\n label: (\r\n <span className={dateExpiredClasses.label}>\r\n Expiry date\r\n {this.state.switchChecked && <b>{this.getOffsetDate(this.state.numberOfDays)}</b>}\r\n </span>\r\n ),\r\n variant: 'outlined',\r\n type: 'number',\r\n disabled: disabled,\r\n value: this.state.switchChecked ? this.state.numberOfDays : 0,\r\n onChange: this.handleChange\r\n }\r\n if (!!name) {\r\n obj.onBlur = () => onBlur && onBlur(name)\r\n const temp = getErrorMessage(messageErrors, name)\r\n if (temp.error) {\r\n obj.error = Boolean(temp.error)\r\n obj.helperText = temp.message ?? ''\r\n }\r\n }\r\n return mergeObjects<TextFieldProps>({}, obj, this.slots.textFieldProps)\r\n }\r\n\r\n handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\r\n const numberOfDays: number = e.target.value != '' ? parseInt(e.target.value) : 0\r\n this.setState({ numberOfDays })\r\n }\r\n\r\n getOffsetDate = (num: number, formatString = defaultFormatString): string => {\r\n return dayjsCustom().add(num, 'day').format(formatString)\r\n }\r\n\r\n getDaysUntilDate = (value?: string, defaultValue = 0): number => {\r\n try {\r\n if (!value) return defaultValue\r\n const target = dayjsCustom(value)\r\n const today = dayjsCustom()\r\n const diff = target.diff(today, 'day', true)\r\n return Math.round(diff)\r\n } catch {\r\n return defaultValue\r\n }\r\n }\r\n }\r\n return DateExpired\r\n}\r\nexport default CreateDateExpired\r\n\r\nconst Wrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '10px',\r\n position: 'relative',\r\n [`.${dateExpiredClasses.switch}`]: {\r\n margin: 0,\r\n flex: '0 0 auto'\r\n },\r\n [`.${dateExpiredClasses.label}`]: {\r\n b: {\r\n color: '#1976d2',\r\n marginLeft: '8px'\r\n }\r\n },\r\n [`.${dateExpiredClasses.labelSwitch}`]: {\r\n fontWeight: 600,\r\n cursor: 'pointer'\r\n },\r\n [`.${dateExpiredClasses.control}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n height: '100%',\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n [`.${dateExpiredClasses.input}`]: {\r\n '.MuiInputBase-input': {\r\n paddingRight: '160px'\r\n }\r\n }\r\n})\r\n"],"names":["defaultFormatString","dateExpiredClasses","root","control","label","labelSwitch","input","CreateDateExpired","params","DateExpired","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","slots","type","tryParseIntRequired","defaulValue","defaultNumberOfDays","getDaysUntilDate","_this$props","messageErrors","name","onBlur","disabled","state","switchChecked","obj","fullWidth","className","_jsxs","children","_jsx","getOffsetDate","numberOfDays","variant","value","onChange","handleChange","temp","getErrorMessage","error","_temp$message","Boolean","helperText","message","mergeObjects","textFieldProps","e","target","parseInt","setState","num","formatString","arguments","length","undefined","dayjsCustom","add","format","defaultValue","today","diff","Math","round","_unused","getNumberOfDays","id","Date","getTime","toString","_inherits","_createClass","key","get","_this$props$slots","_ref2","_ref","switchCheckedGetter","check","data","_objectSpread","_this$props$defaultVa","_data$name","_this$props2","render","_this$props$name","_this2","LocalizationProvider","dateAdapter","AdapterDayjs","Wrap","hidden","defaultValueInput","TextField","mapTextFieldProps","Typography","component","htmlFor","sx","color","Switch","size","checked","_","Component","styled","Box","display","alignItems","gap","position","concat","margin","flex","b","marginLeft","fontWeight","cursor","top","right","height","paddingRight"],"mappings":";;;;;;;;;;;;AAQA,IAAMA,mBAAmB,GAAG,YAAY;AAExC,IAAMC,kBAAkB,GAAG;AACzBC,EAAAA,IAAI,EAAE,kBAAkB;AACxBC,EAAAA,OAAO,EAAE,qBAAqB;AAC9BC,EAAAA,KAAK,EAAE,mBAAmB;AAC1BC,EAAAA,WAAW,EAAE,yBAAyB;AACtCC,EAAAA,KAAK,EAAE,mBAAmB;EAC1B,QAAQ,EAAA;CACT;AAmBD,SAASC,iBAAiBA,CAAIC,MAA6B,EAAA;EAAA,IACnDC,WAAY,0BAAAC,UAAA,EAAA;IAGhB,SAAAD,WAAAA,CAAYE,KAA2B,EAAA;AAAA,MAAA,IAAAC,KAAA;AAAAC,MAAAA,eAAA,OAAAJ,WAAA,CAAA;AACrCG,MAAAA,KAAA,GAAAE,UAAA,CAAAL,IAAAA,EAAAA,WAAA,GAAME,KAAK,CAAA,CAAA;MAACI,eAAA,CAAAH,KAAA,EAAA,qBAAA,EAHgB,EAAE,CAAA;MAAAG,eAAA,CAAAH,KAAA,EAAA,iBAAA,EAgCd,YAAa;AAC7B,QAAA,IAAIA,KAAA,CAAKI,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;UAChC,OAAOC,mBAAmB,CAACN,KAAA,CAAKO,WAAW,EAAEP,KAAA,CAAKQ,mBAAmB,CAAC;AACvE,SAAA,MAAM;UACL,OAAOR,KAAA,CAAKS,gBAAgB,CAACT,KAAA,CAAKO,WAAW,EAAEP,KAAA,CAAKQ,mBAAmB,CAAC;AACzE;OACF,CAAA;AA8BD;MAAAL,eAAA,CAAAH,KAAA,EAAA,mBAAA,EAEoB,YAAqB;AACvC,QAAA,IAAAU,WAAA,GAAwCV,KAAA,CAAKD,KAAK;UAA1CY,aAAa,GAAAD,WAAA,CAAbC,aAAa;UAAEC,IAAI,GAAAF,WAAA,CAAJE,IAAI;UAAEC,MAAM,GAAAH,WAAA,CAANG,MAAM;AACnC,QAAA,IAAMC,QAAQ,GAAGd,KAAA,CAAKD,KAAK,CAACe,QAAQ,IAAI,CAACd,KAAA,CAAKe,KAAK,CAACC,aAAa;AACjE,QAAA,IAAMC,GAAG,GAAmB;AAC1BC,UAAAA,SAAS,EAAE,IAAI;UACfC,SAAS,EAAE9B,kBAAkB,CAACK,KAAK;AACnCF,UAAAA,KAAK,EACH4B,IAAM,CAAA,MAAA,EAAA;YAAAD,SAAS,EAAE9B,kBAAkB,CAACG,KAAK;AAEtC6B,YAAAA,QAAA,EAAA,CAAA,aAAA,EAAArB,KAAA,CAAKe,KAAK,CAACC,aAAa,IAAIM,GAAA,CAAA,GAAA,EAAA;cAAAD,QAAA,EAAIrB,KAAA,CAAKuB,aAAa,CAACvB,KAAA,CAAKe,KAAK,CAACS,YAAY;AAAM,aAAA,CAAA;AAAA,WAAA,CAEpF;AACDC,UAAAA,OAAO,EAAE,UAAU;AACnBpB,UAAAA,IAAI,EAAE,QAAQ;AACdS,UAAAA,QAAQ,EAAEA,QAAQ;AAClBY,UAAAA,KAAK,EAAE1B,KAAA,CAAKe,KAAK,CAACC,aAAa,GAAGhB,KAAA,CAAKe,KAAK,CAACS,YAAY,GAAG,CAAC;UAC7DG,QAAQ,EAAE3B,KAAA,CAAK4B;SAChB;QACD,IAAI,CAAC,CAAChB,IAAI,EAAE;UACVK,GAAG,CAACJ,MAAM,GAAG,YAAA;AAAA,YAAA,OAAMA,MAAM,IAAIA,MAAM,CAACD,IAAI,CAAC;AAAA,WAAA;AACzC,UAAA,IAAMiB,IAAI,GAAGC,eAAe,CAACnB,aAAa,EAAEC,IAAI,CAAC;UACjD,IAAIiB,IAAI,CAACE,KAAK,EAAE;AAAA,YAAA,IAAAC,aAAA;YACdf,GAAG,CAACc,KAAK,GAAGE,OAAO,CAACJ,IAAI,CAACE,KAAK,CAAC;AAC/Bd,YAAAA,GAAG,CAACiB,UAAU,GAAAF,CAAAA,aAAA,GAAGH,IAAI,CAACM,OAAO,MAAAH,IAAAA,IAAAA,aAAA,KAAAA,MAAAA,GAAAA,aAAA,GAAI,EAAE;AACpC;AACF;AACD,QAAA,OAAOI,aAAY,CAAiB,EAAE,EAAEnB,GAAG,EAAEjB,KAAA,CAAKI,KAAK,CAACiC,cAAc,CAAC;OACxE,CAAA;AAAAlC,MAAAA,eAAA,CAAAH,KAAA,EAEc,cAAA,EAAA,UAACsC,CAA4D,EAAI;AAC9E,QAAA,IAAMd,YAAY,GAAWc,CAAC,CAACC,MAAM,CAACb,KAAK,IAAI,EAAE,GAAGc,QAAQ,CAACF,CAAC,CAACC,MAAM,CAACb,KAAK,CAAC,GAAG,CAAC;QAChF1B,KAAA,CAAKyC,QAAQ,CAAC;AAAEjB,UAAAA,YAAY,EAAZA;AAAY,SAAE,CAAC;OAChC,CAAA;AAAArB,MAAAA,eAAA,CAAAH,KAAA,EAEe,eAAA,EAAA,UAAC0C,GAAW,EAAgD;AAAA,QAAA,IAA9CC,YAAY,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGxD,mBAAmB;AAC9D,QAAA,OAAO2D,KAAW,EAAE,CAACC,GAAG,CAACN,GAAG,EAAE,KAAK,CAAC,CAACO,MAAM,CAACN,YAAY,CAAC;OAC1D,CAAA;AAAAxC,MAAAA,eAAA,CAAAH,KAAA,EAEkB,kBAAA,EAAA,UAAC0B,KAAc,EAA8B;AAAA,QAAA,IAA5BwB,YAAY,GAAAN,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;QAClD,IAAI;AACF,UAAA,IAAI,CAAClB,KAAK,EAAE,OAAOwB,YAAY;AAC/B,UAAA,IAAMX,MAAM,GAAGQ,KAAW,CAACrB,KAAK,CAAC;AACjC,UAAA,IAAMyB,KAAK,GAAGJ,KAAW,EAAE;UAC3B,IAAMK,IAAI,GAAGb,MAAM,CAACa,IAAI,CAACD,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;AAC5C,UAAA,OAAOE,IAAI,CAACC,KAAK,CAACF,IAAI,CAAC;SACxB,CAAC,OAAAG,OAAA,EAAM;AACN,UAAA,OAAOL,YAAY;AACpB;OACF,CAAA;MAlHClD,KAAA,CAAKe,KAAK,GAAG;AACXS,QAAAA,YAAY,EAAExB,KAAA,CAAKwD,eAAe,EAAE;AACpCxC,QAAAA,aAAa,EAAEhB,KAAA,CAAKI,KAAK,CAACY;OAC3B;AACDhB,MAAAA,KAAA,CAAKyD,EAAE,GAAG,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE,CAACC,QAAQ,EAAE;AAAA,MAAA,OAAA5D,KAAA;AAC3C;IAAC6D,SAAA,CAAAhE,WAAA,EAAAC,UAAA,CAAA;IAAA,OAAAgE,YAAA,CAAAjE,WAAA,EAAA,CAAA;MAAAkE,GAAA,EAAA,OAAA;MAAAC,GAAA,EAED,SAAAA,GAAAA,GAAS;QAAA,IAAAC,iBAAA,EAAAC,KAAA;AACP,QAAA,IAAAC,IAAA,GAAA,CAAAF,iBAAA,GAA+C,IAAI,CAAClE,KAAK,CAACK,KAAK,cAAA6D,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI,EAAE;UAA7DjD,aAAa,GAAAmD,IAAA,CAAbnD,aAAa;UAAEoD,mBAAmB,GAAAD,IAAA,CAAnBC,mBAAmB;QAC1C,IAAMnD,GAAG,GAAGmB,aAAY,CAACxC,MAAM,EAAE,IAAI,CAACG,KAAK,CAACK,KAAK,CAAC;QAClD,IAAIiE,KAAK,IAAAH,KAAA,GAAI,IAAI,CAAC3D,WAAW,GAAG,CAAC,CAAC,IAAI,CAACA,WAAW,GAAGS,aAAa,MAAA,IAAA,IAAAkD,KAAA,KAAAA,MAAAA,GAAAA,KAAA,GAAK,IAAI;AAC3E,QAAA,IAAIE,mBAAmB,EAAEC,KAAK,GAAGD,mBAAmB,CAAC,IAAI,CAAC7D,WAAW,EAAE,IAAI,CAACR,KAAK,CAACuE,IAAI,CAAC;AACvF,QAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAYtD,GAAG,CAAA,EAAA,EAAA,EAAA;AAAED,UAAAA,aAAa,EAAEqD;AAAK,SAAA,CAAA;AACvC;AAAC,KAAA,EAAA;MAAAN,GAAA,EAAA,aAAA;MAAAC,GAAA,EAED,SAAAA,GAAAA,GAAe;QAAA,IAAAQ,qBAAA,EAAAC,UAAA;AACb,QAAA,IAAAC,YAAA,GAAuB,IAAI,CAAC3E,KAAK;UAAzBuE,IAAI,GAAAI,YAAA,CAAJJ,IAAI;UAAE1D,IAAI,GAAA8D,YAAA,CAAJ9D,IAAI;AAClB,QAAA,OAAA,CAAA4D,qBAAA,GAAO,IAAI,CAACzE,KAAK,CAACmD,YAAY,MAAAsB,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GAAK,CAAC,CAACF,IAAI,IAAI,CAAC,CAAC1D,IAAI,IAAA6D,UAAA,GAAGH,IAAI,CAAC1D,IAAI,CAAC,MAAA,IAAA,IAAA6D,UAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAA,CAAYb,QAAQ,EAAE,GAAGd,SAAS;AAC1F;AAAC,KAAA,EAAA;MAAAiB,GAAA,EAAA,mBAAA;MAAAC,GAAA,EAED,SAAAA,GAAAA,GAAqB;AACnB,QAAA,IAAI,IAAI,CAAC5D,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;AAChC,UAAA,OAAO,IAAI,CAACU,KAAK,CAACS,YAAY;AAC/B,SAAA,MAAM;UACL,OAAO,IAAI,CAACD,aAAa,CAAC,IAAI,CAACR,KAAK,CAACS,YAAY,EAAE,0BAA0B,CAAC;AAC/E;AACH;AAAC,KAAA,EAAA;MAAAuC,GAAA,EAAA,QAAA;MAAArC,KAAA;AAUD;MACA,SAAAiD,MAAMA,GAAA;AAAA,QAAA,IAAAC,gBAAA;UAAAC,MAAA,GAAA,IAAA;QACJ,OACEvD,GAAC,CAAAwD,oBAAoB,EAAC;AAAAC,UAAAA,WAAW,EAAEC,YAAY;AAAA3D,UAAAA,QAAA,EAC7CD,IAAC,CAAA6D,IAAI;YAAC9D,SAAS,EAAE9B,kBAAkB,CAACC,IAAI;uBACtCgC,GAAoC,CAAA,OAAA,EAAA;AAAAjB,cAAAA,IAAI,EAAC,MAAM;AAAC6E,cAAAA,MAAM,EAAA,IAAA;AAACtE,cAAAA,IAAI,EAAAgE,CAAAA,gBAAA,GAAE,IAAI,CAAC7E,KAAK,CAACa,IAAI,MAAA,IAAA,IAAAgE,gBAAA,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAA,CAAiBhB,QAAQ,EAAE;cAAEV,YAAY,EAAE,IAAI,CAACiC;aAAiB,EAAlH,IAAI,CAACA,iBAAiB,CAAgG,EAClI7D,IAAC8D,SAAS,EAAAb,cAAA,KAAK,IAAI,CAACc,iBAAiB,EAAE,CAAA,CAAI,EAC3CjE,IAAK,CAAA,KAAA,EAAA;cAAAD,SAAS,EAAE9B,kBAAkB,CAACE,OAAO;cACxC8B,QAAA,EAAA,CAAAC,GAAA,CAACgE,UAAU,EAAAf,cAAA,CAAAA,cAAA,CAAA;AACT9C,gBAAAA,OAAO,EAAC,SAAS;gBACjBN,SAAS,EAAE9B,kBAAkB,CAACI;eAC1B,EAAA;AAAE8F,gBAAAA,SAAS,EAAE,OAAO;gBAAEC,OAAO,EAAE,IAAI,CAAC/B;eAAI,CAAA,EAAA,EAAA,EAAA;AAC5CgC,gBAAAA,EAAE,EAAE;kBAAEC,KAAK,EAAE,IAAI,CAAC3E,KAAK,CAACC,aAAa,GAAG,cAAc,GAAG;iBAAW;gBAAAK,QAAA,EAEnE,IAAI,CAACN,KAAK,CAACC,aAAa,GAAG,qBAAqB,GAAG;AAAe,eAAA,EACxD,EACbM,GAAA,CAACqE,MAAM,EACL;gBAAAlC,EAAE,EAAE,IAAI,CAACA,EAAE;AACXmC,gBAAAA,IAAI,EAAC,OAAO;AACZF,gBAAAA,KAAK,EAAC,SAAS;AACfG,gBAAAA,OAAO,EAAE,IAAI,CAAC9E,KAAK,CAACC,aAAa;AACjCW,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGmE,CAAC,EAAED,OAAO,EAAA;kBAAA,OAAKhB,MAAI,CAACpC,QAAQ,CAAC;AAAEzB,oBAAAA,aAAa,EAAE6E;mBAAS,CAAC;AAAA;AAAA,eAAA,CACnE;cACE;WACD;AAAA,SAAA,CACc;AAE3B;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CApEuBE,SAAkD,CAAA;AAyH5E,EAAA,OAAOlG,WAAW;AACpB;AAGA,IAAMoF,IAAI,GAAGe,MAAM,CAACC,GAAG,CAAC,CAAA9F,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACtB+F,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,GAAG,EAAE,MAAM;AACXC,EAAAA,QAAQ,EAAE;AAAU,CAAA,EAAA,GAAA,CAAAC,MAAA,CACfjH,kBAAkB,CAAA,QAAA,CAAO,CAAK,EAAA;AACjCkH,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,IAAI,EAAE;AACP,CAAA,OAAAF,MAAA,CACIjH,kBAAkB,CAACG,KAAK,CAAK,EAAA;AAChCiH,EAAAA,CAAC,EAAE;AACDf,IAAAA,KAAK,EAAE,SAAS;AAChBgB,IAAAA,UAAU,EAAE;AACb;AACF,CAAA,OAAAJ,MAAA,CACIjH,kBAAkB,CAACI,WAAW,CAAK,EAAA;AACtCkH,EAAAA,UAAU,EAAE,GAAG;AACfC,EAAAA,MAAM,EAAE;AACT,CAAA,OAAAN,MAAA,CACIjH,kBAAkB,CAACE,OAAO,CAAK,EAAA;AAClC8G,EAAAA,QAAQ,EAAE,UAAU;AACpBQ,EAAAA,GAAG,EAAE,CAAC;AACNC,EAAAA,KAAK,EAAE,CAAC;AACRC,EAAAA,MAAM,EAAE,MAAM;AACdb,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,UAAU,EAAE;AACb,CAAA,OAAAG,MAAA,CACIjH,kBAAkB,CAACK,KAAK,CAAK,EAAA;AAChC,EAAA,qBAAqB,EAAE;AACrBsH,IAAAA,YAAY,EAAE;AACf;AACF,CAAA,CACF,CAAC;;;;"}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper } from '
|
|
2
|
-
import
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, objectSpread2 as _objectSpread2, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Component } from 'react';
|
|
3
4
|
import { styled } from '@mui/material';
|
|
4
5
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
5
6
|
import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers';
|
|
7
|
+
import { getErrorMessage } from './helper.js';
|
|
6
8
|
import { mergeObjects as _mergeObjects } from '../utils/helpers.js';
|
|
7
9
|
import '../utils/query-param.js';
|
|
8
10
|
import '../utils/dayjs-config.js';
|
|
9
|
-
import { getErrorMessage } from './helper.js';
|
|
10
11
|
import dayjs from 'dayjs';
|
|
11
12
|
|
|
12
13
|
var formatDefault = 'MM/DD/YYYY';
|
|
13
14
|
var CreateDatePicker = function CreateDatePicker(params) {
|
|
14
15
|
var DatePicker = /*#__PURE__*/function (_Component) {
|
|
15
16
|
function DatePicker(props) {
|
|
17
|
+
var _this$mergeSlots;
|
|
16
18
|
var _this;
|
|
17
19
|
_classCallCheck(this, DatePicker);
|
|
18
|
-
var _a;
|
|
19
20
|
_this = _callSuper(this, DatePicker, [props]);
|
|
20
|
-
_this
|
|
21
|
-
_this
|
|
22
|
-
var
|
|
23
|
-
var delayInDays = (
|
|
21
|
+
_defineProperty(_this, "_cachedSlots", {});
|
|
22
|
+
_defineProperty(_this, "getDatePickerProps", function () {
|
|
23
|
+
var _params$minDateOffset, _this$props$label, _this$props$name, _this$props$format, _this$slots;
|
|
24
|
+
var delayInDays = (_params$minDateOffset = params === null || params === void 0 ? void 0 : params.minDateOffset) !== null && _params$minDateOffset !== void 0 ? _params$minDateOffset : 0;
|
|
24
25
|
var minDate = delayInDays > 0 ? dayjs().add(delayInDays, 'day').startOf('day') : params === null || params === void 0 ? void 0 : params.minDate;
|
|
25
|
-
var label = (
|
|
26
|
-
var format = (
|
|
26
|
+
var label = (_this$props$label = _this.props.label) !== null && _this$props$label !== void 0 ? _this$props$label : (_this$props$name = _this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString();
|
|
27
|
+
var format = (_this$props$format = _this.props.format) !== null && _this$props$format !== void 0 ? _this$props$format : formatDefault;
|
|
27
28
|
var eMessage = getErrorMessage(_this.props.messageErrors, _this.props.name);
|
|
28
29
|
var obj = {
|
|
29
30
|
label: label,
|
|
@@ -43,17 +44,17 @@ var CreateDatePicker = function CreateDatePicker(params) {
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
|
-
return _mergeObjects(obj, params === null || params === void 0 ? void 0 : params.datePickerProps, (
|
|
47
|
-
};
|
|
48
|
-
_this
|
|
49
|
-
_this
|
|
47
|
+
return _mergeObjects(obj, params === null || params === void 0 ? void 0 : params.datePickerProps, (_this$slots = _this.slots) === null || _this$slots === void 0 ? void 0 : _this$slots.datePickerProps);
|
|
48
|
+
});
|
|
49
|
+
_defineProperty(_this, "refInput", null);
|
|
50
|
+
_defineProperty(_this, "mergeSlots", function (currentSlots) {
|
|
50
51
|
return _mergeObjects({}, params, currentSlots);
|
|
51
|
-
};
|
|
52
|
-
_this
|
|
52
|
+
});
|
|
53
|
+
_defineProperty(_this, "handleBlur", function () {
|
|
53
54
|
if (!_this.props.name) return;
|
|
54
55
|
_this.props.onBlur && _this.props.onBlur(_this.props.name);
|
|
55
|
-
};
|
|
56
|
-
_this
|
|
56
|
+
});
|
|
57
|
+
_defineProperty(_this, "handleChange", function (newValue) {
|
|
57
58
|
_this.setState({
|
|
58
59
|
value: newValue
|
|
59
60
|
});
|
|
@@ -61,22 +62,22 @@ var CreateDatePicker = function CreateDatePicker(params) {
|
|
|
61
62
|
_this.refInput.value = newValue && !isNaN(newValue.toDate().getTime()) ? newValue.toDate().toISOString() : '';
|
|
62
63
|
}
|
|
63
64
|
setTimeout(_this.handleBlur, 50);
|
|
64
|
-
};
|
|
65
|
-
_this
|
|
66
|
-
var _a, _b;
|
|
65
|
+
});
|
|
66
|
+
_defineProperty(_this, "getDefaultValue", function () {
|
|
67
67
|
try {
|
|
68
|
+
var _ref, _this$props$defaultVa;
|
|
68
69
|
if (!_this.props.defaultValue && !_this.slots.defaultValue && _this.slots.minDateOffset) return dayjs().add(1, 'day').startOf('day');
|
|
69
70
|
if (!_this.props.defaultValue && _this.slots.minDate) return _this.slots.minDate;
|
|
70
71
|
var _this$props = _this.props,
|
|
71
72
|
data = _this$props.data,
|
|
72
73
|
name = _this$props.name;
|
|
73
|
-
var dValue = (
|
|
74
|
+
var dValue = (_ref = (_this$props$defaultVa = _this.props.defaultValue) !== null && _this$props$defaultVa !== void 0 ? _this$props$defaultVa : _this.slots.defaultValue) !== null && _ref !== void 0 ? _ref : name ? data === null || data === void 0 ? void 0 : data[name] : '';
|
|
74
75
|
return dValue ? dayjs(dValue.toString()) : dayjs();
|
|
75
|
-
} catch (
|
|
76
|
+
} catch (_unused) {
|
|
76
77
|
return dayjs();
|
|
77
78
|
}
|
|
78
|
-
};
|
|
79
|
-
_this._cachedSlots = (
|
|
79
|
+
});
|
|
80
|
+
_this._cachedSlots = (_this$mergeSlots = _this.mergeSlots(props.slots)) !== null && _this$mergeSlots !== void 0 ? _this$mergeSlots : {};
|
|
80
81
|
_this.state = {
|
|
81
82
|
value: _this.getDefaultValue()
|
|
82
83
|
};
|
|
@@ -98,18 +99,20 @@ var CreateDatePicker = function CreateDatePicker(params) {
|
|
|
98
99
|
}, {
|
|
99
100
|
key: "render",
|
|
100
101
|
value: function render() {
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
102
|
+
var _this$props$name2,
|
|
103
|
+
_this$getDefaultValue,
|
|
104
|
+
_this2 = this;
|
|
105
|
+
return jsxs(LocalizationProvider, {
|
|
106
|
+
dateAdapter: AdapterDayjs,
|
|
107
|
+
children: [jsx(CustomDatePicker, _objectSpread2({}, this.getDatePickerProps())), jsx("input", {
|
|
108
|
+
hidden: true,
|
|
109
|
+
name: (_this$props$name2 = this.props.name) === null || _this$props$name2 === void 0 ? void 0 : _this$props$name2.toString(),
|
|
110
|
+
defaultValue: (_this$getDefaultValue = this.getDefaultValue()) === null || _this$getDefaultValue === void 0 ? void 0 : _this$getDefaultValue.toDate().toISOString(),
|
|
111
|
+
ref: function ref(_ref2) {
|
|
112
|
+
return _this2.refInput = _ref2;
|
|
113
|
+
}
|
|
114
|
+
})]
|
|
115
|
+
});
|
|
113
116
|
}
|
|
114
117
|
}]);
|
|
115
118
|
}(Component);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.date-picker.js","sources":["../../src/form/create.date-picker.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Dayjs } from 'dayjs'\r\nimport { styled } from '@mui/material'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { DatePicker as MUIDatePicker, LocalizationProvider, DatePickerProps } from '@mui/x-date-pickers'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects } from '../utils'\r\n\r\nconst formatDefault = 'MM/DD/YYYY'\r\n\r\nexport interface IDatePickerSlots {\r\n defaultValue?: string\r\n minDate?: Dayjs\r\n minDateOffset?: number\r\n datePickerProps?: DatePickerProps<Dayjs>\r\n}\r\n\r\nexport interface IDatePickerProps<T> extends IFormInputBase<T> {\r\n format?: string\r\n slots?: Omit<IDatePickerSlots, 'defaultValue'>\r\n}\r\n\r\nexport interface IDatePickerState {\r\n value: Dayjs | null\r\n}\r\n\r\nconst CreateDatePicker = function <T extends Object>(params?: IDatePickerSlots): ComponentType<IDatePickerProps<T>> {\r\n class DatePicker extends Component<IDatePickerProps<T>, IDatePickerState> {\r\n private _cachedSlots: IDatePickerSlots = {}\r\n constructor(props: IDatePickerProps<T>) {\r\n super(props)\r\n this._cachedSlots = this.mergeSlots(props.slots) ?? {}\r\n this.state = { value: this.getDefaultValue() }\r\n }\r\n\r\n get slots() {\r\n return this._cachedSlots\r\n }\r\n\r\n componentDidUpdate(prevProps: IDatePickerProps<T>) {\r\n if (prevProps.slots !== this.props.slots) {\r\n this._cachedSlots = this.mergeSlots(this.props.slots)\r\n }\r\n }\r\n\r\n getDatePickerProps = (): DatePickerProps<Dayjs> => {\r\n const delayInDays = params?.minDateOffset ?? 0\r\n const minDate = delayInDays > 0 ? dayjsCustom().add(delayInDays, 'day').startOf('day') : params?.minDate\r\n const label = this.props.label ?? this.props.name?.toString()\r\n const format = this.props.format ?? formatDefault\r\n const eMessage = getErrorMessage<T>(this.props.messageErrors, this.props.name)\r\n const obj: DatePickerProps<Dayjs> = {\r\n label,\r\n format,\r\n views: ['day', 'month', 'year'],\r\n value: this.state.value,\r\n onChange: this.handleChange,\r\n disabled: this.props.disabled,\r\n minDate,\r\n slotProps: {\r\n textField: { onBlur: this.handleBlur, fullWidth: true, error: eMessage.error, helperText: eMessage.message, variant: 'outlined' }\r\n }\r\n }\r\n return mergeObjects(obj, params?.datePickerProps, this.slots?.datePickerProps)\r\n }\r\n\r\n refInput: HTMLInputElement | null = null\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <CustomDatePicker {...this.getDatePickerProps()} />\r\n <input\r\n hidden\r\n name={this.props.name?.toString()}\r\n defaultValue={this.getDefaultValue()?.toDate().toISOString()}\r\n ref={(ref) => (this.refInput = ref)}\r\n />\r\n </LocalizationProvider>\r\n )\r\n }\r\n\r\n private mergeSlots = (currentSlots?: IDatePickerSlots): IDatePickerSlots => {\r\n return mergeObjects<IDatePickerSlots>({}, params, currentSlots)\r\n }\r\n\r\n handleBlur = () => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n handleChange = (newValue: Dayjs | null) => {\r\n this.setState({ value: newValue })\r\n if (this.refInput) {\r\n this.refInput.value = newValue && !isNaN(newValue.toDate().getTime()) ? newValue.toDate().toISOString() : ''\r\n }\r\n setTimeout(this.handleBlur, 50)\r\n }\r\n\r\n getDefaultValue = (): Dayjs => {\r\n try {\r\n if (!this.props.defaultValue && !this.slots.defaultValue && this.slots.minDateOffset) return dayjsCustom().add(1, 'day').startOf('day')\r\n if (!this.props.defaultValue && this.slots.minDate) return this.slots.minDate\r\n\r\n const { data, name } = this.props\r\n const dValue = this.props.defaultValue ?? this.slots.defaultValue ?? (name ? data?.[name] : '')\r\n return dValue ? dayjsCustom(dValue.toString()) : dayjsCustom()\r\n } catch {\r\n return dayjsCustom()\r\n }\r\n }\r\n }\r\n return DatePicker\r\n}\r\n\r\nexport default CreateDatePicker\r\n\r\nconst CustomDatePicker = styled(MUIDatePicker<Dayjs>)({\r\n '& .MuiInputBase-root::before, & .MuiInputBase-root::after': {\r\n borderBottom: 'none !important'\r\n }\r\n})\r\n"],"names":["formatDefault","CreateDatePicker","params","DatePicker","_Component","props","_this$mergeSlots","_this","_classCallCheck","_callSuper","_defineProperty","_params$minDateOffset","_this$props$label","_this$props$name","_this$props$format","_this$slots","delayInDays","minDateOffset","minDate","dayjsCustom","add","startOf","label","name","toString","format","eMessage","getErrorMessage","messageErrors","obj","views","value","state","onChange","handleChange","disabled","slotProps","textField","onBlur","handleBlur","fullWidth","error","helperText","message","variant","mergeObjects","datePickerProps","slots","currentSlots","newValue","setState","refInput","isNaN","toDate","getTime","toISOString","setTimeout","_ref","_this$props$defaultVa","defaultValue","_this$props","data","dValue","_unused","_cachedSlots","mergeSlots","getDefaultValue","_inherits","_createClass","key","get","componentDidUpdate","prevProps","render","_this$props$name2","_this$getDefaultValue","_this2","_jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","_jsx","CustomDatePicker","_objectSpread","getDatePickerProps","hidden","ref","Component","styled","MUIDatePicker","borderBottom"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, regeneratorRuntime as _regeneratorRuntime } from '
|
|
2
|
-
import {
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import React, { Component } from 'react';
|
|
4
4
|
import { Box } from '@mui/material';
|
|
5
|
-
import { convertFormDataToJson, SingleValidate,
|
|
5
|
+
import { convertFormDataToJson, SingleValidate, validateMerge, getErrorFromResponse } from './helper.js';
|
|
6
6
|
import FormValidator, { SingleRuleValidate } from './validator.js';
|
|
7
7
|
|
|
8
8
|
var CreateFormBase = function CreateFormBase(param) {
|
|
@@ -12,8 +12,8 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
12
12
|
var _this;
|
|
13
13
|
_classCallCheck(this, FormBase);
|
|
14
14
|
_this = _callSuper(this, FormBase, [props]);
|
|
15
|
-
_this
|
|
16
|
-
_this
|
|
15
|
+
_defineProperty(_this, "refForm", null);
|
|
16
|
+
_defineProperty(_this, "setError", function (keyName, message) {
|
|
17
17
|
var error = _defineProperty({}, keyName, [{
|
|
18
18
|
rule: SingleRuleValidate.Custom,
|
|
19
19
|
message: message
|
|
@@ -21,15 +21,14 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
21
21
|
_this.setState({
|
|
22
22
|
messageErrors: Object.assign({}, _this.state.messageErrors, error)
|
|
23
23
|
});
|
|
24
|
-
};
|
|
25
|
-
_this
|
|
24
|
+
});
|
|
25
|
+
_defineProperty(_this, "clearErrorAll", function () {
|
|
26
26
|
_this.setState({
|
|
27
27
|
messageErrors: {}
|
|
28
28
|
});
|
|
29
|
-
};
|
|
30
|
-
_this
|
|
31
|
-
|
|
32
|
-
var _this2 = this;
|
|
29
|
+
});
|
|
30
|
+
_defineProperty(_this, "onSubmit", /*#__PURE__*/function () {
|
|
31
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
|
|
33
32
|
var formData, model, messageErrors;
|
|
34
33
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
35
34
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -37,15 +36,15 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
37
36
|
e.preventDefault();
|
|
38
37
|
formData = new FormData(e.currentTarget);
|
|
39
38
|
model = convertFormDataToJson(formData);
|
|
40
|
-
|
|
39
|
+
_this.setState({
|
|
41
40
|
modelState: model
|
|
42
41
|
});
|
|
43
|
-
messageErrors =
|
|
42
|
+
messageErrors = _this.validate.run(model);
|
|
44
43
|
if (!messageErrors) {
|
|
45
44
|
_context.next = 9;
|
|
46
45
|
break;
|
|
47
46
|
}
|
|
48
|
-
|
|
47
|
+
_this.setState({
|
|
49
48
|
messageErrors: messageErrors
|
|
50
49
|
});
|
|
51
50
|
if (!(Object.keys(messageErrors).length > 0)) {
|
|
@@ -55,20 +54,23 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
55
54
|
return _context.abrupt("return");
|
|
56
55
|
case 9:
|
|
57
56
|
_context.next = 11;
|
|
58
|
-
return
|
|
59
|
-
var messageError =
|
|
60
|
-
|
|
61
|
-
messageErrors:
|
|
57
|
+
return _this.props.onSubmit(model, e)["catch"](function (error) {
|
|
58
|
+
var messageError = getErrorFromResponse(error, model);
|
|
59
|
+
_this.setState({
|
|
60
|
+
messageErrors: _objectSpread2(_objectSpread2({}, _this.state.messageErrors), messageError || {})
|
|
62
61
|
});
|
|
63
62
|
});
|
|
64
63
|
case 11:
|
|
65
64
|
case "end":
|
|
66
65
|
return _context.stop();
|
|
67
66
|
}
|
|
68
|
-
}, _callee
|
|
67
|
+
}, _callee);
|
|
69
68
|
}));
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
return function (_x) {
|
|
70
|
+
return _ref.apply(this, arguments);
|
|
71
|
+
};
|
|
72
|
+
}());
|
|
73
|
+
_defineProperty(_this, "onBlur", function (keyName) {
|
|
72
74
|
if (!_this.refForm) return;
|
|
73
75
|
var messageErrors = _this.state.messageErrors;
|
|
74
76
|
var formData = new FormData(_this.refForm);
|
|
@@ -80,11 +82,11 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
80
82
|
_this.setState({
|
|
81
83
|
messageErrors: error
|
|
82
84
|
});
|
|
83
|
-
};
|
|
84
|
-
_this
|
|
85
|
+
});
|
|
86
|
+
_defineProperty(_this, "getValidate", function () {
|
|
85
87
|
var defaultValidate = new FormValidator({});
|
|
86
|
-
return
|
|
87
|
-
};
|
|
88
|
+
return validateMerge(defaultValidate, param === null || param === void 0 ? void 0 : param.validate, _this.props.validate);
|
|
89
|
+
});
|
|
88
90
|
_this.validate = _this.getValidate();
|
|
89
91
|
_this.state = {
|
|
90
92
|
messageErrors: {}
|
|
@@ -95,29 +97,31 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
95
97
|
return _createClass(FormBase, [{
|
|
96
98
|
key: "render",
|
|
97
99
|
value: function render() {
|
|
98
|
-
var
|
|
100
|
+
var _this2 = this;
|
|
99
101
|
var onBlur = this.onBlur,
|
|
100
102
|
setError = this.setError,
|
|
101
103
|
clearErrorAll = this.clearErrorAll;
|
|
102
104
|
var _this$state = this.state,
|
|
103
105
|
modelState = _this$state.modelState,
|
|
104
106
|
messageErrors = _this$state.messageErrors;
|
|
105
|
-
return
|
|
106
|
-
component:
|
|
107
|
+
return jsx(Box, {
|
|
108
|
+
component: 'form',
|
|
107
109
|
sx: this.props.sx,
|
|
108
|
-
ref: function ref(
|
|
109
|
-
return
|
|
110
|
+
ref: function ref(_ref2) {
|
|
111
|
+
return _this2.refForm = _ref2;
|
|
110
112
|
},
|
|
111
|
-
onSubmit: this.onSubmit
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
113
|
+
onSubmit: this.onSubmit,
|
|
114
|
+
children: jsx(FormBaseContext.Provider, {
|
|
115
|
+
value: {
|
|
116
|
+
setError: setError,
|
|
117
|
+
onBlur: onBlur,
|
|
118
|
+
clearErrorAll: clearErrorAll,
|
|
119
|
+
modelState: modelState,
|
|
120
|
+
messageErrors: messageErrors
|
|
121
|
+
},
|
|
122
|
+
children: this.props.children
|
|
123
|
+
})
|
|
124
|
+
});
|
|
121
125
|
}
|
|
122
126
|
}]);
|
|
123
127
|
}(Component);
|
|
@@ -126,7 +130,9 @@ var CreateFormBase = function CreateFormBase(param) {
|
|
|
126
130
|
Validator: param === null || param === void 0 ? void 0 : param.validate,
|
|
127
131
|
Context: FormBaseContext,
|
|
128
132
|
contextMapping: function contextMapping(params) {
|
|
129
|
-
return
|
|
133
|
+
return jsx(FormBaseContext.Consumer, {
|
|
134
|
+
children: params
|
|
135
|
+
});
|
|
130
136
|
}
|
|
131
137
|
};
|
|
132
138
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.form-base.js","sources":["../../src/form/create.form-base.tsx"],"sourcesContent":["import React, { Component, ComponentType, PropsWithChildren } from 'react'\r\nimport { Box, SxProps, Theme } from '@mui/material'\r\nimport { IFormBase } from './types'\r\nimport { convertFormDataToJson, getErrorFromResponse, SingleValidate, validateMerge } from './helper'\r\nimport FormValidator, { IPartialError, SingleRuleValidate } from './validator'\r\n\r\nexport interface FormBaseParam<TModel> {\r\n validate?: FormValidator<Partial<TModel>>\r\n}\r\n\r\nexport interface FormBaseProps<TModel> extends PropsWithChildren {\r\n sx?: SxProps<Theme>\r\n validate?: FormValidator<Partial<TModel>>\r\n onSubmit: (data: Partial<TModel>, e: React.FormEvent<HTMLFormElement>) => Promise<void>\r\n}\r\n\r\nexport interface FormBaseState<TModel> extends Pick<IFormBase<TModel>, 'messageErrors'> {\r\n modelState?: Partial<TModel>\r\n}\r\n\r\nexport interface IFormContextBase<TModel> {\r\n modelState?: Partial<TModel>\r\n messageErrors: IPartialError<TModel>\r\n onBlur: (keyName: keyof TModel) => void\r\n setError: (keyName: keyof TModel, message: string) => void\r\n clearErrorAll: (keyName: keyof TModel) => void\r\n}\r\n\r\nexport interface FormBaseResult<TModel> {\r\n Form: ComponentType<FormBaseProps<TModel>>\r\n Validator?: FormValidator<Partial<TModel>>\r\n Context: React.Context<IFormContextBase<TModel>>\r\n contextMapping: (params: (context: IFormContextBase<TModel>) => JSX.Element) => JSX.Element\r\n}\r\n\r\nconst CreateFormBase = function <TModel>(param?: FormBaseParam<TModel>): FormBaseResult<TModel> {\r\n const FormBaseContext = React.createContext<IFormContextBase<TModel>>({} as any)\r\n class FormBase extends Component<FormBaseProps<TModel>, FormBaseState<TModel>> {\r\n refForm: HTMLFormElement | null = null\r\n constructor(props: FormBaseProps<TModel>) {\r\n super(props)\r\n this.validate = this.getValidate()\r\n this.state = { messageErrors: {} }\r\n }\r\n\r\n setError = (keyName: keyof TModel, message: string) => {\r\n const error = { [keyName]: [{ rule: SingleRuleValidate.Custom, message }] }\r\n this.setState({\r\n messageErrors: Object.assign({}, this.state.messageErrors, error)\r\n })\r\n }\r\n\r\n clearErrorAll = () => {\r\n this.setState({ messageErrors: {} })\r\n }\r\n\r\n render() {\r\n const { onBlur, setError, clearErrorAll } = this\r\n const { modelState, messageErrors } = this.state\r\n return (\r\n <Box component='form' sx={this.props.sx} ref={(ref: HTMLFormElement) => (this.refForm = ref)} onSubmit={this.onSubmit}>\r\n <FormBaseContext.Provider value={{ setError, onBlur, clearErrorAll, modelState, messageErrors }}>\r\n {this.props.children}\r\n </FormBaseContext.Provider>\r\n </Box>\r\n )\r\n }\r\n\r\n private validate: FormValidator<Partial<TModel>>\r\n onSubmit: React.FormEventHandler<HTMLFormElement> = async (e) => {\r\n e.preventDefault()\r\n const formData = new FormData(e.currentTarget as HTMLFormElement)\r\n const model = convertFormDataToJson<TModel>(formData)\r\n this.setState({ modelState: model })\r\n const messageErrors = this.validate.run(model) as IPartialError<TModel>\r\n if (messageErrors) {\r\n this.setState({ messageErrors: messageErrors })\r\n if (Object.keys(messageErrors).length > 0) return\r\n }\r\n await this.props.onSubmit(model, e).catch((error) => {\r\n const messageError = getErrorFromResponse(error, model)\r\n this.setState({ messageErrors: { ...this.state.messageErrors, ...(messageError || {}) } })\r\n })\r\n }\r\n\r\n onBlur = (keyName: keyof TModel) => {\r\n if (!this.refForm) return\r\n const { messageErrors } = this.state\r\n const formData = new FormData(this.refForm)\r\n const model = convertFormDataToJson(formData)\r\n this.setState({ modelState: model })\r\n const error = SingleValidate<TModel, Partial<TModel>>(keyName, model, messageErrors, this.validate) || {}\r\n this.setState({ messageErrors: error as IPartialError<TModel> })\r\n }\r\n\r\n getValidate = (): FormValidator<Partial<TModel>> => {\r\n const defaultValidate = new FormValidator<Partial<TModel>>({})\r\n return validateMerge(defaultValidate, param?.validate, this.props.validate)\r\n }\r\n }\r\n\r\n return {\r\n Form: FormBase,\r\n Validator: param?.validate,\r\n Context: FormBaseContext,\r\n contextMapping: (params: (context: IFormContextBase<TModel>) => JSX.Element) => <FormBaseContext.Consumer>{params}</FormBaseContext.Consumer>\r\n }\r\n}\r\nexport default CreateFormBase\r\n"],"names":["CreateFormBase","param","FormBaseContext","React","createContext","FormBase","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","keyName","message","error","rule","SingleRuleValidate","Custom","setState","messageErrors","Object","assign","state","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","e","formData","model","wrap","_callee$","_context","prev","next","preventDefault","FormData","currentTarget","convertFormDataToJson","modelState","validate","run","keys","length","abrupt","onSubmit","messageError","getErrorFromResponse","_objectSpread","stop","_x","apply","arguments","refForm","SingleValidate","defaultValidate","FormValidator","validateMerge","getValidate","_inherits","_createClass","key","value","render","_this2","onBlur","setError","clearErrorAll","_this$state","_jsx","Box","component","sx","ref","children","Provider","Component","Form","Validator","Context","contextMapping","params","Consumer"],"mappings":"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"}
|