@comet/admin 9.0.0-beta.0 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dataGrid/GridColDef.d.ts +1 -2
- package/lib/dataGrid/GridColDef.d.ts.map +1 -1
- package/lib/dataGrid/GridFilterButton.d.ts.map +1 -1
- package/lib/dataGrid/GridFilterButton.js +13 -2
- package/lib/dataGrid/columnsManagement/DataGridColumnsManagement.d.ts.map +1 -1
- package/lib/dataGrid/columnsManagement/DataGridColumnsManagement.js +1 -1
- package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.d.ts +1 -1
- package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.d.ts.map +1 -1
- package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.js +1 -1
- package/lib/dataGrid/excelExport/useDataGridExcelExport.js +2 -2
- package/lib/dataGrid/muiGridFilterToGql.d.ts +4 -1
- package/lib/dataGrid/muiGridFilterToGql.d.ts.map +1 -1
- package/lib/dataGrid/pagination/DataGridPagination.js +1 -1
- package/lib/dataGrid/pagination/paginationActions/DataGridPaginationActions.js +1 -1
- package/lib/dataGrid/usePersistentColumnState.d.ts.map +1 -1
- package/lib/dateTime/datePicker/DatePicker.d.ts +2 -0
- package/lib/dateTime/datePicker/DatePicker.d.ts.map +1 -1
- package/lib/dateTime/datePicker/DatePicker.js +17 -3
- package/lib/dateTime/datePickerField/__stories__/DatePickerField.stories.js +60 -0
- package/lib/dateTime/dateRangePicker/DateRangePicker.d.ts +2 -0
- package/lib/dateTime/dateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/lib/dateTime/dateRangePicker/DateRangePicker.js +17 -3
- package/lib/dateTime/dateRangePickerField/__stories__/DateRangePickerField.stories.js +61 -0
- package/lib/dateTime/dateTimePicker/DateTimePicker.d.ts +2 -0
- package/lib/dateTime/dateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/lib/dateTime/dateTimePicker/DateTimePicker.js +17 -3
- package/lib/dateTime/dateTimePickerField/__stories__/DateTimePickerField.stories.js +60 -0
- package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.d.ts +2 -0
- package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
- package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.js +17 -3
- package/lib/dateTime/dateTimeRangePickerField/__stories__/DateTimeRangePickerField.stories.js +60 -0
- package/lib/dateTime/timePicker/TimePicker.d.ts +2 -0
- package/lib/dateTime/timePicker/TimePicker.d.ts.map +1 -1
- package/lib/dateTime/timePicker/TimePicker.js +17 -3
- package/lib/dateTime/timePickerField/__stories__/TimePickerField.stories.js +69 -0
- package/lib/form/FieldContainer.d.ts.map +1 -1
- package/lib/form/FieldContainer.js +1 -1
- package/lib/helpers/downloadFile.d.ts +7 -0
- package/lib/helpers/downloadFile.d.ts.map +1 -0
- package/lib/helpers/downloadFile.js +22 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/table/excelexport/createExcelExportDownload.js +2 -2
- package/lib/utils/test-utils.d.ts.map +1 -1
- package/lib/utils/test-utils.js +11 -4
- package/package.json +17 -19
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { type GridActionsColDef as MuiGridActionsColDef, type GridFilterItem, type GridSingleSelectColDef as MuiGridSingleSelectColDef, type GridValidRowModel, type GridValueOptionsParams } from "@mui/x-data-grid";
|
|
1
|
+
import { type GridActionsColDef as MuiGridActionsColDef, type GridFilterItem, type GridPinnedColumns, type GridSingleSelectColDef as MuiGridSingleSelectColDef, type GridValidRowModel, type GridValueOptionsParams } from "@mui/x-data-grid";
|
|
2
2
|
import { type GridBaseColDef as MuiGridBaseColDef } from "@mui/x-data-grid/models/colDef/gridColDef";
|
|
3
|
-
import { type GridPinnedColumns } from "@mui/x-data-grid-pro";
|
|
4
3
|
import { type ReactNode } from "react";
|
|
5
4
|
import { type GqlFilter } from "./muiGridFilterToGql";
|
|
6
5
|
type ValueOption = string | number | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColDef.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridColDef.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,cAAc,EACnB,KAAK,sBAAsB,IAAI,yBAAyB,EACxD,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"GridColDef.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridColDef.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,IAAI,yBAAyB,EACxD,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,WAAW,GACV,MAAM,GACN,MAAM,GACN;IACI,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAER,KAAK,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,IAAI;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAChG;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,SAAS,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpI,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC1I,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpJ,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAClE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridFilterButton.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridFilterButton.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"GridFilterButton.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridFilterButton.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,2CAsClD"}
|
|
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
import { Filter } from "@comet/admin-icons";
|
|
8
8
|
import { Chip } from "@mui/material";
|
|
9
|
-
import { gridFilterModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
|
|
9
|
+
import { gridFilterModelSelector, GridPreferencePanelsValue, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
|
|
10
10
|
import { useCallback } from "react";
|
|
11
11
|
import { FormattedMessage } from "react-intl";
|
|
12
12
|
import { Button } from "../common/buttons/Button";
|
|
@@ -17,12 +17,23 @@ export function GridFilterButton(props) {
|
|
|
17
17
|
var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
|
|
18
18
|
var filterCount = filterModel.items.length;
|
|
19
19
|
var handleFilterClick = useCallback(function () {
|
|
20
|
-
apiRef.current.
|
|
20
|
+
if (apiRef.current.state.preferencePanel.open && apiRef.current.state.preferencePanel.openedPanelValue === GridPreferencePanelsValue.filters) {
|
|
21
|
+
apiRef.current.hideFilterPanel();
|
|
22
|
+
} else {
|
|
23
|
+
apiRef.current.showFilterPanel();
|
|
24
|
+
}
|
|
21
25
|
}, [apiRef]);
|
|
22
26
|
return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
23
27
|
responsive: true,
|
|
24
28
|
startIcon: /*#__PURE__*/_jsx(Filter, {}),
|
|
25
29
|
variant: "outlined",
|
|
30
|
+
onPointerUp: function onPointerUp(event) {
|
|
31
|
+
// Necessary workaround to make toggling the filter panel work
|
|
32
|
+
// see https://github.com/mui/mui-x/issues/17130#issuecomment-2765832411
|
|
33
|
+
if (apiRef.current.state.preferencePanel.open) {
|
|
34
|
+
event.stopPropagation();
|
|
35
|
+
}
|
|
36
|
+
},
|
|
26
37
|
onClick: handleFilterClick,
|
|
27
38
|
endIcon: filterCount > 0 ? /*#__PURE__*/_jsx(Chip, {
|
|
28
39
|
label: "".concat(filterCount),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnsManagement.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,OAAO,IAAI,UAAU,EAC1B,KAAK,IAAI,IAAI,OAAO,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"DataGridColumnsManagement.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,OAAO,IAAI,UAAU,EAC1B,KAAK,IAAI,IAAI,OAAO,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAIvF,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;IAClE,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,OAAO,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,aAAa,CAAC;IACjC,OAAO,EAAE,OAAO,UAAU,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpG,eAAO,MAAM,yBAAyB,GAAI,SAAS,8BAA8B,4CAyIhF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,mCAAmC,EAAE,8BAA8B,CAAC;KACvE;IAED,UAAU,uBAAuB;QAC7B,mCAAmC,EAAE,iCAAiC,CAAC;KAC1E;IAED,UAAU,UAAU;QAChB,mCAAmC,CAAC,EAAE;YAClC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACnF,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC,CAAC;SACtF,CAAC;KACL;CACJ"}
|
|
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
// MUI's implementation: https://github.com/mui/mui-x/blob/v7.x/packages/x-data-grid/src/components/columnsManagement/GridColumnsManagement.tsx
|
|
8
8
|
import { useThemeProps } from "@mui/material";
|
|
9
|
-
import { gridColumnVisibilityModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid
|
|
9
|
+
import { gridColumnVisibilityModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
|
|
10
10
|
import { useMemo } from "react";
|
|
11
11
|
import { FormattedMessage } from "react-intl";
|
|
12
12
|
import { Body, Divider, List, ListHeader, Root } from "./DataGridColumnsManagement.sc";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ComponentsOverrides, type IconButton, type ListItem, type ListItemText, type Switch as MuiSwitch, type Theme } from "@mui/material";
|
|
2
|
+
import { GridPinnedColumnPosition } from "@mui/x-data-grid";
|
|
2
3
|
import { type GridStateColDef } from "@mui/x-data-grid/models/colDef/gridColDef";
|
|
3
|
-
import { GridPinnedColumnPosition } from "@mui/x-data-grid-pro";
|
|
4
4
|
import { type ChangeEvent, type FunctionComponent } from "react";
|
|
5
5
|
import { type ThemedComponentBaseProps } from "../../helpers/ThemedComponentBaseProps";
|
|
6
6
|
export type DataGridColumnsManagementListItemClassKey = "root" | "switchTitleContainer" | "switch" | "listItemTitle" | "pinnedContainer" | "pinnedButton";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnsManagementListItem.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagementListItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,IAAI,SAAS,EACxB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DataGridColumnsManagementListItem.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagementListItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,IAAI,SAAS,EACxB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAqB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,yCAAyC,GAC/C,MAAM,GACN,sBAAsB,GACtB,QAAQ,GACR,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC;AAErB,MAAM,MAAM,sCAAsC,GAAG,wBAAwB,CAAC;IAC1E,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,oBAAoB,EAAE,KAAK,CAAC;IAC5B,MAAM,EAAE,OAAO,SAAS,CAAC;IACzB,aAAa,EAAE,OAAO,YAAY,CAAC;IACnC,eAAe,EAAE,KAAK,CAAC;IACvB,YAAY,EAAE,OAAO,UAAU,CAAC;CACnC,CAAC,GAAG;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9E,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,sCAAsC,CA4DvG,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,2CAA2C,EAAE,sCAAsC,CAAC;KACvF;IAED,UAAU,uBAAuB;QAC7B,2CAA2C,EAAE,yCAAyC,CAAC;KAC1F;IAED,UAAU,UAAU;QAChB,2CAA2C,CAAC,EAAE;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAC3F,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,6CAA6C,CAAC,CAAC;SAC9F,CAAC;KACL;CACJ"}
|
|
@@ -9,7 +9,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
9
9
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
10
10
|
import { PinLeft, PinRight } from "@comet/admin-icons";
|
|
11
11
|
import { useThemeProps } from "@mui/material";
|
|
12
|
-
import { GridPinnedColumnPosition, useGridApiContext } from "@mui/x-data-grid
|
|
12
|
+
import { GridPinnedColumnPosition, useGridApiContext } from "@mui/x-data-grid";
|
|
13
13
|
import { ListItemTitle, PinnedContainer, PinnedIconButton, Root, Switch, SwitchTitleContainer } from "./DataGridColumnsManagementListItem.styles";
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
export var DataGridColumnsManagementListItem = function DataGridColumnsManagementListItem(inProps) {
|
|
@@ -19,9 +19,9 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
19
19
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
20
20
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
21
21
|
import { useApolloClient } from "@apollo/client";
|
|
22
|
-
import { saveAs } from "file-saver";
|
|
23
22
|
import { useCallback, useState } from "react";
|
|
24
23
|
import { useIntl } from "react-intl";
|
|
24
|
+
import { downloadFile } from "../../helpers/downloadFile";
|
|
25
25
|
import { generateExcelFile } from "./generateExcelFile";
|
|
26
26
|
export function useDataGridExcelExport(params) {
|
|
27
27
|
var columns = params.columns,
|
|
@@ -68,7 +68,7 @@ export function useDataGridExcelExport(params) {
|
|
|
68
68
|
styling: styling
|
|
69
69
|
});
|
|
70
70
|
workbook.xlsx.writeBuffer().then(function (buffer) {
|
|
71
|
-
|
|
71
|
+
downloadFile(new Blob([buffer]), safeFileNameWithExtension(fileName));
|
|
72
72
|
});
|
|
73
73
|
case 1:
|
|
74
74
|
return _context.a(2);
|
|
@@ -15,8 +15,11 @@ interface GqlNumberFilter {
|
|
|
15
15
|
greaterThanEqual?: number | null;
|
|
16
16
|
notEqual?: number | null;
|
|
17
17
|
}
|
|
18
|
+
interface GqlBooleanFilter {
|
|
19
|
+
equal?: boolean | null;
|
|
20
|
+
}
|
|
18
21
|
export type GqlFilter = {
|
|
19
|
-
[key: string]: GqlStringFilter | GqlNumberFilter | undefined;
|
|
22
|
+
[key: string]: GqlStringFilter | GqlNumberFilter | GqlBooleanFilter | undefined;
|
|
20
23
|
} & {
|
|
21
24
|
and?: GqlFilter[] | null;
|
|
22
25
|
or?: GqlFilter[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muiGridFilterToGql.d.ts","sourceRoot":"","sources":["../../src/dataGrid/muiGridFilterToGql.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA0B/C,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"muiGridFilterToGql.d.ts","sourceRoot":"","sources":["../../src/dataGrid/muiGridFilterToGql.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA0B/C,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,GAAG,SAAS,CAAC;CACnF,GAAG;IACA,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B/H"}
|
|
@@ -5,7 +5,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
import { TablePagination, useThemeProps } from "@mui/material";
|
|
8
|
-
import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridRootProps, useGridSelector } from "@mui/x-data-grid
|
|
8
|
+
import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridRootProps, useGridSelector } from "@mui/x-data-grid";
|
|
9
9
|
import { useCallback } from "react";
|
|
10
10
|
import { FormattedMessage } from "react-intl";
|
|
11
11
|
import { PageInformation, Root } from "./DataGridPagination.styles";
|
|
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
import { ChevronLeft, ChevronRight } from "@comet/admin-icons";
|
|
8
8
|
import { IconButton, useMediaQuery, useTheme, useThemeProps } from "@mui/material";
|
|
9
|
-
import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid
|
|
9
|
+
import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
|
|
10
10
|
import { FormattedMessage } from "react-intl";
|
|
11
11
|
import { PageOf, PreviousNext, Root } from "./DataGridPaginationActions.styles";
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePersistentColumnState.d.ts","sourceRoot":"","sources":["../../src/dataGrid/usePersistentColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"usePersistentColumnState.d.ts","sourceRoot":"","sources":["../../src/dataGrid/usePersistentColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA8E,MAAM,kBAAkB,CAAC;AAClI,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAC;AAwDlF,KAAK,SAAS,GAAG;IACb,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9D,6BAA6B,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAE9E,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAEjE,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAE7D,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE1D,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC1B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAiGpE"}
|
|
@@ -27,6 +27,8 @@ export type DatePickerProps = ThemedComponentBaseProps<{
|
|
|
27
27
|
* @param date - The new date value in ISO 8601 format (YYYY-MM-DD), or `undefined` if cleared.
|
|
28
28
|
*/
|
|
29
29
|
onChange?: (date: string | undefined) => void;
|
|
30
|
+
onBlur?: () => void;
|
|
31
|
+
onFocus?: () => void;
|
|
30
32
|
/**
|
|
31
33
|
* Custom icons for the picker.
|
|
32
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/datePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/datePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE9G,MAAM,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACnD,IAAI,EAAE,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,eAAe,4CAqGlD,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,oBAAoB,EAAE,eAAe,CAAC;KACzC;IAED,UAAU,uBAAuB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC5C;IAED,UAAU,UAAU;QAChB,oBAAoB,CAAC,EAAE;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACvE,CAAC;KACL;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
var _templateObject;
|
|
3
|
-
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
|
|
3
|
+
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
|
|
4
4
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
5
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -19,6 +19,7 @@ import { Calendar } from "@comet/admin-icons";
|
|
|
19
19
|
import { css, inputLabelClasses, useThemeProps } from "@mui/material";
|
|
20
20
|
import { DatePicker as MuiDatePicker, pickersInputBaseClasses } from "@mui/x-date-pickers";
|
|
21
21
|
import { useState } from "react";
|
|
22
|
+
import { useIntl } from "react-intl";
|
|
22
23
|
import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
|
|
23
24
|
import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
|
|
24
25
|
import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
|
|
@@ -47,12 +48,15 @@ export var DatePicker = function DatePicker(inProps) {
|
|
|
47
48
|
disabled = _useThemeProps.disabled,
|
|
48
49
|
stringValue = _useThemeProps.value,
|
|
49
50
|
_onChange = _useThemeProps.onChange,
|
|
51
|
+
onBlur = _useThemeProps.onBlur,
|
|
52
|
+
onFocus = _useThemeProps.onFocus,
|
|
50
53
|
readOnly = _useThemeProps.readOnly,
|
|
51
54
|
restProps = _objectWithoutProperties(_useThemeProps, _excluded);
|
|
52
55
|
var _useState = useState(false),
|
|
53
56
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
57
|
open = _useState2[0],
|
|
55
58
|
setOpen = _useState2[1];
|
|
59
|
+
var intl = useIntl();
|
|
56
60
|
var dateValue = getDateValue(stringValue);
|
|
57
61
|
var _iconMapping$openPick = iconMapping.openPicker,
|
|
58
62
|
openPickerIcon = _iconMapping$openPick === void 0 ? /*#__PURE__*/_jsx(Calendar, {
|
|
@@ -81,13 +85,15 @@ export var DatePicker = function DatePicker(inProps) {
|
|
|
81
85
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
|
|
82
86
|
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
|
|
83
87
|
textField: function textField(ownerState) {
|
|
84
|
-
var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
88
|
+
var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
85
89
|
var textFieldProps = _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root2 = slotProps.root) === null || _slotProps$root2 === void 0 || (_slotProps$root2 = _slotProps$root2.slotProps) === null || _slotProps$root2 === void 0 ? void 0 : _slotProps$root2.textField), {}, {
|
|
86
90
|
ownerState: ownerState
|
|
87
91
|
});
|
|
88
92
|
return _objectSpread(_objectSpread({
|
|
89
93
|
fullWidth: fullWidth,
|
|
90
|
-
required: required
|
|
94
|
+
required: required,
|
|
95
|
+
onBlur: onBlur,
|
|
96
|
+
onFocus: onFocus
|
|
91
97
|
}, textFieldProps), {}, {
|
|
92
98
|
InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
|
|
93
99
|
startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -98,6 +104,14 @@ export var DatePicker = function DatePicker(inProps) {
|
|
|
98
104
|
return setOpen(true);
|
|
99
105
|
}
|
|
100
106
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
|
|
107
|
+
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
|
|
108
|
+
openPickerButton: _objectSpread({
|
|
109
|
+
"aria-label": intl.formatMessage({
|
|
110
|
+
id: "comet.datePicker.openPicker",
|
|
111
|
+
defaultMessage: "Open date picker"
|
|
112
|
+
})
|
|
113
|
+
}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker2 = slotProps.openPickerAdornment) === null || _slotProps$openPicker2 === void 0 || (_slotProps$openPicker2 = _slotProps$openPicker2.slotProps) === null || _slotProps$openPicker2 === void 0 ? void 0 : _slotProps$openPicker2.openPickerButton)
|
|
114
|
+
}),
|
|
101
115
|
children: openPickerIcon
|
|
102
116
|
})), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
|
|
103
117
|
}),
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
2
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
3
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
4
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
1
5
|
import { FinalForm } from "../../../FinalForm";
|
|
2
6
|
import { FinalFormDebug } from "../../../form/FinalFormDebug";
|
|
3
7
|
import { DatePickerField } from "../DatePickerField";
|
|
@@ -157,4 +161,60 @@ export var Disabled = {
|
|
|
157
161
|
}
|
|
158
162
|
});
|
|
159
163
|
}
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Before implementing custom validation, try to disable certain values using the props provided by MUI's DatePicker, such as `shouldDisableDate`, `disableFuture`, `disablePast`.
|
|
168
|
+
*
|
|
169
|
+
* Use this when:
|
|
170
|
+
* - You need to validate the date against a custom rule, which cannot be achieved using the props provided by MUI's DatePicker
|
|
171
|
+
* - You want to provide a custom error message
|
|
172
|
+
* - You want to validate the date asynchronously
|
|
173
|
+
*/
|
|
174
|
+
export var CustomValidation = {
|
|
175
|
+
render: function render() {
|
|
176
|
+
var validateIsWeekday = /*#__PURE__*/function () {
|
|
177
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
|
|
178
|
+
var day, isWeekday;
|
|
179
|
+
return _regenerator().w(function (_context) {
|
|
180
|
+
while (1) switch (_context.n) {
|
|
181
|
+
case 0:
|
|
182
|
+
if (value) {
|
|
183
|
+
_context.n = 1;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
return _context.a(2, undefined);
|
|
187
|
+
case 1:
|
|
188
|
+
day = new Date(value).getDay();
|
|
189
|
+
isWeekday = day !== 0 && day !== 6;
|
|
190
|
+
return _context.a(2, isWeekday ? undefined : "Please select a weekday");
|
|
191
|
+
}
|
|
192
|
+
}, _callee);
|
|
193
|
+
}));
|
|
194
|
+
return function validateIsWeekday(_x) {
|
|
195
|
+
return _ref5.apply(this, arguments);
|
|
196
|
+
};
|
|
197
|
+
}();
|
|
198
|
+
return /*#__PURE__*/_jsx(FinalForm, {
|
|
199
|
+
mode: "edit",
|
|
200
|
+
onSubmit: function onSubmit() {
|
|
201
|
+
// not handled
|
|
202
|
+
},
|
|
203
|
+
subscription: {
|
|
204
|
+
values: true
|
|
205
|
+
},
|
|
206
|
+
children: function children() {
|
|
207
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
208
|
+
children: [/*#__PURE__*/_jsx(DatePickerField, {
|
|
209
|
+
name: "value",
|
|
210
|
+
label: "Date Picker",
|
|
211
|
+
helperText: "Only weekdays are valid",
|
|
212
|
+
fullWidth: true,
|
|
213
|
+
variant: "horizontal",
|
|
214
|
+
validate: validateIsWeekday
|
|
215
|
+
}), /*#__PURE__*/_jsx(FinalFormDebug, {})]
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}
|
|
160
220
|
};
|
|
@@ -34,6 +34,8 @@ export type DateRangePickerProps = ThemedComponentBaseProps<{
|
|
|
34
34
|
* @param date - The new date range value, or `undefined` if cleared.
|
|
35
35
|
*/
|
|
36
36
|
onChange?: (date: DateRange | undefined) => void;
|
|
37
|
+
onBlur?: () => void;
|
|
38
|
+
onFocus?: () => void;
|
|
37
39
|
/**
|
|
38
40
|
* Custom icons for the picker.
|
|
39
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,KAAK,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,KAAK,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAGrF,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAEnH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;IACxD,IAAI,EAAE,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAMpE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,oBAAoB,4CA4G5D,CAAC;AA8BF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,yBAAyB,EAAE,oBAAoB,CAAC;KACnD;IAED,UAAU,uBAAuB;QAC7B,yBAAyB,EAAE,uBAAuB,CAAC;KACtD;IAED,UAAU,UAAU;QAChB,yBAAyB,CAAC,EAAE;YACxB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACzE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;SAC5E,CAAC;KACL;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
var _templateObject;
|
|
3
|
-
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
|
|
3
|
+
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
|
|
4
4
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
5
5
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
6
6
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
@@ -22,6 +22,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
22
22
|
import { Calendar } from "@comet/admin-icons";
|
|
23
23
|
import { css, inputLabelClasses, useThemeProps } from "@mui/material";
|
|
24
24
|
import { lazy, Suspense, useState } from "react";
|
|
25
|
+
import { useIntl } from "react-intl";
|
|
25
26
|
import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
|
|
26
27
|
import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
|
|
27
28
|
import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
|
|
@@ -58,8 +59,11 @@ export var DateRangePicker = function DateRangePicker(inProps) {
|
|
|
58
59
|
disabled = _useThemeProps.disabled,
|
|
59
60
|
stringDateRangeValue = _useThemeProps.value,
|
|
60
61
|
_onChange = _useThemeProps.onChange,
|
|
62
|
+
onBlur = _useThemeProps.onBlur,
|
|
63
|
+
onFocus = _useThemeProps.onFocus,
|
|
61
64
|
readOnly = _useThemeProps.readOnly,
|
|
62
65
|
restProps = _objectWithoutProperties(_useThemeProps, _excluded);
|
|
66
|
+
var intl = useIntl();
|
|
63
67
|
var _useState = useState(false),
|
|
64
68
|
_useState2 = _slicedToArray(_useState, 2),
|
|
65
69
|
open = _useState2[0],
|
|
@@ -102,13 +106,15 @@ export var DateRangePicker = function DateRangePicker(inProps) {
|
|
|
102
106
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
|
|
103
107
|
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
|
|
104
108
|
textField: function textField(ownerState) {
|
|
105
|
-
var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
109
|
+
var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
106
110
|
var textFieldProps = _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root2 = slotProps.root) === null || _slotProps$root2 === void 0 || (_slotProps$root2 = _slotProps$root2.slotProps) === null || _slotProps$root2 === void 0 ? void 0 : _slotProps$root2.textField), {}, {
|
|
107
111
|
ownerState: ownerState
|
|
108
112
|
});
|
|
109
113
|
return _objectSpread(_objectSpread({
|
|
110
114
|
fullWidth: fullWidth,
|
|
111
|
-
required: required
|
|
115
|
+
required: required,
|
|
116
|
+
onBlur: onBlur,
|
|
117
|
+
onFocus: onFocus
|
|
112
118
|
}, textFieldProps), {}, {
|
|
113
119
|
InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
|
|
114
120
|
startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -119,6 +125,14 @@ export var DateRangePicker = function DateRangePicker(inProps) {
|
|
|
119
125
|
return setOpen(true);
|
|
120
126
|
}
|
|
121
127
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
|
|
128
|
+
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
|
|
129
|
+
openPickerButton: _objectSpread({
|
|
130
|
+
"aria-label": intl.formatMessage({
|
|
131
|
+
id: "comet.dateRangePicker.openPicker",
|
|
132
|
+
defaultMessage: "Open date range picker"
|
|
133
|
+
})
|
|
134
|
+
}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker2 = slotProps.openPickerAdornment) === null || _slotProps$openPicker2 === void 0 || (_slotProps$openPicker2 = _slotProps$openPicker2.slotProps) === null || _slotProps$openPicker2 === void 0 ? void 0 : _slotProps$openPicker2.openPickerButton)
|
|
135
|
+
}),
|
|
122
136
|
children: openPickerIcon
|
|
123
137
|
})), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
|
|
124
138
|
}),
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
2
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
3
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
4
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
1
5
|
import { FinalForm } from "../../../FinalForm";
|
|
2
6
|
import { FinalFormDebug } from "../../../form/FinalFormDebug";
|
|
3
7
|
import { DateRangePickerField } from "../DateRangePickerField";
|
|
@@ -160,4 +164,61 @@ export var Disabled = {
|
|
|
160
164
|
}
|
|
161
165
|
});
|
|
162
166
|
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Before implementing custom validation, try to disable certain values using the props provided by MUI's DateRangePicker, such as `shouldDisableDate`, `disableFuture`, `disablePast`.
|
|
171
|
+
*
|
|
172
|
+
* Use this when:
|
|
173
|
+
* - You need to validate the date range against a custom rule, which cannot be achieved using the props provided by MUI's DateRangePicker
|
|
174
|
+
* - You want to provide a custom error message
|
|
175
|
+
* - You want to validate the date range asynchronously
|
|
176
|
+
*/
|
|
177
|
+
export var CustomValidation = {
|
|
178
|
+
render: function render() {
|
|
179
|
+
var validateMaxThirtyDayRange = /*#__PURE__*/function () {
|
|
180
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
|
|
181
|
+
var startDate, endDate, differenceInDays;
|
|
182
|
+
return _regenerator().w(function (_context) {
|
|
183
|
+
while (1) switch (_context.n) {
|
|
184
|
+
case 0:
|
|
185
|
+
if (!(!(value !== null && value !== void 0 && value.start) || !(value !== null && value !== void 0 && value.end))) {
|
|
186
|
+
_context.n = 1;
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
return _context.a(2, undefined);
|
|
190
|
+
case 1:
|
|
191
|
+
startDate = new Date(value.start);
|
|
192
|
+
endDate = new Date(value.end);
|
|
193
|
+
differenceInDays = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);
|
|
194
|
+
return _context.a(2, differenceInDays <= 30 ? undefined : "Please select a range no longer than 30 days");
|
|
195
|
+
}
|
|
196
|
+
}, _callee);
|
|
197
|
+
}));
|
|
198
|
+
return function validateMaxThirtyDayRange(_x) {
|
|
199
|
+
return _ref5.apply(this, arguments);
|
|
200
|
+
};
|
|
201
|
+
}();
|
|
202
|
+
return /*#__PURE__*/_jsx(FinalForm, {
|
|
203
|
+
mode: "edit",
|
|
204
|
+
onSubmit: function onSubmit() {
|
|
205
|
+
// not handled
|
|
206
|
+
},
|
|
207
|
+
subscription: {
|
|
208
|
+
values: true
|
|
209
|
+
},
|
|
210
|
+
children: function children() {
|
|
211
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
212
|
+
children: [/*#__PURE__*/_jsx(DateRangePickerField, {
|
|
213
|
+
name: "value",
|
|
214
|
+
label: "Date Range Picker",
|
|
215
|
+
helperText: "The selected range must not exceed 30 days",
|
|
216
|
+
fullWidth: true,
|
|
217
|
+
variant: "horizontal",
|
|
218
|
+
validate: validateMaxThirtyDayRange
|
|
219
|
+
}), /*#__PURE__*/_jsx(FinalFormDebug, {})]
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
163
224
|
};
|
|
@@ -32,6 +32,8 @@ export type DateTimePickerProps = ThemedComponentBaseProps<{
|
|
|
32
32
|
*
|
|
33
33
|
* - `openPicker`: Icon to display in the adornment that opens the picker (default: Calendar icon)
|
|
34
34
|
*/
|
|
35
|
+
onBlur?: () => void;
|
|
36
|
+
onFocus?: () => void;
|
|
35
37
|
iconMapping?: {
|
|
36
38
|
openPicker?: ReactNode;
|
|
37
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateTimePicker/DateTimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EACH,cAAc,IAAI,iBAAiB,EACnC,KAAK,mBAAmB,IAAI,sBAAsB,EAErD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateTimePicker/DateTimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EACH,cAAc,IAAI,iBAAiB,EACnC,KAAK,mBAAmB,IAAI,sBAAsB,EAErD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAElH,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;IACvD,IAAI,EAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,4CAmG1D,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,wBAAwB,EAAE,mBAAmB,CAAC;KACjD;IAED,UAAU,uBAAuB;QAC7B,wBAAwB,EAAE,sBAAsB,CAAC;KACpD;IAED,UAAU,UAAU;QAChB,wBAAwB,CAAC,EAAE;YACvB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACxE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;SAC3E,CAAC;KACL;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
var _templateObject;
|
|
3
|
-
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
|
|
3
|
+
var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
|
|
4
4
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
5
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -19,6 +19,7 @@ import { Calendar } from "@comet/admin-icons";
|
|
|
19
19
|
import { css, inputLabelClasses, useThemeProps } from "@mui/material";
|
|
20
20
|
import { DateTimePicker as MuiDateTimePicker, pickersInputBaseClasses } from "@mui/x-date-pickers";
|
|
21
21
|
import { useState } from "react";
|
|
22
|
+
import { useIntl } from "react-intl";
|
|
22
23
|
import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
|
|
23
24
|
import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
|
|
24
25
|
import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
|
|
@@ -48,12 +49,15 @@ export var DateTimePicker = function DateTimePicker(inProps) {
|
|
|
48
49
|
_useThemeProps$value = _useThemeProps.value,
|
|
49
50
|
value = _useThemeProps$value === void 0 ? null : _useThemeProps$value,
|
|
50
51
|
_onChange = _useThemeProps.onChange,
|
|
52
|
+
onBlur = _useThemeProps.onBlur,
|
|
53
|
+
onFocus = _useThemeProps.onFocus,
|
|
51
54
|
readOnly = _useThemeProps.readOnly,
|
|
52
55
|
restProps = _objectWithoutProperties(_useThemeProps, _excluded);
|
|
53
56
|
var _useState = useState(false),
|
|
54
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
55
58
|
open = _useState2[0],
|
|
56
59
|
setOpen = _useState2[1];
|
|
60
|
+
var intl = useIntl();
|
|
57
61
|
var _iconMapping$openPick = iconMapping.openPicker,
|
|
58
62
|
openPickerIcon = _iconMapping$openPick === void 0 ? /*#__PURE__*/_jsx(Calendar, {
|
|
59
63
|
color: "inherit"
|
|
@@ -81,13 +85,15 @@ export var DateTimePicker = function DateTimePicker(inProps) {
|
|
|
81
85
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
|
|
82
86
|
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
|
|
83
87
|
textField: function textField(ownerState) {
|
|
84
|
-
var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
88
|
+
var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
|
|
85
89
|
var textFieldProps = _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root2 = slotProps.root) === null || _slotProps$root2 === void 0 || (_slotProps$root2 = _slotProps$root2.slotProps) === null || _slotProps$root2 === void 0 ? void 0 : _slotProps$root2.textField), {}, {
|
|
86
90
|
ownerState: ownerState
|
|
87
91
|
});
|
|
88
92
|
return _objectSpread(_objectSpread({
|
|
89
93
|
fullWidth: fullWidth,
|
|
90
|
-
required: required
|
|
94
|
+
required: required,
|
|
95
|
+
onBlur: onBlur,
|
|
96
|
+
onFocus: onFocus
|
|
91
97
|
}, textFieldProps), {}, {
|
|
92
98
|
InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
|
|
93
99
|
startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -98,6 +104,14 @@ export var DateTimePicker = function DateTimePicker(inProps) {
|
|
|
98
104
|
return setOpen(true);
|
|
99
105
|
}
|
|
100
106
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
|
|
107
|
+
slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
|
|
108
|
+
openPickerButton: _objectSpread({
|
|
109
|
+
"aria-label": intl.formatMessage({
|
|
110
|
+
id: "comet.dateTimePicker.openPicker",
|
|
111
|
+
defaultMessage: "Open date time picker"
|
|
112
|
+
})
|
|
113
|
+
}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker2 = slotProps.openPickerAdornment) === null || _slotProps$openPicker2 === void 0 || (_slotProps$openPicker2 = _slotProps$openPicker2.slotProps) === null || _slotProps$openPicker2 === void 0 ? void 0 : _slotProps$openPicker2.openPickerButton)
|
|
114
|
+
}),
|
|
101
115
|
children: openPickerIcon
|
|
102
116
|
})), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
|
|
103
117
|
}),
|