d2coreui 23.0.15 → 23.0.17
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/components/codemirror/SyntaxHighlighter.js.map +1 -0
- package/components/color/colorSwatch.d.ts +13 -18
- package/components/color/colorSwatch.js.map +1 -0
- package/{lib/esm/components → components}/date/dateRangeInput.js +1 -1
- package/components/date/dateRangeInput.js.map +1 -0
- package/{lib/esm/components → components}/date/dateTimeInput.js +1 -1
- package/components/date/dateTimeInput.js.map +1 -0
- package/{lib/esm/components → components}/date/durationInput.js +2 -2
- package/components/date/durationInput.js.map +1 -0
- package/{lib/esm/components → components}/grid/cell/cellEditorUtils.js.map +1 -1
- package/components/grid/cell/rangeSelector.d.ts +78 -9
- package/components/grid/cell/rangeSelector.js +527 -674
- package/components/grid/columnUtils.js.map +1 -0
- package/{lib/esm/components → components}/grid/export/contextMenu.js +4 -4
- package/components/grid/export/progressPopup.js.map +1 -0
- package/{lib/esm/components → components}/grid/export/worker/clipboardExport.js.map +1 -1
- package/{lib/esm/components → components}/grid/export/worker/csvExport.js.map +1 -1
- package/{lib/esm/components → components}/grid/export/worker/txtExport.js.map +1 -1
- package/components/icons/ant-design-double-right-outline.svg +5 -5
- package/components/icons/ant-design_close-outline.svg +5 -5
- package/components/icons/undoIcon.js.map +1 -0
- package/components/input/draftUtils.js.map +1 -0
- package/components/input/draftail.d.ts +1 -186
- package/components/input/draftail.js +2 -1
- package/{lib/esm/components → components}/input/draftail.js.map +1 -1
- package/components/input/mask/inputMaskCore.js.map +1 -0
- package/components/input/mask/pattern.js.map +1 -0
- package/components/input/passwordInput.js.map +1 -0
- package/components/input/textarea/extractSpansOfClasses.js.map +1 -0
- package/components/input/textarea/getRanges.js.map +1 -0
- package/{lib/esm/components → components}/input/textarea/getType.js.map +1 -1
- package/{lib/esm/components → components}/input/textarea/highlighedContents.js.map +1 -1
- package/components/input/textarea/mentionsWithHighlighting.js.map +1 -0
- package/{lib/esm/components → components}/keyboard/keyboardUtils.js.map +1 -1
- package/components/platformSpecific.js.map +1 -0
- package/{lib/esm/components → components}/text/impl/innerSize.js.map +1 -1
- package/components/text/impl/series.js.map +1 -0
- package/{lib/esm/components → components}/text/impl/shallowEqual.js.map +1 -1
- package/{lib/esm/components → components}/text/impl/uniqueId.js.map +1 -1
- package/components/text/impl/whilst.js.map +1 -0
- package/i18n/components.cs.json +101 -101
- package/i18n/components.sk.json +101 -101
- package/i18n/components.uk.json +101 -101
- package/i18n/componentsLocaleHolder.js +29 -24
- package/i18n/componentsLocaleHolder.js.map +1 -0
- package/package.json +1 -1
- package/style/ag-grid/_ag-theme-antd-vars.scss +194 -194
- package/style/ag-grid/ag-theme-antd.scss +87 -87
- package/style/ag-grid/aggrid-adaptations.css +42 -42
- package/style/ag-grid/aggrid.scss +11 -11
- package/style/flexLayout/flexLayout.scss +130 -130
- package/style/flexLayout/flexLayoutBase.scss +623 -623
- package/style/flexLayout/new/_base.scss +616 -616
- package/style/flexLayout/new/flexLayoutBase.scss +621 -621
- package/style/flexLayout/new/light.scss +107 -107
- package/style/flexLayout/old/_base.scss +551 -551
- package/style/flexLayout/old/light.scss +16 -16
- package/style/form/niceFormItem.css +38 -38
- package/style/loading.css +31 -31
- package/style/splitPane/splitPane.css +48 -48
- package/tsconfig.build.json +24 -24
- package/tsconfig.json +11 -11
- package/components/clipboard/clipboardUtils.ts +0 -53
- package/components/codemirror/SyntaxHighlighter.tsx +0 -58
- package/components/collapse/expandable.tsx +0 -48
- package/components/color/colorPicker.tsx +0 -121
- package/components/color/colorSwatch.jsx +0 -87
- package/components/color/colorUtils.ts +0 -60
- package/components/date/dateRangeInput.tsx +0 -468
- package/components/date/dateRangeInputAdvancedPanel.tsx +0 -238
- package/components/date/dateRangeInputConfirm.tsx +0 -200
- package/components/date/dateTimeInput.tsx +0 -633
- package/components/date/durationInput.tsx +0 -375
- package/components/form/NiceFormItem.tsx +0 -32
- package/components/grid/cell/beanAccessor.ts +0 -17
- package/components/grid/cell/cellEditorUtils.ts +0 -12
- package/components/grid/cell/customEnumCellEditor.tsx +0 -130
- package/components/grid/cell/dataGridCellEditorComponent.tsx +0 -61
- package/components/grid/cell/dateCellEditor.tsx +0 -83
- package/components/grid/cell/durationCellEditor.tsx +0 -105
- package/components/grid/cell/hexaOctetStringCellEditor.tsx +0 -101
- package/components/grid/cell/hexaValueCellEditor.tsx +0 -92
- package/components/grid/cell/numberCellEditor.tsx +0 -115
- package/components/grid/cell/simpleStatusTextCellEditor.tsx +0 -168
- package/components/grid/cell/statusTextCellEditor.tsx +0 -198
- package/components/grid/cell/tableDefaultRowStyleRules.ts +0 -51
- package/components/grid/cell/textCellEditor.tsx +0 -94
- package/components/grid/cell/withAgGridHooks.tsx +0 -15
- package/components/grid/columnUtils.ts +0 -29
- package/components/grid/config/columnTransfer.tsx +0 -258
- package/components/grid/config/dataGridEditor.tsx +0 -328
- package/components/grid/config/rowHeightCalculator.tsx +0 -29
- package/components/grid/config/rowStylePicker.tsx +0 -196
- package/components/grid/dataGrid.tsx +0 -2183
- package/components/grid/detail/detailHeaderPanel.tsx +0 -59
- package/components/grid/export/contextMenu.tsx +0 -154
- package/components/grid/export/progressPopup.tsx +0 -106
- package/components/grid/export/worker/clipboardExport.ts +0 -10
- package/components/grid/export/worker/csvExport.ts +0 -10
- package/components/grid/export/worker/pdfExport.ts +0 -98
- package/components/grid/export/worker/txtExport.ts +0 -21
- package/components/grid/extendedDataGrid.tsx +0 -974
- package/components/grid/filter/customColumnFilter.tsx +0 -14
- package/components/grid/filter/dataGridColumnFilter.tsx +0 -70
- package/components/grid/filter/dateColumnFilter.tsx +0 -34
- package/components/grid/filter/textColumnFilter.tsx +0 -37
- package/components/grid/filter/wildcardQuickFilterEngine.ts +0 -50
- package/components/grid/header/simpleHeader.tsx +0 -270
- package/components/grid/panel/dataGridPagination.tsx +0 -123
- package/components/grid/panel/loadingOverlay.tsx +0 -14
- package/components/grid/panel/noRecordsOverlay.tsx +0 -16
- package/components/grid/panel/tablePagination.tsx +0 -77
- package/components/icons/dropdownArrow.tsx +0 -67
- package/components/icons/undoIcon.tsx +0 -16
- package/components/input/autoCompleteInput.tsx +0 -174
- package/components/input/draftUtils.tsx +0 -62
- package/components/input/hexaFormattedInput.tsx +0 -64
- package/components/input/mask/helpers.ts +0 -154
- package/components/input/mask/inputMaskCore.ts +0 -452
- package/components/input/mask/pattern.ts +0 -122
- package/components/input/maskedInput.tsx +0 -275
- package/components/input/passwordInput.tsx +0 -62
- package/components/input/simpleAutoComplete.tsx +0 -60
- package/components/input/textarea/extractSpansOfClasses.tsx +0 -125
- package/components/input/textarea/getRanges.ts +0 -82
- package/components/input/textarea/getType.ts +0 -23
- package/components/input/textarea/highlighedContents.tsx +0 -20
- package/components/input/textarea/highlightedTextarea.css +0 -61
- package/components/input/textarea/mentionsWithHighlighting.tsx +0 -95
- package/components/keyboard/keyboardUtils.ts +0 -42
- package/components/modal/draggableModalProvider.tsx +0 -37
- package/components/modal/impl/clamp.ts +0 -4
- package/components/modal/impl/draggableModal.tsx +0 -36
- package/components/modal/impl/draggableModalContext.ts +0 -14
- package/components/modal/impl/draggableModalInner.tsx +0 -114
- package/components/modal/impl/draggableModalReducer.ts +0 -285
- package/components/modal/impl/getWindowSize.ts +0 -6
- package/components/modal/impl/index.ts +0 -5
- package/components/modal/impl/resizeHandle.tsx +0 -12
- package/components/modal/impl/useDrag.ts +0 -57
- package/components/modal/impl/usePrevious.ts +0 -11
- package/components/modal/impl/useResize.ts +0 -79
- package/components/modal/modalDialog.tsx +0 -172
- package/components/picker/enumValuePicker.tsx +0 -48
- package/components/platformSpecific.ts +0 -39
- package/components/scrollTo/dom-scroll-into-view.d.ts +0 -1
- package/components/scrollTo/onlyText.ts +0 -36
- package/components/scrollTo/scrollTo.tsx +0 -324
- package/components/style/withCss.tsx +0 -14
- package/components/style/withInputNumberCss.tsx +0 -18
- package/components/svg.d.ts +0 -1
- package/components/table/dragSortingTable.tsx +0 -123
- package/components/text/impl/innerSize.ts +0 -15
- package/components/text/impl/series.ts +0 -37
- package/components/text/impl/shallowEqual.ts +0 -19
- package/components/text/impl/uniqueId.ts +0 -5
- package/components/text/impl/whilst.ts +0 -25
- package/components/text/textFit.tsx +0 -229
- package/i18n/componentsLocaleLoader.d.ts +0 -9
- package/lib/esm/components/codemirror/SyntaxHighlighter.js.map +0 -1
- package/lib/esm/components/color/colorSwatch.d.ts +0 -13
- package/lib/esm/components/color/colorSwatch.js.map +0 -1
- package/lib/esm/components/date/dateRangeInput.js.map +0 -1
- package/lib/esm/components/date/dateTimeInput.js.map +0 -1
- package/lib/esm/components/date/durationInput.js.map +0 -1
- package/lib/esm/components/grid/cell/rangeSelector.d.ts +0 -78
- package/lib/esm/components/grid/cell/rangeSelector.js +0 -527
- package/lib/esm/components/grid/columnUtils.js.map +0 -1
- package/lib/esm/components/grid/export/progressPopup.js.map +0 -1
- package/lib/esm/components/icons/undoIcon.js.map +0 -1
- package/lib/esm/components/input/draftUtils.js.map +0 -1
- package/lib/esm/components/input/draftail.d.ts +0 -1
- package/lib/esm/components/input/draftail.js +0 -2
- package/lib/esm/components/input/mask/inputMaskCore.js.map +0 -1
- package/lib/esm/components/input/mask/pattern.js.map +0 -1
- package/lib/esm/components/input/passwordInput.js.map +0 -1
- package/lib/esm/components/input/textarea/extractSpansOfClasses.js.map +0 -1
- package/lib/esm/components/input/textarea/getRanges.js.map +0 -1
- package/lib/esm/components/input/textarea/mentionsWithHighlighting.js.map +0 -1
- package/lib/esm/components/platformSpecific.js.map +0 -1
- package/lib/esm/components/text/impl/series.js.map +0 -1
- package/lib/esm/components/text/impl/whilst.js.map +0 -1
- package/lib/esm/i18n/components.cs.json +0 -101
- package/lib/esm/i18n/components.sk.json +0 -101
- package/lib/esm/i18n/components.uk.json +0 -101
- package/lib/esm/i18n/componentsLocaleHolder.js +0 -29
- package/lib/esm/i18n/componentsLocaleHolder.js.map +0 -1
- package/lib/esm/package.json +0 -70
- package/lib/esm/tsconfig.build.json +0 -24
- package/lib/esm/tsconfig.json +0 -11
- /package/{lib/esm/components → components}/clipboard/clipboardUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/clipboard/clipboardUtils.js +0 -0
- /package/{lib/esm/components → components}/clipboard/clipboardUtils.js.map +0 -0
- /package/{lib/esm/components → components}/codemirror/SyntaxHighlighter.d.ts +0 -0
- /package/{lib/esm/components → components}/codemirror/SyntaxHighlighter.js +0 -0
- /package/{lib/esm/components → components}/collapse/expandable.d.ts +0 -0
- /package/{lib/esm/components → components}/collapse/expandable.js +0 -0
- /package/{lib/esm/components → components}/collapse/expandable.js.map +0 -0
- /package/{lib/esm/components → components}/color/colorPicker.d.ts +0 -0
- /package/{lib/esm/components → components}/color/colorPicker.js +0 -0
- /package/{lib/esm/components → components}/color/colorPicker.js.map +0 -0
- /package/{lib/esm/components → components}/color/colorSwatch.js +0 -0
- /package/{lib/esm/components → components}/color/colorUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/color/colorUtils.js +0 -0
- /package/{lib/esm/components → components}/color/colorUtils.js.map +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInput.d.ts +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputAdvancedPanel.d.ts +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputAdvancedPanel.js +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputAdvancedPanel.js.map +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputConfirm.d.ts +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputConfirm.js +0 -0
- /package/{lib/esm/components → components}/date/dateRangeInputConfirm.js.map +0 -0
- /package/{lib/esm/components → components}/date/dateTimeInput.d.ts +0 -0
- /package/{lib/esm/components → components}/date/durationInput.d.ts +0 -0
- /package/{lib/esm/components → components}/form/NiceFormItem.d.ts +0 -0
- /package/{lib/esm/components → components}/form/NiceFormItem.js +0 -0
- /package/{lib/esm/components → components}/form/NiceFormItem.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/beanAccessor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/beanAccessor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/beanAccessor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/cellEditorUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/cellEditorUtils.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/customEnumCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/customEnumCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/customEnumCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/dataGridCellEditorComponent.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/dataGridCellEditorComponent.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/dataGridCellEditorComponent.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/dateCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/dateCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/dateCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/durationCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/durationCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/durationCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaOctetStringCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaOctetStringCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaOctetStringCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaValueCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaValueCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/hexaValueCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/numberCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/numberCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/numberCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/rangeSelector.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/simpleStatusTextCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/simpleStatusTextCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/simpleStatusTextCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/statusTextCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/statusTextCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/statusTextCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/tableDefaultRowStyleRules.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/tableDefaultRowStyleRules.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/tableDefaultRowStyleRules.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/textCellEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/textCellEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/textCellEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/cell/withAgGridHooks.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/cell/withAgGridHooks.js +0 -0
- /package/{lib/esm/components → components}/grid/cell/withAgGridHooks.js.map +0 -0
- /package/{lib/esm/components → components}/grid/columnUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/columnUtils.js +0 -0
- /package/{lib/esm/components → components}/grid/config/columnTransfer.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/config/columnTransfer.js +0 -0
- /package/{lib/esm/components → components}/grid/config/columnTransfer.js.map +0 -0
- /package/{lib/esm/components → components}/grid/config/dataGridEditor.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/config/dataGridEditor.js +0 -0
- /package/{lib/esm/components → components}/grid/config/dataGridEditor.js.map +0 -0
- /package/{lib/esm/components → components}/grid/config/rowHeightCalculator.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/config/rowHeightCalculator.js +0 -0
- /package/{lib/esm/components → components}/grid/config/rowHeightCalculator.js.map +0 -0
- /package/{lib/esm/components → components}/grid/config/rowStylePicker.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/config/rowStylePicker.js +0 -0
- /package/{lib/esm/components → components}/grid/config/rowStylePicker.js.map +0 -0
- /package/{lib/esm/components → components}/grid/dataGrid.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/dataGrid.js +0 -0
- /package/{lib/esm/components → components}/grid/dataGrid.js.map +0 -0
- /package/{lib/esm/components → components}/grid/detail/detailHeaderPanel.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/detail/detailHeaderPanel.js +0 -0
- /package/{lib/esm/components → components}/grid/detail/detailHeaderPanel.js.map +0 -0
- /package/{lib/esm/components → components}/grid/export/contextMenu.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/contextMenu.js.map +0 -0
- /package/{lib/esm/components → components}/grid/export/progressPopup.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/progressPopup.js +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/clipboardExport.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/clipboardExport.js +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/csvExport.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/csvExport.js +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/pdfExport.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/pdfExport.js +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/pdfExport.js.map +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/txtExport.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/export/worker/txtExport.js +0 -0
- /package/{lib/esm/components → components}/grid/extendedDataGrid.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/extendedDataGrid.js +0 -0
- /package/{lib/esm/components → components}/grid/extendedDataGrid.js.map +0 -0
- /package/{lib/esm/components → components}/grid/filter/customColumnFilter.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/filter/customColumnFilter.js +0 -0
- /package/{lib/esm/components → components}/grid/filter/customColumnFilter.js.map +0 -0
- /package/{lib/esm/components → components}/grid/filter/dataGridColumnFilter.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/filter/dataGridColumnFilter.js +0 -0
- /package/{lib/esm/components → components}/grid/filter/dataGridColumnFilter.js.map +0 -0
- /package/{lib/esm/components → components}/grid/filter/dateColumnFilter.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/filter/dateColumnFilter.js +0 -0
- /package/{lib/esm/components → components}/grid/filter/dateColumnFilter.js.map +0 -0
- /package/{lib/esm/components → components}/grid/filter/textColumnFilter.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/filter/textColumnFilter.js +0 -0
- /package/{lib/esm/components → components}/grid/filter/textColumnFilter.js.map +0 -0
- /package/{lib/esm/components → components}/grid/filter/wildcardQuickFilterEngine.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/filter/wildcardQuickFilterEngine.js +0 -0
- /package/{lib/esm/components → components}/grid/filter/wildcardQuickFilterEngine.js.map +0 -0
- /package/{lib/esm/components → components}/grid/header/simpleHeader.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/header/simpleHeader.js +0 -0
- /package/{lib/esm/components → components}/grid/header/simpleHeader.js.map +0 -0
- /package/{lib/esm/components → components}/grid/panel/dataGridPagination.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/panel/dataGridPagination.js +0 -0
- /package/{lib/esm/components → components}/grid/panel/dataGridPagination.js.map +0 -0
- /package/{lib/esm/components → components}/grid/panel/loadingOverlay.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/panel/loadingOverlay.js +0 -0
- /package/{lib/esm/components → components}/grid/panel/loadingOverlay.js.map +0 -0
- /package/{lib/esm/components → components}/grid/panel/noRecordsOverlay.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/panel/noRecordsOverlay.js +0 -0
- /package/{lib/esm/components → components}/grid/panel/noRecordsOverlay.js.map +0 -0
- /package/{lib/esm/components → components}/grid/panel/tablePagination.d.ts +0 -0
- /package/{lib/esm/components → components}/grid/panel/tablePagination.js +0 -0
- /package/{lib/esm/components → components}/grid/panel/tablePagination.js.map +0 -0
- /package/{lib/esm/components → components}/icons/dropdownArrow.d.ts +0 -0
- /package/{lib/esm/components → components}/icons/dropdownArrow.js +0 -0
- /package/{lib/esm/components → components}/icons/dropdownArrow.js.map +0 -0
- /package/{lib/esm/components → components}/icons/undoIcon.d.ts +0 -0
- /package/{lib/esm/components → components}/icons/undoIcon.js +0 -0
- /package/{lib/esm/components → components}/input/autoCompleteInput.d.ts +0 -0
- /package/{lib/esm/components → components}/input/autoCompleteInput.js +0 -0
- /package/{lib/esm/components → components}/input/autoCompleteInput.js.map +0 -0
- /package/{lib/esm/components → components}/input/draftUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/input/draftUtils.js +0 -0
- /package/{lib/esm/components → components}/input/hexaFormattedInput.d.ts +0 -0
- /package/{lib/esm/components → components}/input/hexaFormattedInput.js +0 -0
- /package/{lib/esm/components → components}/input/hexaFormattedInput.js.map +0 -0
- /package/{lib/esm/components → components}/input/mask/helpers.d.ts +0 -0
- /package/{lib/esm/components → components}/input/mask/helpers.js +0 -0
- /package/{lib/esm/components → components}/input/mask/helpers.js.map +0 -0
- /package/{lib/esm/components → components}/input/mask/inputMaskCore.d.ts +0 -0
- /package/{lib/esm/components → components}/input/mask/inputMaskCore.js +0 -0
- /package/{lib/esm/components → components}/input/mask/pattern.d.ts +0 -0
- /package/{lib/esm/components → components}/input/mask/pattern.js +0 -0
- /package/{lib/esm/components → components}/input/maskedInput.d.ts +0 -0
- /package/{lib/esm/components → components}/input/maskedInput.js +0 -0
- /package/{lib/esm/components → components}/input/maskedInput.js.map +0 -0
- /package/{lib/esm/components → components}/input/passwordInput.d.ts +0 -0
- /package/{lib/esm/components → components}/input/passwordInput.js +0 -0
- /package/{lib/esm/components → components}/input/simpleAutoComplete.d.ts +0 -0
- /package/{lib/esm/components → components}/input/simpleAutoComplete.js +0 -0
- /package/{lib/esm/components → components}/input/simpleAutoComplete.js.map +0 -0
- /package/{lib/esm/components → components}/input/textarea/extractSpansOfClasses.d.ts +0 -0
- /package/{lib/esm/components → components}/input/textarea/extractSpansOfClasses.js +0 -0
- /package/{lib/esm/components → components}/input/textarea/getRanges.d.ts +0 -0
- /package/{lib/esm/components → components}/input/textarea/getRanges.js +0 -0
- /package/{lib/esm/components → components}/input/textarea/getType.d.ts +0 -0
- /package/{lib/esm/components → components}/input/textarea/getType.js +0 -0
- /package/{lib/esm/components → components}/input/textarea/highlighedContents.d.ts +0 -0
- /package/{lib/esm/components → components}/input/textarea/highlighedContents.js +0 -0
- /package/{lib/esm/components → components}/input/textarea/mentionsWithHighlighting.d.ts +0 -0
- /package/{lib/esm/components → components}/input/textarea/mentionsWithHighlighting.js +0 -0
- /package/{lib/esm/components → components}/keyboard/keyboardUtils.d.ts +0 -0
- /package/{lib/esm/components → components}/keyboard/keyboardUtils.js +0 -0
- /package/{lib/esm/components → components}/modal/draggableModalProvider.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/draggableModalProvider.js +0 -0
- /package/{lib/esm/components → components}/modal/draggableModalProvider.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/clamp.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/clamp.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/clamp.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModal.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModal.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModal.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalContext.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalContext.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalContext.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalInner.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalInner.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalInner.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalReducer.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalReducer.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/draggableModalReducer.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/getWindowSize.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/getWindowSize.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/getWindowSize.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/index.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/index.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/index.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/resizeHandle.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/resizeHandle.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/resizeHandle.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/useDrag.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/useDrag.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/useDrag.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/usePrevious.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/usePrevious.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/usePrevious.js.map +0 -0
- /package/{lib/esm/components → components}/modal/impl/useResize.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/impl/useResize.js +0 -0
- /package/{lib/esm/components → components}/modal/impl/useResize.js.map +0 -0
- /package/{lib/esm/components → components}/modal/modalDialog.d.ts +0 -0
- /package/{lib/esm/components → components}/modal/modalDialog.js +0 -0
- /package/{lib/esm/components → components}/modal/modalDialog.js.map +0 -0
- /package/{lib/esm/components → components}/picker/enumValuePicker.d.ts +0 -0
- /package/{lib/esm/components → components}/picker/enumValuePicker.js +0 -0
- /package/{lib/esm/components → components}/picker/enumValuePicker.js.map +0 -0
- /package/{lib/esm/components → components}/platformSpecific.d.ts +0 -0
- /package/{lib/esm/components → components}/platformSpecific.js +0 -0
- /package/{lib/esm/components → components}/scrollTo/onlyText.d.ts +0 -0
- /package/{lib/esm/components → components}/scrollTo/onlyText.js +0 -0
- /package/{lib/esm/components → components}/scrollTo/onlyText.js.map +0 -0
- /package/{lib/esm/components → components}/scrollTo/scrollTo.d.ts +0 -0
- /package/{lib/esm/components → components}/scrollTo/scrollTo.js +0 -0
- /package/{lib/esm/components → components}/scrollTo/scrollTo.js.map +0 -0
- /package/{lib/esm/components → components}/style/withCss.d.ts +0 -0
- /package/{lib/esm/components → components}/style/withCss.js +0 -0
- /package/{lib/esm/components → components}/style/withCss.js.map +0 -0
- /package/{lib/esm/components → components}/style/withInputNumberCss.d.ts +0 -0
- /package/{lib/esm/components → components}/style/withInputNumberCss.js +0 -0
- /package/{lib/esm/components → components}/style/withInputNumberCss.js.map +0 -0
- /package/{lib/esm/components → components}/table/dragSortingTable.d.ts +0 -0
- /package/{lib/esm/components → components}/table/dragSortingTable.js +0 -0
- /package/{lib/esm/components → components}/table/dragSortingTable.js.map +0 -0
- /package/{lib/esm/components → components}/text/impl/innerSize.d.ts +0 -0
- /package/{lib/esm/components → components}/text/impl/innerSize.js +0 -0
- /package/{lib/esm/components → components}/text/impl/series.d.ts +0 -0
- /package/{lib/esm/components → components}/text/impl/series.js +0 -0
- /package/{lib/esm/components → components}/text/impl/shallowEqual.d.ts +0 -0
- /package/{lib/esm/components → components}/text/impl/shallowEqual.js +0 -0
- /package/{lib/esm/components → components}/text/impl/uniqueId.d.ts +0 -0
- /package/{lib/esm/components → components}/text/impl/uniqueId.js +0 -0
- /package/{lib/esm/components → components}/text/impl/whilst.d.ts +0 -0
- /package/{lib/esm/components → components}/text/impl/whilst.js +0 -0
- /package/{lib/esm/components → components}/text/textFit.d.ts +0 -0
- /package/{lib/esm/components → components}/text/textFit.js +0 -0
- /package/{lib/esm/components → components}/text/textFit.js.map +0 -0
- /package/{lib/esm/i18n → i18n}/componentsLocaleHolder.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyntaxHighlighter.js","sourceRoot":"","sources":["../../../../components/codemirror/SyntaxHighlighter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,kCAAkC,CAAA;AACzC,OAAO,sBAAsB,CAAA;AAa7B,MAAqB,iBAAkB,SAAQ,KAAK,CAAC,SAAiC;IAMlF,YAAY,KAAuC;QAC/C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3E,MAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,SAAS,GAA8B,IAAI,CAAA;QAC/C,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;QACpD,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACtB,QAAQ,IAAI,KAAK,CAAA;gBACjB,SAAS,GAAG,KAAK,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACJ,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,8BAAM,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,IAAG,QAAQ,CAAQ,CAAC,CAAC;gBACzG,CAAC;gBACD,QAAQ,GAAG,KAAK,CAAA;gBAChB,SAAS,GAAG,KAAK,CAAA;YACrB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CAAC,8BAAM,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,IAAG,QAAQ,CAAQ,CAAC,CAAC;QAErG,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,IAAG,OAAO,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YACnC,WAAW,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,8BAAM,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAG,QAAQ,CAAQ,CAAC,CAAC;QAClH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,6BAAK,SAAS,EAAE,GAAG,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,IAAG,IAAI,CAAO,CAAC,CAAC;IAChG,CAAC;;AAvCM,8BAAY,GAAG;IAClB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,KAAK;CAChB,CAAA;eAJgB,iBAAiB","sourcesContent":["import React from 'react'\nimport CodeMirror from 'codemirror';\nimport 'codemirror/addon/runmode/runmode'\nimport 'codemirror/mode/meta'\n\ninterface SyntaxHighlighterProps {\n // codeMirror: typeof CodeMirror\n className?: string\n theme?: string\n inline?: boolean\n mode: string\n prefix?: string\n value: string\n tooltip?:boolean\n}\n\nexport default class SyntaxHighlighter extends React.Component<SyntaxHighlighterProps> {\n static defaultProps = {\n className: '',\n prefix: 'cm-'\n }\n\n constructor(props: Readonly<SyntaxHighlighterProps>) {\n super(props);\n }\n\n render() {\n const {inline, value, mode, className, prefix, theme, tooltip} = this.props\n const elements: React.ReactNode[] = []\n let index = 0\n let lastStyle: string | null | undefined = null\n let tokenBuf = ''\n let trimmedValue = value;\n if( tooltip && value.length > 100) {\n trimmedValue = value.substring(0, 100) + \" ...\";\n }\n CodeMirror.runMode(trimmedValue, mode, (token, style) => {\n if (lastStyle === style) {\n tokenBuf += token\n lastStyle = style\n } else {\n if (tokenBuf) {\n elements.push(<span className={lastStyle ? prefix + lastStyle : ''} key={++index}>{tokenBuf}</span>);\n }\n tokenBuf = token\n lastStyle = style\n }\n })\n elements.push(<span className={lastStyle ? prefix + lastStyle : ''} key={++index}>{tokenBuf}</span>);\n\n let tooltipText: undefined | string = undefined;\n if(tooltip && trimmedValue !== value) {\n tooltipText = value;//.replace(\"\\t\",\"	\").replace(\"\\n\",\"
\");\n }\n const code = (<code title={tooltipText} className={inline ? `inline ${prefix}s-${theme}` : ''}>{elements}</code>);\n return inline ? (code) : (<pre className={`${className} ${prefix}s-${theme}`}>{code}</pre>);\n }\n}"]}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
style?: React.CSSProperties
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export default class ColorSwatch extends Component<ColorSwatchProps> {
|
|
18
|
-
}
|
|
1
|
+
export function ColorSwatch({ hover, color, onClick, onSwatchHover, style, title, active, small }: {
|
|
2
|
+
hover: any;
|
|
3
|
+
color: any;
|
|
4
|
+
onClick: any;
|
|
5
|
+
onSwatchHover: any;
|
|
6
|
+
style: any;
|
|
7
|
+
title: any;
|
|
8
|
+
active: any;
|
|
9
|
+
small: any;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
declare const _default: any;
|
|
12
|
+
export default _default;
|
|
13
|
+
import React from 'react';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorSwatch.js","sourceRoot":"","sources":["../../../../components/color/colorSwatch.jsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport reactCSS, {handleHover} from 'reactcss'\nimport {Swatch} from 'react-color/lib/components/common/Swatch'\n\nfunction invertColor(hex, bw) {\n if (hex.indexOf('#') === 0) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n if (hex.length !== 6) {\n throw new Error('Invalid HEX color.');\n }\n var r = parseInt(hex.slice(0, 2), 16),\n g = parseInt(hex.slice(2, 4), 16),\n b = parseInt(hex.slice(4, 6), 16);\n if (bw) {\n // http://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) > 186\n ? '#000000'\n : '#FFFFFF';\n }\n // invert color components\n r = (255 - r).toString(16);\n g = (255 - g).toString(16);\n b = (255 - b).toString(16);\n // pad each with zeros and return\n return \"#\" + padZero(r) + padZero(g) + padZero(b);\n}\n\nexport const ColorSwatch = ({hover, color, onClick, onSwatchHover, style, title, active, small}) => {\n const hoverSwatch = {\n transform: \"scale(1.5)\",\n position: 'relative',\n zIndex: '3',\n }\n const focusSwatch = {\n position: 'relative',\n zIndex: '2',\n transform: \"scale(1.2)\",\n boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)',\n cursor:\"pointer\"\n }\n\n const styles = reactCSS({\n 'default': {\n swatch: {\n display: \"inline-block\",\n transform: \"scale(1)\",\n width: !!small ? '15px' : '22px',\n height: !!small ? '15px' : '22px',\n margin: '2px',\n marginTop: 0,\n marginBottom: 0,\n fontSize: '0',\n },\n },\n 'hover': {\n swatch: small ? {} : hoverSwatch,\n },\n }, {hover})\n\n\n return (\n <div style={styles.swatch}>\n {active &&\n <div style={{fill: invertColor(color, true), position: \"absolute\", left: 1, top: 1, zIndex: 10,}}>\n <svg viewBox=\"0 0 24 24\" style={{width: 20, height: 20}}>\n <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"/>\n </svg>\n </div>}\n <Swatch\n color={color}\n onClick={onClick}\n onHover={onSwatchHover}\n focus={active}\n focusStyle={focusSwatch}\n style={style}\n title={title}\n />\n </div>\n )\n}\n\nexport default handleHover(ColorSwatch)"]}
|
|
@@ -243,7 +243,7 @@ export default class DateRangeInput extends React.Component {
|
|
|
243
243
|
customClassName += " ant-input-disabled";
|
|
244
244
|
}
|
|
245
245
|
return (React.createElement("div", { style: Object.assign(Object.assign({}, style), { padding: 0, position: "relative" }), className: customClassName, onFocus: this.props.onFocus, onBlur: this.props.onBlur },
|
|
246
|
-
React.createElement("div", { style: { display: "flex", paddingRight: 8 } },
|
|
246
|
+
React.createElement("div", { style: { display: "flex", justifyContent: "space-between", paddingRight: 8 } },
|
|
247
247
|
React.createElement(DateTimeInput, Object.assign({ value: fromValue }, props, { disabled: disabled, inputDisabled: this.state.popupVisible, allowClear: allowClear, bordered: false, hidePopup: true, style: { width: "auto" }, inputStyle: { paddingRight: 2 }, onChange: (value) => {
|
|
248
248
|
var _a, _b;
|
|
249
249
|
(_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value, this.props.toValue);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateRangeInput.js","sourceRoot":"","sources":["../../../../components/date/dateRangeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {HTMLAttributes} from \"react\";\r\nimport dayjs, { Dayjs } from \"dayjs\";\r\nimport {CalendarOutlined} from \"@ant-design/icons\";\r\nimport {Divider, Switch, Tag, Tooltip} from \"antd\";\r\nimport DateTimeInput from \"./dateTimeInput\";\r\nimport memoizeOne from \"memoize-one\";\r\nimport {TooltipPlacement} from \"antd/es/tooltip\";\r\nimport KeyboardUtils from \"../keyboard/keyboardUtils\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport DateRangeInputAdvancedPanel, {TimeShiftDirection} from \"./dateRangeInputAdvancedPanel\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\n\r\nexport enum DateRangeInputMode {\r\n SIMPLE,\r\n ADVANCED,\r\n}\r\n\r\nexport interface DateRangeInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\r\n mask: string\r\n fromValue: Dayjs | null\r\n toValue: Dayjs | null\r\n onChange?: (fromValue: Dayjs | null, toValue: Dayjs | null) => void\r\n onInvalidValue?: (input: string) => void\r\n disabled?: boolean\r\n minDateTime?: Dayjs\r\n maxDateTime?: Dayjs\r\n // allows to set no (null) date by datepicker\r\n allowClear?: boolean\r\n ranges?: { [rangeName: string]: () => [Dayjs, Dayjs] }\r\n size?: SizeType;\r\n\r\n hidePopup?: boolean\r\n renderAsCalendar?: boolean\r\n placement?: TooltipPlacement\r\n align?: {\r\n points?: [string, string];\r\n offset?: [number, number];\r\n targetOffset?: [number, number];\r\n overflow?: {\r\n adjustX?: boolean;\r\n adjustY?: boolean;\r\n };\r\n useCssRight?: boolean;\r\n useCssBottom?: boolean;\r\n useCssTransform?: boolean;\r\n }\r\n\r\n defaultMode?: DateRangeInputMode\r\n\r\n onModeChange?(mode: DateRangeInputMode): void\r\n\r\n onFocus?(): void\r\n\r\n onBlur?(): void\r\n\r\n confirmButtonsRenderer?(): React.ReactNode\r\n\r\n onPopupVisibleChange?(visible: boolean): void\r\n}\r\n\r\ninterface DateRangeInputState {\r\n valid: boolean\r\n selectionStartDate: Dayjs | null\r\n popupKeyIndex: number\r\n popupVisible: boolean\r\n\r\n mode: DateRangeInputMode\r\n}\r\n\r\nexport default class DateRangeInput extends React.Component<DateRangeInputProps, DateRangeInputState> {\r\n constructor(props: Readonly<DateRangeInputProps>) {\r\n super(props);\r\n this.state = {\r\n valid: !!props.fromValue && props.fromValue.isValid() && !!props.toValue && props.toValue.isValid(),\r\n selectionStartDate: null,\r\n popupKeyIndex: 0,\r\n popupVisible: false,\r\n\r\n mode: props.defaultMode ?? DateRangeInputMode.SIMPLE,\r\n };\r\n this.getDefaultSelectedDateForFromPanel = memoizeOne(this.getDefaultSelectedDateForFromPanel.bind(this));\r\n }\r\n\r\n componentDidUpdate(_prevProps: Readonly<DateRangeInputProps>, prevState: Readonly<DateRangeInputState>) {\r\n if (prevState.popupVisible !== this.state.popupVisible && this.props.onPopupVisibleChange) {\r\n this.props.onPopupVisibleChange(this.state.popupVisible);\r\n }\r\n }\r\n\r\n getDefaultSelectedDateForFromPanel(fromDate: Dayjs | null, toDate: Dayjs | null): Dayjs {\r\n if (!!fromDate && !!toDate && fromDate.isSame(toDate, \"date\")) {\r\n return fromDate.clone().subtract(1, \"month\");\r\n } else {\r\n return fromDate ?? dayjs().startOf(\"day\").subtract(1, \"month\");\r\n }\r\n }\r\n\r\n private getFromValue(date: Dayjs) {\r\n return (this.props.fromValue?.clone() ?? dayjs().startOf(\"day\")).year(date.year()).month(date.month()).date(date.date());\r\n }\r\n\r\n private getToValue(date: Dayjs) {\r\n return (this.props.toValue?.clone() ?? dayjs().endOf(\"day\")).year(date.year()).month(date.month()).date(date.date());\r\n }\r\n\r\n closePopup() {\r\n // close tooltip\r\n this.setState({popupKeyIndex: this.state.popupKeyIndex + 1, popupVisible: false});\r\n this.props.onPopupVisibleChange?.(false);\r\n }\r\n\r\n private onChange(fromValue: Dayjs | null, toValue: Dayjs | null) {\r\n if (this.props.minDateTime && fromValue?.isBefore(this.props.minDateTime)) {\r\n fromValue = this.props.minDateTime;\r\n }\r\n if (this.props.maxDateTime && toValue?.isAfter(this.props.maxDateTime)) {\r\n toValue = this.props.maxDateTime;\r\n }\r\n this.props.onChange?.(fromValue, toValue);\r\n }\r\n\r\n private renderSimplePart() {\r\n const {\r\n fromValue,\r\n toValue,\r\n onChange,\r\n style,\r\n allowClear,\r\n renderAsCalendar,\r\n hidePopup,\r\n align,\r\n defaultMode,\r\n onModeChange,\r\n confirmButtonsRenderer,\r\n onPopupVisibleChange,\r\n ...props\r\n } = this.props;\r\n const markedDateInterval: [Dayjs, Dayjs] | undefined = this.props.fromValue && this.props.toValue ? [this.props.fromValue, this.props.toValue] : undefined;\r\n\r\n return (\r\n <div>\r\n <div style={{display: \"flex\"}}>\r\n <DateTimeInput value={fromValue} {...props}\r\n allowClear={allowClear}\r\n renderAsCalendar\r\n style={{width: \"100%\"}}\r\n onChange={(date) => {\r\n if (date) {\r\n const fromValue = this.getFromValue(date);\r\n const toValue = this.getToValue(date);\r\n this.props.onChange?.(fromValue, toValue);\r\n }\r\n }}\r\n defaultSelectedDate={this.getDefaultSelectedDateForFromPanel(fromValue, toValue)}\r\n markedDateInterval={markedDateInterval}\r\n onDateItemMouseDown={(date) => {\r\n this.setState({selectionStartDate: date});\r\n const dateFrom = this.getFromValue(date);\r\n const dateTo = this.getToValue(date);\r\n this.props.onChange?.(dateFrom, dateTo);\r\n }}\r\n onDateItemMouseOver={(date) => {\r\n if (KeyboardUtils.isMouseDown() && !!this.state.selectionStartDate) {\r\n let dateFrom: Dayjs;\r\n let dateTo: Dayjs;\r\n if (this.state.selectionStartDate.isBefore(date)) {\r\n dateFrom = this.state.selectionStartDate;\r\n dateTo = date;\r\n } else {\r\n dateFrom = date;\r\n dateTo = this.state.selectionStartDate;\r\n }\r\n dateFrom = this.getFromValue(dateFrom);\r\n dateTo = this.getToValue(dateTo);\r\n this.props.onChange?.(dateFrom, dateTo);\r\n }\r\n }}\r\n onDateItemMouseUp={(_date) => {\r\n this.setState({selectionStartDate: null});\r\n }}\r\n ignoreKeyStrokes\r\n />\r\n <Divider type=\"vertical\" style={{height: \"auto\"}}/>\r\n <DateTimeInput value={toValue} {...props}\r\n renderAsCalendar\r\n allowClear={allowClear}\r\n style={{width: \"100%\"}}\r\n onChange={(date) => {\r\n if (date) {\r\n const fromValue = this.getFromValue(date);\r\n const toValue = this.getToValue(date);\r\n this.props.onChange?.(fromValue, toValue);\r\n }\r\n }}\r\n markedDateInterval={markedDateInterval}\r\n onDateItemMouseDown={(date) => {\r\n this.setState({selectionStartDate: date});\r\n const dateFrom = this.getFromValue(date);\r\n const dateTo = this.getToValue(date);\r\n this.props.onChange?.(dateFrom, dateTo);\r\n }}\r\n onDateItemMouseOver={(date) => {\r\n if (KeyboardUtils.isMouseDown() && !!this.state.selectionStartDate) {\r\n let dateFrom: Dayjs;\r\n let dateTo: Dayjs;\r\n if (this.state.selectionStartDate.isBefore(date)) {\r\n dateFrom = this.state.selectionStartDate;\r\n dateTo = date;\r\n } else {\r\n dateFrom = date;\r\n dateTo = this.state.selectionStartDate;\r\n }\r\n dateFrom = this.getFromValue(dateFrom);\r\n dateTo = this.getToValue(dateTo);\r\n this.props.onChange?.(dateFrom, dateTo);\r\n }\r\n }}\r\n onDateItemMouseUp={(_date) => {\r\n this.setState({selectionStartDate: null});\r\n }}\r\n ignoreKeyStrokes\r\n />\r\n </div>\r\n <div style={{borderTop: \"1px solid #ddd\", paddingTop: 6}}>\r\n {\r\n this.props.ranges && Object.keys(this.props.ranges).map((rangeName, index) => {\r\n return (<Tag style={{userSelect: \"none\", cursor: \"pointer\"}} color=\"blue\"\r\n key={`range-${index}`}\r\n onClick={() => {\r\n const rangeFunction = this.props.ranges?.[rangeName];\r\n if (rangeFunction) {\r\n const range = rangeFunction();\r\n this.props.onChange?.(range[0], range[1]);\r\n }\r\n }}>\r\n {rangeName}</Tag>);\r\n })\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n private renderAdvancedPart() {\r\n const {\r\n fromValue,\r\n toValue,\r\n onChange,\r\n style,\r\n allowClear,\r\n renderAsCalendar,\r\n hidePopup,\r\n align,\r\n defaultMode,\r\n onModeChange,\r\n confirmButtonsRenderer,\r\n onPopupVisibleChange,\r\n ...props\r\n } = this.props;\r\n return (\r\n <div>\r\n <div style={{display: \"flex\"}}>\r\n <DateTimeInput\r\n {...props}\r\n style={{width: \"47%\"}}\r\n value={fromValue}\r\n onChange={(value) => {\r\n this.props.onChange?.(value, this.props.toValue);\r\n }}\r\n />\r\n <span style={{width: \"6%\", paddingTop: 4, color: \"rgba(0, 0, 0, 0.65)\", textAlign: \"center\"}}>\r\n {\"\\u27F7\"}\r\n </span>\r\n <DateTimeInput\r\n {...props}\r\n style={{width: \"47%\"}}\r\n value={toValue}\r\n onChange={(value) => {\r\n this.props.onChange?.(this.props.fromValue, value);\r\n }}\r\n />\r\n </div>\r\n <DateRangeInputAdvancedPanel\r\n onBeginIntervalChange={unit => {\r\n let from: Dayjs;\r\n if (unit === \"15minutes\") {\r\n const roundedMinutes = Math.floor(dayjs().minute() / 15) * 15;\r\n from = dayjs().startOf(\"hour\").minute(roundedMinutes);\r\n } else {\r\n from = dayjs().startOf(unit);\r\n }\r\n this.onChange(from, this.props.toValue);\r\n }}\r\n onIntervalDurationChange={unitOfTime => {\r\n if (this.props.fromValue) {\r\n let to: Dayjs;\r\n if (unitOfTime === \"4years\") {\r\n to = this.props.fromValue.clone().add(4, \"year\").subtract(1, \"millisecond\");\r\n } else {\r\n to = this.props.fromValue.clone().add(1, unitOfTime).subtract(1, \"millisecond\")\r\n }\r\n this.onChange(this.props.fromValue, to);\r\n }\r\n }}\r\n onTimeShift={(shiftBegin, shiftEnd, unitOfTime, type) => {\r\n let fromValue = this.props.fromValue ?? null;\r\n let toValue = this.props.toValue ?? null;\r\n\r\n if (shiftBegin && fromValue) {\r\n if (type === TimeShiftDirection.INCREMENT) {\r\n fromValue = fromValue.add(1, unitOfTime);\r\n } else if (type === TimeShiftDirection.DECREMENT) {\r\n fromValue = fromValue.subtract(1, unitOfTime);\r\n }\r\n }\r\n\r\n if (shiftEnd && toValue) {\r\n if (type === TimeShiftDirection.INCREMENT) {\r\n toValue = toValue.add(1, unitOfTime);\r\n } else if (type === TimeShiftDirection.DECREMENT) {\r\n toValue = toValue.subtract(1, unitOfTime);\r\n }\r\n }\r\n\r\n this.onChange(fromValue, toValue);\r\n }}\r\n onEndIntervalChange={unit => {\r\n let to: Dayjs;\r\n if (unit === \"15minutes\") {\r\n const roundedMinutes = Math.floor(dayjs().minute() / 15) * 15;\r\n to = dayjs().startOf(\"hour\").minute(roundedMinutes).subtract(1, \"millisecond\");\r\n } else {\r\n to = dayjs().startOf(unit).subtract(1, \"millisecond\");\r\n }\r\n this.onChange(this.props.fromValue, to);\r\n }}\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n renderPopup(): React.ReactElement {\r\n return (\r\n <div onFocus={this.props.onFocus} onBlur={this.props.onBlur}>\r\n {this.state.mode === DateRangeInputMode.SIMPLE && this.renderSimplePart()}\r\n {this.state.mode === DateRangeInputMode.ADVANCED && this.renderAdvancedPart()}\r\n <div style={{display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-end\"}}>\r\n <Switch\r\n style={{float: \"right\", marginTop: 8}}\r\n checked={this.state.mode === DateRangeInputMode.ADVANCED}\r\n onChange={checked => {\r\n const mode = checked ? DateRangeInputMode.ADVANCED : DateRangeInputMode.SIMPLE;\r\n this.setState({mode: mode});\r\n this.props.onModeChange?.(mode);\r\n }}\r\n checkedChildren={i18n(\"Advanced Mode\")}\r\n unCheckedChildren={i18n(\"Simple Mode\")}\r\n />\r\n {this.props.confirmButtonsRenderer?.()}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderInput() {\r\n const {\r\n className,\r\n fromValue,\r\n toValue,\r\n onChange,\r\n style,\r\n allowClear,\r\n renderAsCalendar,\r\n hidePopup,\r\n align,\r\n disabled,\r\n defaultMode,\r\n onModeChange,\r\n confirmButtonsRenderer,\r\n onPopupVisibleChange,\r\n ...props\r\n } = this.props;\r\n\r\n let customClassName = `ant-input ant-input-outlined ${className ?? \"\"}`;\r\n if (disabled || this.state.popupVisible) {\r\n customClassName += \" ant-input-disabled\";\r\n }\r\n\r\n return (\r\n <div style={{...style, padding: 0, position: \"relative\"}} className={customClassName} onFocus={this.props.onFocus}\r\n onBlur={this.props.onBlur}>\r\n <div style={{display: \"flex\", justifyContent: \"space-between\", paddingRight: 8}}>\r\n <DateTimeInput value={fromValue} {...props}\r\n disabled={disabled}\r\n inputDisabled={this.state.popupVisible}\r\n allowClear={allowClear}\r\n bordered={false}\r\n hidePopup={true}\r\n style={{width: \"auto\"}}\r\n inputStyle={{paddingRight: 2}}\r\n onChange={(value) => {\r\n this.props.onChange?.(value, this.props.toValue);\r\n }}\r\n />\r\n <span style={{alignSelf: \"center\"}}>{\"\\u27F7\"}</span>\r\n <DateTimeInput value={toValue} {...props}\r\n disabled={disabled}\r\n inputDisabled={this.state.popupVisible}\r\n allowClear={allowClear}\r\n bordered={false}\r\n hidePopup={true}\r\n style={{width: \"auto\"}}\r\n inputStyle={{paddingLeft: 2}}\r\n onChange={(value) => {\r\n this.props.onChange?.(this.props.fromValue, value);\r\n }}\r\n />\r\n {!hidePopup && !renderAsCalendar &&\r\n <CalendarOutlined\r\n style={{cursor: (disabled || this.state.popupVisible) ? \"not-allowed\" : \"pointer\"}}\r\n onClick={(event) => {\r\n if (!disabled && document.createEvent) {\r\n if (this.state.popupVisible) {\r\n this.closePopup();\r\n } else {\r\n var ev = document.createEvent('HTMLEvents');\r\n ev.initEvent('contextmenu', true, false);\r\n event.target.dispatchEvent(ev);\r\n this.props.onFocus?.();\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n render(): any {\r\n if (this.props.renderAsCalendar) {\r\n return this.renderPopup();\r\n } else if (this.props.hidePopup) {\r\n return this.renderInput();\r\n } else {\r\n return (\r\n <Tooltip color={\"white\"}\r\n key={\"date-range-popup-\" + this.state.popupKeyIndex}\r\n trigger={this.props.disabled ? [] : [\"contextMenu\"]}\r\n align={this.props.align}\r\n placement={this.props.placement}\r\n overlayInnerStyle={{maxHeight: \"100vh\", overflowY: \"auto\", overflowX: \"hidden\"}}\r\n onOpenChange={(visible) => {\r\n if (visible) {\r\n this.props.onFocus?.();\r\n } else {\r\n this.props.onBlur?.();\r\n }\r\n this.setState({popupVisible: visible});\r\n }}\r\n overlayClassName={\"date-range-picker-popup\"}\r\n title={this.renderPopup()}>\r\n {this.renderInput()}\r\n </Tooltip>\r\n );\r\n }\r\n }\r\n}"]}
|
|
@@ -14,7 +14,7 @@ import MaskedInput from "../input/maskedInput";
|
|
|
14
14
|
import padStart from 'lodash/padStart';
|
|
15
15
|
import isEqual from 'lodash/isEqual';
|
|
16
16
|
import debounce from 'lodash/debounce';
|
|
17
|
-
import dayjs from "dayjs";
|
|
17
|
+
import dayjs from "d2core/dayjs";
|
|
18
18
|
import { CalendarOutlined } from "@ant-design/icons";
|
|
19
19
|
import { Button, Calendar, Select, Tooltip } from "antd";
|
|
20
20
|
import { Key } from "ts-key-enum";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateTimeInput.js","sourceRoot":"","sources":["../../../../components/date/dateTimeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {HTMLAttributes, RefObject} from \"react\";\r\nimport MaskedInput from \"../input/maskedInput\";\r\nimport padStart from 'lodash/padStart';\r\nimport isEqual from 'lodash/isEqual';\r\nimport debounce from 'lodash/debounce';\r\nimport {Dayjs, ManipulateType} from \"dayjs\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {CalendarOutlined} from \"@ant-design/icons\";\r\nimport {Button, Calendar, Select, Tooltip} from \"antd\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport {D2000UnixTimeNullValue} from \"d2core/types/unixTimeUtils\";\r\nimport {TooltipPlacement} from \"antd/lib/tooltip\";\r\nimport {createStyles} from \"antd-style\";\r\nimport WithCss from \"d2coreui/components/style/withCss\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\n\r\n// @ts-ignore\r\nconst useStyles = createStyles(({token, css, cx}) => {\r\n return {\r\n dateTimeInputCalendar: css`\r\n // adaptations of date-picker calendar styles\r\n .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner:not(.date-picker-item-marked) {\r\n color: inherit;\r\n background: inherit;\r\n }\r\n\r\n .ant-picker-panel:focus > .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner:before {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n border: 1px solid #096dd9;\r\n border-radius: 2px;\r\n content: '';\r\n }\r\n\r\n .ant-picker-content thead {\r\n user-select: none;\r\n }\r\n\r\n .date-picker-item-marked {\r\n color: #fff;\r\n background: #1890ff;\r\n }\r\n\r\n .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {\r\n border: 1px solid #13c2c2;\r\n }\r\n\r\n .ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner {\r\n background: #1890ff;\r\n color: rgba(0, 0, 0, 0.85);\r\n }\r\n `,\r\n }\r\n});\r\n\r\n\r\ninterface DateTimeInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\r\n mask: string\r\n value: Dayjs | null\r\n onChange?: (time: Dayjs | null) => void\r\n onInvalidValue?: (inputString: string) => void\r\n // allows to set no (null) date by datepicker\r\n allowClear?: boolean\r\n disabled?: boolean\r\n // disable only input component - useful when calendar popup is opened\r\n inputDisabled?: boolean\r\n minDateTime?: Dayjs\r\n maxDateTime?: Dayjs\r\n\r\n bordered?: boolean\r\n hidePopup?: boolean\r\n renderAsCalendar?: boolean\r\n autoFocus?: boolean\r\n placement?: TooltipPlacement;\r\n size?: SizeType;\r\n\r\n // special methods for rendering date range\r\n defaultSelectedDate?: Dayjs\r\n markedDateInterval?: [Dayjs, Dayjs]\r\n onDateItemMouseDown?: (date: Dayjs) => void\r\n onDateItemMouseUp?: (date: Dayjs) => void\r\n onDateItemMouseOver?: (date: Dayjs) => void\r\n\r\n inputStyle?: React.CSSProperties\r\n getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;\r\n\r\n ignoreKeyStrokes?: boolean\r\n}\r\n\r\ninterface DateTimeInputState {\r\n valid: boolean\r\n currentPos: number | null\r\n currentInfo: MaskResult\r\n popupCalendarVisible: boolean\r\n\r\n calendarSelectedDate: Dayjs\r\n focused: boolean\r\n}\r\n\r\ninterface MaskResult {\r\n time: Dayjs | undefined\r\n info: InfoEntry | undefined\r\n length: number\r\n}\r\n\r\ninterface InfoEntry {\r\n key: string | string[]\r\n min: number | number[]\r\n max: number | number[]\r\n unit: ManipulateType\r\n}\r\n\r\nconst DATE_TIME_DATA_MAP: InfoEntry[] = [\r\n {key: \"SSS\", min: 0, max: 999, unit: \"ms\"},\r\n {key: \"ss\", min: 0, max: 59, unit: \"s\"},\r\n {key: \"mm\", min: 0, max: 59, unit: \"m\"},\r\n {key: \"HH\", min: 0, max: 23, unit: \"h\"},\r\n {key: [\"YYYY\", \"YY\"], min: [1900, 0], max: [9999, 99], unit: \"y\"},\r\n {key: \"MM\", min: 1, max: 12, unit: \"M\"},\r\n {key: \"DD\", min: 1, max: 31, unit: \"d\"},\r\n];\r\n\r\nconst MIN_TIME = dayjs.unix(0);\r\nconst MAX_TIME = dayjs().add(1000, \"year\");\r\n\r\nexport function allowDatesBeforeEpoch() {\r\n DATE_TIME_DATA_MAP[4].min = 1902;\r\n}\r\n\r\nexport default class DateTimeInput extends React.Component<DateTimeInputProps, DateTimeInputState> {\r\n private inputRef: RefObject<MaskedInput> = React.createRef();\r\n private today: Dayjs = dayjs();\r\n\r\n constructor(props: Readonly<DateTimeInputProps>) {\r\n super(props);\r\n this.state = {\r\n valid: DateTimeInput.isValidValue(props.value, props.minDateTime, props.maxDateTime, props.allowClear),\r\n currentPos: null,\r\n currentInfo: {\r\n info: undefined,\r\n time: undefined,\r\n length: 0\r\n },\r\n popupCalendarVisible: false,\r\n calendarSelectedDate: props.defaultSelectedDate?.clone() ?? props.value?.clone() ?? dayjs().startOf('day'),\r\n focused: false,\r\n };\r\n\r\n this.recalc = this.recalc.bind(this);\r\n this.increment = this.increment.bind(this);\r\n this.decrement = this.decrement.bind(this);\r\n this.onItemMouseOver = debounce(this.onItemMouseOver.bind(this), 100, {maxWait: 100});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<DateTimeInputProps>, _prevState: Readonly<DateTimeInputState>, _snapshot?: any): void {\r\n if (!isEqual(prevProps, this.props) && this.inputRef.current !== null) {\r\n this.inputRef.current.input.selectionStart = this.state.currentPos;\r\n this.inputRef.current.input.selectionEnd = this.state.currentPos;\r\n if (prevProps.value !== this.props.value) {\r\n this.setState({valid: DateTimeInput.isValidValue(this.props.value, this.props.minDateTime, this.props.maxDateTime, this.props.allowClear)});\r\n }\r\n }\r\n }\r\n\r\n get input() {\r\n return this.inputRef.current?.input;\r\n }\r\n\r\n focus() {\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n recalc(): void {\r\n if (this.inputRef.current !== null) {\r\n this.setState({\r\n currentInfo: DateTimeInput.parseDateTimeFormat(this.props.value, this.inputRef.current.input.value, this.props.mask, this.inputRef.current.input.selectionStart),\r\n currentPos: this.inputRef.current.input.selectionStart,\r\n });\r\n }\r\n }\r\n\r\n private increment(): void {\r\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1)) {\r\n const unit = this.state.currentInfo.info.unit;\r\n this.incrementDate(unit);\r\n }\r\n\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n private incrementDate(unit: ManipulateType) {\r\n if (!!this.props.value) {\r\n const value = this.props.value.clone().add(1, unit);\r\n if (!!this.props.maxDateTime && value.isAfter(this.props.maxDateTime)) {\r\n this.props.onChange?.(this.props.maxDateTime?.clone());\r\n } else {\r\n this.props.onChange?.(value);\r\n }\r\n }\r\n }\r\n\r\n private decrement(): void {\r\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1)) {\r\n const unit = this.state.currentInfo.info.unit;\r\n this.decrementDate(unit);\r\n }\r\n\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n private decrementDate(unit: ManipulateType) {\r\n if (!!this.props.value) {\r\n const value = this.props.value.clone().subtract(1, unit);\r\n if (!!this.props.minDateTime && value.isBefore(this.props.minDateTime)) {\r\n this.props.onChange?.(this.props.minDateTime?.clone());\r\n } else {\r\n this.props.onChange?.(value);\r\n }\r\n }\r\n }\r\n\r\n onItemMouseOver(itemDate: Dayjs) {\r\n this.props.onDateItemMouseOver?.(itemDate);\r\n }\r\n\r\n private renderCalendarNavigation(value: Dayjs) {\r\n const start = 0;\r\n const end = 12;\r\n const monthOptions = [];\r\n\r\n const current = value.clone();\r\n const localeData = value.localeData();\r\n const months = [];\r\n for (let i = 0; i < 12; i++) {\r\n months.push(localeData.months(current.month(i)));\r\n }\r\n\r\n for (let index = start; index < end; index++) {\r\n monthOptions.push(\r\n <Select.Option key={`${index}`} value={`${index}`}>\r\n {months[index]}\r\n </Select.Option>,\r\n );\r\n }\r\n const month = value.month();\r\n\r\n const year = value.year();\r\n const options = [];\r\n for (let i = year - 4; i <= year + 2; i += 1) {\r\n options.push(\r\n <Select.Option key={`${i}`} value={`${i}`}>\r\n {i}\r\n </Select.Option>,\r\n );\r\n }\r\n\r\n const calendarSelectedDate = this.state.calendarSelectedDate;\r\n\r\n return (\r\n <div style={{display: \"flex\", marginBottom: 6}}>\r\n <div style={{display: \"flex\", width: 140}}>\r\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\r\n disabled={!DateTimeInput.checkDateValueValidity(calendarSelectedDate, -1, \"month\")}\r\n onClick={() => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.subtract(1, \"month\")});\r\n }}\r\n className=\"ant-picker-header-prev-btn\"><span\r\n className=\"ant-picker-prev-icon\"/></Button>\r\n <Select\r\n style={{flex: \"1 1 auto\"}}\r\n size=\"small\"\r\n popupMatchSelectWidth={false}\r\n dropdownStyle={{zIndex: 2070}}\r\n getPopupContainer={this.props.getPopupContainer}\r\n value={String(month)}\r\n onChange={selectedMonth => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.month(parseInt(selectedMonth, 10))});\r\n }}\r\n >\r\n {monthOptions}\r\n </Select>\r\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\r\n className=\"ant-picker-header-next-btn\"\r\n onClick={() => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.add(1, \"month\")});\r\n }}>\r\n <span className=\"ant-picker-next-icon\"/>\r\n </Button>\r\n </div>\r\n <div style={{display: \"flex\", width: 110}}>\r\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\r\n className=\"ant-picker-header-prev-btn\"\r\n onClick={() => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.subtract(1, \"year\")});\r\n }}>\r\n <span className=\"ant-picker-prev-icon\"/>\r\n </Button>\r\n <Select\r\n size=\"small\"\r\n style={{width: 84}}\r\n popupMatchSelectWidth={false}\r\n dropdownStyle={{zIndex: 2070}}\r\n getPopupContainer={this.props.getPopupContainer}\r\n onChange={newYear => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.year(parseInt(newYear, 10))});\r\n }}\r\n value={String(year)}\r\n >\r\n {options}\r\n </Select>\r\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\r\n className=\"ant-picker-header-next-btn\"\r\n onClick={() => {\r\n this.setState({calendarSelectedDate: calendarSelectedDate.add(1, \"year\")});\r\n }}>\r\n <span className=\"ant-picker-next-icon\"/>\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderCalendar(): React.ReactElement {\r\n return (<div\r\n onKeyDown={!this.props.ignoreKeyStrokes ? (e) => {\r\n if (e.key === Key.Enter) {\r\n var tagName = (e.target as any)?.tagName?.toLowerCase();\r\n if (tagName !== \"input\") {\r\n this.props.onChange?.(this.state.calendarSelectedDate);\r\n }\r\n }\r\n } : undefined}\r\n onMouseOver={(e) => {\r\n if (e.target instanceof HTMLTableCellElement) {\r\n const date = dayjs(e.target.title, \"YYYY-MM-DD\");\r\n this.onItemMouseOver(date);\r\n }\r\n }}>\r\n <WithCss useStyles={useStyles}>{(css) =>\r\n <Calendar\r\n className={css.styles.dateTimeInputCalendar}\r\n fullscreen={false}\r\n style={this.props.renderAsCalendar ? this.props.style : undefined}\r\n fullCellRender={((date: Dayjs) => {\r\n let className = date.isSame(this.today, \"date\") ? 'ant-picker-cell-inner ant-picker-calendar-date ant-picker-calendar-date-today' : 'ant-picker-cell-inner ant-picker-calendar-date';\r\n const markedDateInterval = this.props.markedDateInterval;\r\n if (markedDateInterval && (markedDateInterval[0].isBefore(date) || markedDateInterval[0].isSame(date, \"millisecond\")) &&\r\n (markedDateInterval[1].isAfter(date) || markedDateInterval[1].isSame(date, \"millisecond\"))) {\r\n className += \" date-picker-item-marked\";\r\n } else if (date.isSame(this.props.value, \"date\")) {\r\n className += \" date-picker-item-marked\";\r\n }\r\n return (\r\n <div className={className} style={{userSelect: \"none\"}}\r\n onKeyDown={(e) => {\r\n if (e.key === Key.Enter) {\r\n let newValue = this.props.value?.clone() ?? dayjs().startOf(\"day\");\r\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\r\n this.props.onChange?.(newValue);\r\n }\r\n }}\r\n onMouseDown={() => {\r\n let newValue = this.props.value?.clone() ?? dayjs().startOf(\"day\");\r\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\r\n this.props.onDateItemMouseDown?.(newValue);\r\n }}\r\n onMouseUp={() => {\r\n let newValue = this.props.value?.clone() ?? dayjs().startOf(\"day\");\r\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\r\n this.props.onDateItemMouseUp?.(newValue);\r\n }}\r\n >\r\n <div className={`ant-picker-calendar-date-value`}>\r\n {padStart(\"\" + date.date(), 2, '0')}\r\n </div>\r\n <div className={`ant-picker-calendar-date-content`}>\r\n </div>\r\n </div>\r\n );\r\n })}\r\n headerRender={({value}) => {\r\n return this.renderCalendarNavigation(value);\r\n }}\r\n value={this.state.calendarSelectedDate}\r\n validRange={[this.props.minDateTime ?? MIN_TIME, this.props.maxDateTime ?? MAX_TIME]}\r\n onSelect={(value) => {\r\n if (window.event instanceof MouseEvent) {\r\n let newValue = this.props.value?.clone() ?? dayjs().startOf(\"day\");\r\n newValue = newValue.year(value.year()).month(value.month()).date(value.date());\r\n this.props.onChange?.(newValue);\r\n }\r\n this.setState({calendarSelectedDate: value, popupCalendarVisible: false});\r\n }}\r\n />\r\n }</WithCss>\r\n </div>\r\n );\r\n }\r\n\r\n renderInput() {\r\n const {\r\n mask,\r\n value,\r\n onChange,\r\n onInvalidValue,\r\n style,\r\n disabled,\r\n inputDisabled,\r\n bordered,\r\n hidePopup,\r\n renderAsCalendar,\r\n allowClear,\r\n minDateTime,\r\n maxDateTime,\r\n onDateItemMouseDown,\r\n onDateItemMouseOver,\r\n onDateItemMouseUp,\r\n markedDateInterval,\r\n inputStyle,\r\n getPopupContainer,\r\n autoFocus,\r\n className,\r\n size,\r\n ...props\r\n } = this.props;\r\n\r\n const isUpDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1);\r\n const isDownDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1);\r\n const unix: number | undefined = value?.valueOf();\r\n const maskedInputStyle = {color: this.state.valid ? undefined : \"#ff4d4f\"};\r\n if (inputStyle) {\r\n Object.assign(maskedInputStyle, inputStyle);\r\n }\r\n\r\n return (\r\n <div style={{...style, position: \"relative\"}} {...props} className={className}>\r\n <div\r\n onKeyDown={(event) => {\r\n if (event.code === \"ArrowUp\") { // up\r\n this.increment();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n } else if (event.code === \"ArrowDown\") { // down\r\n this.decrement();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }}>\r\n <MaskedInput mask={this.props.mask.replace(/[a-zA-Z]/g, '1')}\r\n bordered={bordered}\r\n ref={this.inputRef}\r\n style={maskedInputStyle}\r\n size={size}\r\n value={(this.state.focused || unix !== D2000UnixTimeNullValue * 1000) ? (value?.locale(\"locale.d2000\").format(this.props.mask) ?? \"\") : \"\"}\r\n placeholder={(!this.state.focused && unix === D2000UnixTimeNullValue * 1000) ? \"Null Time\" : undefined}\r\n onFocus={(event => {\r\n event.target.selectionStart = event.target.selectionEnd = this.state.currentPos;\r\n this.setState({focused: true});\r\n })}\r\n onBlur={() => {\r\n this.setState({focused: false});\r\n }}\r\n autoFocus={autoFocus}\r\n disabled={disabled || inputDisabled}\r\n onWheel={(event) => {\r\n if (event.deltaY > 0) {\r\n if (!isDownDisabled) {\r\n this.decrement();\r\n }\r\n }\r\n if (event.deltaY < 0) {\r\n if (!isUpDisabled) {\r\n this.increment();\r\n }\r\n }\r\n }}\r\n onMouseUp={this.recalc}\r\n onKeyUp={this.recalc}\r\n onChange={(event) => {\r\n const inputString = event.target.value;\r\n const value: MaskResult = DateTimeInput.parseDateTimeFormat(this.props.value, inputString, this.props.mask, event.target.selectionStart);\r\n const valid: boolean = DateTimeInput.isValidValue(value.time, this.props.minDateTime, this.props.maxDateTime, this.props.allowClear) || (!!this.props.allowClear && !inputString);\r\n\r\n if (value.time !== undefined && valid) {\r\n onChange?.(value.time.clone());\r\n } else if (!!this.props.allowClear && !inputString) {\r\n onChange?.(null);\r\n } else {\r\n onInvalidValue?.(inputString);\r\n }\r\n this.setState({\r\n valid: valid,\r\n currentInfo: value\r\n })\r\n }}/>\r\n </div>\r\n {!hidePopup && !renderAsCalendar && <div\r\n style={{\r\n width: 28,\r\n opacity: 1,\r\n height: \"100%\",\r\n textAlign: \"center\",\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n background: \"transparent\",\r\n position: \"absolute\",\r\n top: 0,\r\n right: 0,\r\n }}\r\n onClick={(event) => {\r\n if (document.createEvent) {\r\n var ev = document.createEvent('HTMLEvents');\r\n ev.initEvent('contextmenu', true, false);\r\n event.target.dispatchEvent(ev);\r\n }\r\n }}\r\n >\r\n <CalendarOutlined style={{color: \"rgba(0,0,0,0.65)\", verticalAlign: \"middle\", height: \"100%\"}}/>\r\n </div>}\r\n </div>\r\n );\r\n }\r\n\r\n render(): any {\r\n if (this.props.renderAsCalendar) {\r\n return this.renderCalendar();\r\n } else if (this.props.hidePopup) {\r\n return this.renderInput();\r\n } else {\r\n return (\r\n <Tooltip color={\"white\"} trigger={this.props.disabled ? [] : [\"contextMenu\"]}\r\n getPopupContainer={this.props.getPopupContainer}\r\n overlayInnerStyle={{maxHeight: \"100vh\", overflowY: \"auto\", overflowX: \"hidden\", width: 266}}\r\n open={this.state.popupCalendarVisible}\r\n onOpenChange={(visible) => {\r\n this.setState({popupCalendarVisible: visible});\r\n if (visible) {\r\n this.setState({calendarSelectedDate: this.props.defaultSelectedDate?.clone() ?? this.props.value?.clone() ?? dayjs().startOf(\"day\")})\r\n }\r\n }}\r\n title={this.renderCalendar()}\r\n placement={this.props.placement}\r\n >\r\n {this.renderInput()}\r\n </Tooltip>\r\n );\r\n }\r\n }\r\n\r\n private static isValid(info: MaskResult, value: Dayjs | null, offset: number): boolean {\r\n const unit = info.info?.unit;\r\n return this.checkDateValueValidity(value, offset, unit);\r\n }\r\n\r\n private static checkDateValueValidity(value: Dayjs | null, offset: number, unit: ManipulateType | undefined) {\r\n if (value === null) {\r\n return false;\r\n }\r\n let v = value.clone().add(offset, unit);\r\n return v.isValid() && v.isSameOrAfter(dayjs(0));\r\n }\r\n\r\n private static parseDateTimeFormat(previousTime: Dayjs | null, value: string, mask: string, cursorPos: number | null): MaskResult {\r\n let result: MaskResult = {\r\n time: dayjs().startOf(\"day\"),\r\n info: undefined,\r\n length: 0,\r\n };\r\n\r\n for (let v of DATE_TIME_DATA_MAP) {\r\n let index: number = -1;\r\n let length: number = 0;\r\n let min: number = 0;\r\n let max: number = 0;\r\n\r\n if (Array.isArray(v.key) || Array.isArray(v.min) || Array.isArray(v.max)) {\r\n for (let i = 0; i < v.key.length; i++) {\r\n const x = v.key[i];\r\n index = mask.indexOf(x);\r\n\r\n if (index !== -1) {\r\n length = x.length;\r\n min = (v.min as number[])[i];\r\n max = (v.max as number[])[i];\r\n break;\r\n }\r\n }\r\n } else {\r\n index = mask.indexOf(v.key);\r\n length = v.key.length;\r\n min = v.min;\r\n max = v.max;\r\n }\r\n\r\n if (index !== -1) {\r\n let val: number = Number(value.substring(index, index + length));\r\n\r\n if (!isNaN(val) && val >= min && val <= max) {\r\n if (v.unit === \"M\") {\r\n val--; // 0-11\r\n }\r\n\r\n if (v.unit === \"d\") {\r\n result.time = result.time?.set('D', val);\r\n } else if (v.unit === \"y\" && length === 2) {\r\n const century: number = (previousTime != null && previousTime.isValid()) ? Math.floor(previousTime.year() / 100) * 100 : (val > 70 ? 1900 : 2000); // if short year\r\n result.time = result.time?.set(v.unit, century + val)\r\n } else if (v.unit !== \"weeks\" && v.unit !== \"week\" && v.unit !== \"w\") {\r\n result.time = result.time?.set(v.unit, val);\r\n }\r\n } else {\r\n result.time = undefined;\r\n result.info = undefined;\r\n result.length = 0;\r\n break;\r\n }\r\n\r\n if (cursorPos !== null && cursorPos >= index && cursorPos <= index + length) {\r\n result.info = v;\r\n result.length = length;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private static isValidValue(value?: Dayjs | null, minDateTime?: Dayjs, maxDateTime?: Dayjs, allowClear?: boolean): boolean {\r\n return (!!value && value.isValid() && (!minDateTime || value.isSameOrAfter(minDateTime)) && (!maxDateTime || value.isSameOrBefore(maxDateTime))) || (!!allowClear && value === null);\r\n }\r\n}"]}
|
|
@@ -168,11 +168,11 @@ export default class DurationInput extends React.Component {
|
|
|
168
168
|
(_a = this.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
169
169
|
}
|
|
170
170
|
render() {
|
|
171
|
-
const _a = this.props, { mask, value, onChange, style, disabled, predefinedValues, autoFocus, size } = _a, props = __rest(_a, ["mask", "value", "onChange", "style", "disabled", "predefinedValues", "autoFocus", "size"]);
|
|
171
|
+
const _a = this.props, { mask, value, onChange, style, disabled, predefinedValues, autoFocus, size, className } = _a, props = __rest(_a, ["mask", "value", "onChange", "style", "disabled", "predefinedValues", "autoFocus", "size", "className"]);
|
|
172
172
|
const incrementButtonDisabled = this.state.currentInfo.info === undefined || !checkValue(this.state.currentInfo, this.props.value, 1);
|
|
173
173
|
const decrementButtonDisabled = this.state.currentInfo.info === undefined || !checkValue(this.state.currentInfo, this.props.value, -1);
|
|
174
174
|
return (React.createElement(WithInputNumberCss, null,
|
|
175
|
-
React.createElement("div", Object.assign({ style: Object.assign({ width: "100%" }, style) }, props, { className: !predefinedValues ? "ant-input-number ant-input-number-outlined" : "", onKeyDown: (event) => {
|
|
175
|
+
React.createElement("div", Object.assign({ style: Object.assign({ width: "100%" }, style) }, props, { className: (className ? className + " " : "") + (!predefinedValues ? "ant-input-number ant-input-number-outlined" : ""), onKeyDown: (event) => {
|
|
176
176
|
if (event.code === "ArrowUp") {
|
|
177
177
|
this.increment();
|
|
178
178
|
event.preventDefault();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durationInput.js","sourceRoot":"","sources":["../../../../components/date/durationInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {HTMLAttributes, RefObject} from \"react\";\r\nimport MaskedInput from \"d2coreui/components/input/maskedInput\";\r\nimport dayjs, {isDuration, ManipulateType} from \"dayjs\";\r\nimport {Duration} from \"d2core/dayjs/duration\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport {AutoComplete} from \"antd\";\r\nimport DropdownArrow from \"../icons/dropdownArrow\";\r\nimport WithInputNumberCss from \"d2coreui/components/style/withInputNumberCss\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\n\r\ninterface DurationInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\r\n mask: string\r\n value: Duration | null\r\n onChange?: (time: Duration | null) => void\r\n predefinedValues?: { key: string, value: string }[]\r\n disabled?: boolean\r\n inputStyle?: React.CSSProperties\r\n autoFocus?: boolean\r\n size?: SizeType;\r\n}\r\n\r\ninterface DurationInputState {\r\n valid: boolean\r\n selectionStart: number | null\r\n selectionEnd: number | null\r\n currentInfo: MaskResult\r\n opened: boolean\r\n value: string\r\n}\r\n\r\ninterface MaskResult {\r\n time?: Duration\r\n info?: InfoEntry\r\n infoFromMask?: EntryValue[]\r\n length: number\r\n}\r\n\r\ninterface InfoEntry {\r\n key: string\r\n min: number\r\n max: number\r\n minLen: number\r\n maxLen: number\r\n mult: number\r\n unit: ManipulateType\r\n}\r\n\r\ninterface EntryValue {\r\n length: number\r\n infoEntry: InfoEntry\r\n value: number\r\n}\r\n\r\nconst DURATION_DATA_MAP: InfoEntry[] = [\r\n {key: \"SSS\", min: 0, max: 999, minLen: 3, maxLen: 3, mult: 1, unit: \"ms\"},\r\n {key: \"s\", min: 0, max: 59, minLen: 1, maxLen: 2, mult: 1000, unit: \"s\"},\r\n {key: \"m\", min: 0, max: 59, minLen: 1, maxLen: 2, mult: 60 * 1000, unit: \"m\"},\r\n {key: \"H\", min: 0, max: 23, minLen: 1, maxLen: 2, mult: 60 * 60 * 1000, unit: \"h\"},\r\n {key: \"D\", min: 0, max: 24854, minLen: 1, maxLen: 5, mult: 24 * 60 * 60 * 1000, unit: \"d\"},\r\n];\r\n\r\nexport const MAX_VALID_DURATION = 24854 * 24 * 60 * 60 * 1000 + 23 * 60 * 60 * 1000 + 59 * 60 * 1000 + 59 * 1000 + 499;\r\n\r\nexport function parseDuration(value: string, mask: string, cursorPos?: number, maskResult?: MaskResult): Duration | null {\r\n let result: Duration = dayjs.duration(0);\r\n const clearMaskResult = () => {\r\n if (maskResult) {\r\n maskResult.info = undefined;\r\n maskResult.length = 0;\r\n maskResult.infoFromMask = undefined;\r\n maskResult.time = undefined;\r\n }\r\n }\r\n let maskPos: number = 0;\r\n let valPos: number;\r\n\r\n for (valPos = 0; valPos < value.length; valPos++) {\r\n const c: string = value.charAt(valPos);\r\n\r\n if (['D', 'H', 'm', 's', 'S'].includes(mask.charAt(maskPos))) { // je to maska\r\n if (/\\d/.test(c)) {\r\n const entry: EntryValue | undefined = getInfoFromMask(mask, maskPos);\r\n\r\n if (entry) {\r\n let str = c;\r\n\r\n while (/\\d/.test(value.charAt(valPos + 1))) {\r\n valPos++;\r\n str += value.charAt(valPos);\r\n }\r\n\r\n if (str.length !== entry.length) {\r\n clearMaskResult();\r\n return null;\r\n }\r\n\r\n const time: number = parseInt(str);\r\n\r\n result = result.add(dayjs.duration(time, entry.infoEntry.unit));\r\n if (maskResult) {\r\n const item: EntryValue = {\r\n value: time,\r\n length: str.length,\r\n infoEntry: entry.infoEntry,\r\n }\r\n\r\n if (maskResult.infoFromMask) {\r\n maskResult.infoFromMask.push(item);\r\n } else {\r\n maskResult.infoFromMask = [item];\r\n }\r\n }\r\n maskPos += entry.length;\r\n\r\n if (cursorPos !== undefined && maskResult !== undefined && cursorPos >= valPos - str.length + 1 && cursorPos <= valPos + 1) {\r\n maskResult.info = entry.infoEntry;\r\n maskResult.length = str.length;\r\n }\r\n } else {\r\n clearMaskResult();\r\n return null;\r\n }\r\n } else {\r\n // non-numeric character when value expected\r\n clearMaskResult();\r\n return null;\r\n }\r\n } else {\r\n if (c === mask.charAt(maskPos)) {\r\n // skip special characters\r\n maskPos++;\r\n }\r\n }\r\n }\r\n\r\n if (maskPos === mask.length && valPos === value.length && result.asMilliseconds() <= MAX_VALID_DURATION) {\r\n if (maskResult !== undefined) {\r\n maskResult.time = result;\r\n }\r\n return result;\r\n }\r\n\r\n clearMaskResult();\r\n return null;\r\n}\r\n\r\nexport default class DurationInput extends React.Component<DurationInputProps, DurationInputState> {\r\n private inputRef: RefObject<MaskedInput> = React.createRef();\r\n\r\n constructor(props: Readonly<DurationInputProps>) {\r\n super(props);\r\n this.state = {\r\n valid: isDuration(props.value),\r\n selectionStart: null,\r\n selectionEnd: null,\r\n currentInfo: {\r\n info: undefined,\r\n infoFromMask: undefined,\r\n time: undefined,\r\n length: 0\r\n },\r\n opened: false,\r\n value: formatDuration(props.value, props.mask),\r\n };\r\n\r\n this.recalc = this.recalc.bind(this);\r\n this.increment = this.increment.bind(this);\r\n this.decrement = this.decrement.bind(this);\r\n }\r\n\r\n componentDidUpdate(): void {\r\n if (this.inputRef.current !== null) {\r\n this.inputRef.current.input.selectionStart = this.state.selectionStart;\r\n this.inputRef.current.input.selectionEnd = this.state.selectionEnd;\r\n }\r\n\r\n const value: string = formatDuration(this.props.value, this.props.mask);\r\n\r\n if (this.state.value !== value) {\r\n this.setState({\r\n value: value,\r\n valid: isDuration(this.props.value),\r\n });\r\n }\r\n }\r\n\r\n recalc(): void {\r\n if (this.inputRef.current !== null) {\r\n const value: MaskResult = {length: 0};\r\n parseDuration(this.inputRef.current.input.value, this.props.mask, this.inputRef.current.input.selectionStart ?? undefined, value);\r\n this.setState({\r\n currentInfo: value,\r\n selectionStart: this.inputRef.current.input.selectionStart,\r\n selectionEnd: this.inputRef.current.input.selectionEnd,\r\n });\r\n }\r\n }\r\n\r\n increment(): void {\r\n if (this.state.currentInfo.info !== undefined && checkValue(this.state.currentInfo, this.props.value, 1)) {\r\n this.props.onChange?.(this.props.value?.add(1, this.state.currentInfo.info.unit) ?? null);\r\n this.setState({selectionEnd: this.state.selectionStart});\r\n }\r\n\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n decrement(): void {\r\n if (this.state.currentInfo.info !== undefined && checkValue(this.state.currentInfo, this.props.value, -1)) {\r\n this.props.onChange?.(this.props.value?.subtract(1, this.state.currentInfo.info.unit) ?? null);\r\n this.setState({selectionEnd: this.state.selectionStart});\r\n }\r\n\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n get input() {\r\n return this.inputRef.current?.input;\r\n }\r\n\r\n focus() {\r\n this.inputRef.current?.focus();\r\n }\r\n\r\n render() {\r\n const {mask, value, onChange, style, disabled, predefinedValues, autoFocus, size, className, ...props} = this.props;\r\n const incrementButtonDisabled = this.state.currentInfo.info === undefined || !checkValue(this.state.currentInfo, this.props.value, 1);\r\n const decrementButtonDisabled = this.state.currentInfo.info === undefined || !checkValue(this.state.currentInfo, this.props.value, -1);\r\n\r\n return (\r\n <WithInputNumberCss>\r\n <div style={{width: \"100%\", ...style}}\r\n {...props}\r\n className={(className ? className + \" \" : \"\") + (!predefinedValues ? \"ant-input-number ant-input-number-outlined\" : \"\")}\r\n onKeyDown={(event) => {\r\n if (event.code === \"ArrowUp\") { // up\r\n this.increment();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n } else if (event.code === \"ArrowDown\") { // down\r\n this.decrement();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }}\r\n >\r\n <AutoComplete\r\n className={this.state.valid ? \"\" : \"invalid\"}\r\n options={this.state.opened ? predefinedValues?.map(v => {\r\n return {value: v.value, label: v.key}\r\n }) : []}\r\n defaultOpen={false}\r\n defaultActiveFirstOption={false}\r\n defaultValue={undefined}\r\n disabled={disabled}\r\n autoFocus={autoFocus}\r\n style={{width: \"100%\", height: \"inherit\"}}\r\n value={this.state.valid ? this.state.value : \"\"}\r\n onSelect={(e) => {\r\n const val: Duration = dayjs.duration(Number(e));\r\n this.setState({\r\n opened: false,\r\n valid: isDuration(val),\r\n value: formatDuration(val, this.props.mask),\r\n });\r\n onChange?.(val === undefined ? null : val);\r\n }}\r\n onBlur={() => {\r\n this.setState({opened: false});\r\n }}>\r\n <MaskedInput mask={this.props.mask.replace(/[a-zA-Z]/g, '1')}\r\n ref={this.inputRef}\r\n style={{\r\n border: predefinedValues ? undefined : \"none\",\r\n ...this.props.inputStyle\r\n }}\r\n size={size}\r\n placeholder={this.props.mask.replace(/[a-zA-Z]/g, '_')}\r\n autoFocus={autoFocus}\r\n onFocus={(event => {\r\n event.target.selectionStart = event.target.selectionEnd = this.state.selectionStart;\r\n })}\r\n suffix={\r\n this.props.predefinedValues !== undefined && this.props.predefinedValues.length > 0 &&\r\n <DropdownArrow opened={this.state.opened}\r\n onClick={() => {\r\n if (!this.props.disabled) {\r\n this.setState({opened: !this.state.opened});\r\n }\r\n }}/>\r\n }\r\n onMouseUp={this.recalc}\r\n onKeyUp={this.recalc}\r\n onChange={(event) => {\r\n const value: MaskResult = {length: 0};\r\n parseDuration(event.target.value, this.props.mask, event.target.selectionStart ?? undefined, value);\r\n onChange?.(value.time === undefined ? null : value.time);\r\n this.setState({\r\n valid: isDuration(value.time),\r\n currentInfo: value,\r\n value: event.target.value,\r\n });\r\n }}\r\n />\r\n </AutoComplete>\r\n {!predefinedValues && !disabled &&\r\n <div className=\"ant-input-number-handler-wrap\">\r\n <span onClick={this.increment} className={`ant-input-number-handler ant-input-number-handler-up ${incrementButtonDisabled ? \"ant-input-number-handler-up-disabled\" : \"\"}`}>\r\n <span className=\"anticon anticon-up ant-input-number-handler-up-inner\">\r\n <svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"up\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path d=\"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\"></path>\r\n </svg>\r\n </span>\r\n </span>\r\n <span onClick={this.decrement} className={`ant-input-number-handler ant-input-number-handler-down ${decrementButtonDisabled ? \"ant-input-number-handler-down-disabled\" : \"\"}`}>\r\n <span className=\"anticon anticon-down ant-input-number-handler-down-inner\">\r\n <svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"down\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path d=\"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"></path>\r\n </svg>\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n </WithInputNumberCss>\r\n );\r\n }\r\n}\r\n\r\nfunction checkValue(info: MaskResult, value: Duration | null, offset = 0): boolean {\r\n const currentMillis = value ? value.add(offset, info.info?.unit).asMilliseconds() : 0;\r\n const maxValues = info?.infoFromMask ? info.infoFromMask.map((i) => (i.length !== i.infoEntry.maxLen ? (Math.pow(10, i.length) - 1) : i.infoEntry.max) * i.infoEntry.mult) : [];\r\n const maxMaskedValue = info?.infoFromMask ? maxValues.reduce((p, n) => p + n, 0) : 0;\r\n return !!value && currentMillis >= 0 && currentMillis <= MAX_VALID_DURATION && currentMillis <= maxMaskedValue;\r\n}\r\n\r\nfunction formatDuration(value: Duration | null, mask: string): string {\r\n //@ts-ignore\r\n return (isDuration(value) ? value : dayjs.duration(0)).locale(\"locale.d2000\").format(mask, {\r\n trim: false,\r\n decimalSeparator: LocaleHolder.decimalSeparator,\r\n useGrouping: false,\r\n groupingSeparator: \"\",\r\n userLocale: LocaleHolder.formattingLocale\r\n })\r\n}\r\n\r\nfunction getInfoFromMask(mask: string, fromPos: number): EntryValue | undefined {\r\n if (fromPos < mask.length) {\r\n const ch = mask.charAt(fromPos);\r\n const info = DURATION_DATA_MAP.find((d) => d.key.includes(ch));\r\n\r\n if (info) {\r\n const entry: EntryValue = {\r\n length: 1,\r\n value: 0,\r\n infoEntry: info,\r\n }\r\n\r\n for (let i = fromPos + 1; i < mask.length; i++) {\r\n const c = mask.charAt(i);\r\n\r\n if (c === ch) {\r\n entry.length++;\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n return entry;\r\n }\r\n }\r\n\r\n return undefined;\r\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cellEditorUtils.js","sourceRoot":"","sources":["../../../../../components/grid/cell/cellEditorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAGhC,MAAM,OAAO,eAAe;IACxB,MAAM,CAAC,oBAAoB,CAAI,CAAyB;QACpD,OAAO,CACH,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3F,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAChE,CAAC;IACN,CAAC;CACJ","sourcesContent":["import KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\
|
|
1
|
+
{"version":3,"file":"cellEditorUtils.js","sourceRoot":"","sources":["../../../../../components/grid/cell/cellEditorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAGhC,MAAM,OAAO,eAAe;IACxB,MAAM,CAAC,oBAAoB,CAAI,CAAyB;QACpD,OAAO,CACH,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3F,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAChE,CAAC;IACN,CAAC;CACJ","sourcesContent":["import KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\nimport {Key} from \"ts-key-enum\";\nimport React from 'react';\n\nexport class CellEditorUtils {\n static shouldIgnoreKeyEvent<T>(e: React.KeyboardEvent<T>): boolean {\n return (\n (KeyboardUtils.isKeyPressed(Key.Alt) && (e.key === Key.ArrowUp || e.key === Key.ArrowDown)) ||\n (KeyboardUtils.isKeyPressed(Key.Control) && e.key === \"KeyA\")\n );\n }\n}"]}
|
|
@@ -1,9 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export class RangeSelector extends BeanStub<"destroyed"> {
|
|
2
|
+
constructor();
|
|
3
|
+
beanName: string;
|
|
4
|
+
wireBeans(beans: any): void;
|
|
5
|
+
rowModel: any;
|
|
6
|
+
dragService: any;
|
|
7
|
+
columnModel: any;
|
|
8
|
+
visibleColsService: any;
|
|
9
|
+
cellNavigationService: any;
|
|
10
|
+
pinnedRowModel: any;
|
|
11
|
+
rowPositionUtils: any;
|
|
12
|
+
cellPositionUtils: any;
|
|
13
|
+
ctrlsService: any;
|
|
14
|
+
valueService: any;
|
|
15
|
+
mouseEventService: any;
|
|
16
|
+
gridApi: any;
|
|
17
|
+
eGridDiv: any;
|
|
18
|
+
focusService: any;
|
|
19
|
+
postConstruct(): void;
|
|
20
|
+
cellRanges: any[] | undefined;
|
|
21
|
+
bodyScrollListener: (() => void) | undefined;
|
|
22
|
+
dragging: boolean | undefined;
|
|
23
|
+
autoScrollService: AutoScrollService | undefined;
|
|
24
|
+
cellPositionEquals(cellA: any, cellB: any): boolean;
|
|
25
|
+
onColumnVisibleChange(): void;
|
|
26
|
+
refreshLastRangeStart(): void;
|
|
27
|
+
isContiguousRange(cellRange: any): boolean;
|
|
28
|
+
getRangeStartRow(cellRange: any): any;
|
|
29
|
+
getRangeEndRow(cellRange: any): any;
|
|
30
|
+
setRangeToCell(cell: any, appendRange?: boolean): void;
|
|
31
|
+
newestRangeStartCell: any;
|
|
32
|
+
extendLatestRangeToCell(cellPosition: any): void;
|
|
33
|
+
updateRangeEnd(cellRange: any, cellPosition: any, silent: any): void;
|
|
34
|
+
refreshRangeStart(cellRange: any): void;
|
|
35
|
+
getRangeEdgeColumns(cellRange: any): {
|
|
36
|
+
left: any;
|
|
37
|
+
right: any;
|
|
38
|
+
};
|
|
39
|
+
extendLatestRangeInDirection(key: any): any;
|
|
40
|
+
setCellRange(params: any): void;
|
|
41
|
+
setCellRanges(cellRanges: any): void;
|
|
42
|
+
createCellRangeFromCellRangeParams(params: any): {
|
|
43
|
+
startRow: {
|
|
44
|
+
rowIndex: any;
|
|
45
|
+
rowPinned: any;
|
|
46
|
+
} | undefined;
|
|
47
|
+
endRow: {
|
|
48
|
+
rowIndex: any;
|
|
49
|
+
rowPinned: any;
|
|
50
|
+
} | undefined;
|
|
51
|
+
columns: any;
|
|
52
|
+
startColumn: any;
|
|
53
|
+
} | undefined;
|
|
54
|
+
addCellRange(params: any): void;
|
|
55
|
+
getCellRanges(): any[] | undefined;
|
|
56
|
+
isEmpty(): boolean;
|
|
57
|
+
isMoreThanOneCell(): boolean;
|
|
58
|
+
removeAllCellRanges(silent: any): void;
|
|
59
|
+
onBodyScroll(): void;
|
|
60
|
+
isCellInAnyRange(cell: any): boolean;
|
|
61
|
+
isCellInSpecificRange(cell: any, range: any): any;
|
|
62
|
+
isLastCellOfRange(cellRange: any, cell: any): boolean;
|
|
63
|
+
isBottomRightCell(cellRange: any, cell: any): boolean;
|
|
64
|
+
getCellRangeCount(cell: any): number;
|
|
65
|
+
isRowInRange(rowIndex: any, floating: any, cellRange: any): any;
|
|
66
|
+
getDraggingRange(): any;
|
|
67
|
+
onDragStart(mouseEvent: any): void;
|
|
68
|
+
draggingCell: any;
|
|
69
|
+
lastMouseEvent: any;
|
|
70
|
+
draggingRange: any;
|
|
71
|
+
onDragging(mouseEvent: any): void;
|
|
72
|
+
focusCell(cellPosition: any): void;
|
|
73
|
+
onDragStop(): void;
|
|
74
|
+
dispatchChangedEvent(started: any, finished: any, id: any): void;
|
|
75
|
+
calculateColumnsBetween(columnFrom: any, columnTo: any): any[] | undefined;
|
|
76
|
+
}
|
|
77
|
+
import { BeanStub } from "ag-grid-community";
|
|
78
|
+
import { AutoScrollService } from "ag-grid-community";
|