ods-component-lib 1.23.2 → 1.23.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/{FileSaver.min2.js → FileSaver2.min.js} +1 -1
- package/dist/_virtual/FileSaver2.min.js.map +1 -0
- package/dist/_virtual/{dayjs.min2.js → dayjs2.min.js} +1 -1
- package/dist/_virtual/dayjs2.min.js.map +1 -0
- package/dist/_virtual/es2.array.index-of.js +5 -0
- package/dist/_virtual/es2.array.index-of.js.map +1 -0
- package/dist/_virtual/es2.array.reduce.js +5 -0
- package/dist/_virtual/es2.array.reduce.js.map +1 -0
- package/dist/_virtual/es2.array.reverse.js +5 -0
- package/dist/_virtual/es2.array.reverse.js.map +1 -0
- package/dist/_virtual/{es.promise2.js → es2.promise.js} +1 -1
- package/dist/_virtual/es2.promise.js.map +1 -0
- package/dist/_virtual/es2.regexp.to-string.js +5 -0
- package/dist/_virtual/es2.regexp.to-string.js.map +1 -0
- package/dist/_virtual/es2.string.ends-with.js +5 -0
- package/dist/_virtual/es2.string.ends-with.js.map +1 -0
- package/dist/_virtual/es2.string.includes.js +5 -0
- package/dist/_virtual/es2.string.includes.js.map +1 -0
- package/dist/_virtual/es2.string.match.js +5 -0
- package/dist/_virtual/es2.string.match.js.map +1 -0
- package/dist/_virtual/es2.string.replace.js +5 -0
- package/dist/_virtual/es2.string.replace.js.map +1 -0
- package/dist/_virtual/es2.string.split.js +5 -0
- package/dist/_virtual/es2.string.split.js.map +1 -0
- package/dist/_virtual/es2.string.starts-with.js +5 -0
- package/dist/_virtual/es2.string.starts-with.js.map +1 -0
- package/dist/_virtual/es2.string.trim.js +5 -0
- package/dist/_virtual/es2.string.trim.js.map +1 -0
- package/dist/_virtual/{exceljs.min2.js → exceljs2.min.js} +1 -1
- package/dist/_virtual/exceljs2.min.js.map +1 -0
- package/dist/_virtual/web2.dom-collections.iterator.js +5 -0
- package/dist/_virtual/web2.dom-collections.iterator.js.map +1 -0
- package/dist/components/devextreme/DataGrid/hooks/useBodyClasses.js +1 -1
- package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js +7 -7
- package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsDataGrid.Legacy.js +3 -3
- package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsRemoteDataGrid.js +2 -2
- package/dist/components/devextreme/OdsRemoteDataGrid.js.map +1 -1
- package/dist/components/devextreme/OdsTransfer.js +14 -14
- package/dist/components/devextreme/OdsTransfer.js.map +1 -1
- package/dist/components/devextreme/OdsTransferV2.js +24 -24
- package/dist/components/devextreme/OdsTransferV2.js.map +1 -1
- package/dist/index.d.ts +24 -31
- package/dist/index.js +5 -5
- package/dist/node_modules/core-js/internals/advance-string-index.js +1 -1
- package/dist/node_modules/core-js/internals/advance-string-index.js.map +1 -1
- package/dist/node_modules/core-js/internals/environment-is-ios.js +5 -5
- package/dist/node_modules/core-js/internals/environment-is-ios.js.map +1 -1
- package/dist/node_modules/core-js/internals/function-bind-native.js +2 -2
- package/dist/node_modules/core-js/internals/function-bind-native.js.map +1 -1
- package/dist/node_modules/core-js/internals/function-name.js +2 -2
- package/dist/node_modules/core-js/internals/function-name.js.map +1 -1
- package/dist/node_modules/core-js/internals/iterate.js +38 -35
- package/dist/node_modules/core-js/internals/iterate.js.map +1 -1
- package/dist/node_modules/core-js/internals/regexp-exec.js +29 -20
- package/dist/node_modules/core-js/internals/regexp-exec.js.map +1 -1
- package/dist/node_modules/core-js/internals/shared-store.js +8 -8
- package/dist/node_modules/core-js/internals/shared-store.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.array.index-of.js +1 -1
- package/dist/node_modules/core-js/modules/es.array.reduce.js +1 -1
- package/dist/node_modules/core-js/modules/es.array.reverse.js +1 -1
- package/dist/node_modules/core-js/modules/es.promise.js +1 -1
- package/dist/node_modules/core-js/modules/es.regexp.to-string.js +1 -1
- package/dist/node_modules/core-js/modules/es.string.ends-with.js +3 -3
- package/dist/node_modules/core-js/modules/es.string.ends-with.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.string.includes.js +1 -1
- package/dist/node_modules/core-js/modules/es.string.match.js +13 -13
- package/dist/node_modules/core-js/modules/es.string.match.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.string.replace.js +34 -34
- package/dist/node_modules/core-js/modules/es.string.replace.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.string.split.js +55 -52
- package/dist/node_modules/core-js/modules/es.string.split.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.string.starts-with.js +3 -3
- package/dist/node_modules/core-js/modules/es.string.starts-with.js.map +1 -1
- package/dist/node_modules/core-js/modules/es.string.trim.js +1 -1
- package/dist/node_modules/core-js/modules/web.dom-collections.iterator.js +1 -1
- package/dist/node_modules/dayjs/dayjs.min.js +17 -17
- package/dist/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/node_modules/exceljs/dist/exceljs.min.js +1 -1
- package/dist/node_modules/file-saver/dist/FileSaver.min.js +1 -1
- package/dist/providers/OdsConfigProvider.js +6 -7
- package/package.json +4 -3
- package/dist/_virtual/FileSaver.min2.js.map +0 -1
- package/dist/_virtual/dayjs.min2.js.map +0 -1
- package/dist/_virtual/es.array.index-of2.js +0 -5
- package/dist/_virtual/es.array.index-of2.js.map +0 -1
- package/dist/_virtual/es.array.reduce2.js +0 -5
- package/dist/_virtual/es.array.reduce2.js.map +0 -1
- package/dist/_virtual/es.array.reverse2.js +0 -5
- package/dist/_virtual/es.array.reverse2.js.map +0 -1
- package/dist/_virtual/es.promise2.js.map +0 -1
- package/dist/_virtual/es.regexp.to-string2.js +0 -5
- package/dist/_virtual/es.regexp.to-string2.js.map +0 -1
- package/dist/_virtual/es.string.ends-with2.js +0 -5
- package/dist/_virtual/es.string.ends-with2.js.map +0 -1
- package/dist/_virtual/es.string.includes2.js +0 -5
- package/dist/_virtual/es.string.includes2.js.map +0 -1
- package/dist/_virtual/es.string.match2.js +0 -5
- package/dist/_virtual/es.string.match2.js.map +0 -1
- package/dist/_virtual/es.string.replace2.js +0 -5
- package/dist/_virtual/es.string.replace2.js.map +0 -1
- package/dist/_virtual/es.string.split2.js +0 -5
- package/dist/_virtual/es.string.split2.js.map +0 -1
- package/dist/_virtual/es.string.starts-with2.js +0 -5
- package/dist/_virtual/es.string.starts-with2.js.map +0 -1
- package/dist/_virtual/es.string.trim2.js +0 -5
- package/dist/_virtual/es.string.trim2.js.map +0 -1
- package/dist/_virtual/exceljs.min2.js.map +0 -1
- package/dist/_virtual/web.dom-collections.iterator2.js +0 -5
- package/dist/_virtual/web.dom-collections.iterator2.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as C, jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { useState as p, useRef as tt, useCallback as D, useEffect as
|
|
2
|
+
import { useState as p, useRef as tt, useCallback as D, useEffect as O } from "react";
|
|
3
3
|
import { Transfer as et } from "antd";
|
|
4
|
-
import at, { FilterRow as nt, Column as
|
|
4
|
+
import at, { FilterRow as nt, Column as Q, Toolbar as rt, Item as st } from "devextreme-react/data-grid";
|
|
5
5
|
import * as ot from "../../node_modules/query-string/base.js";
|
|
6
6
|
import lt from "./NoContentComponent.js";
|
|
7
7
|
import ct from "../antd/typography/OdsTitle.js";
|
|
@@ -13,7 +13,6 @@ const b = {
|
|
|
13
13
|
totalRecordCount: 0
|
|
14
14
|
}, ft = (d) => new Headers({
|
|
15
15
|
"Content-Type": "application/json",
|
|
16
|
-
Authorization: `Bearer ${d.axiosRequest?.token || ""}`,
|
|
17
16
|
"Accept-Language": d.language || "EN"
|
|
18
17
|
}), w = (d, h) => {
|
|
19
18
|
const f = /* @__PURE__ */ new Set();
|
|
@@ -34,8 +33,8 @@ const b = {
|
|
|
34
33
|
columns: I,
|
|
35
34
|
pageTitle: T,
|
|
36
35
|
keyExpr: o,
|
|
37
|
-
noDataText:
|
|
38
|
-
defaultPageSize:
|
|
36
|
+
noDataText: $,
|
|
37
|
+
defaultPageSize: B,
|
|
39
38
|
targetItems: P = [],
|
|
40
39
|
noContentMainText: G,
|
|
41
40
|
noContentSubText: L,
|
|
@@ -44,16 +43,16 @@ const b = {
|
|
|
44
43
|
targetTitle: v = "Selected Items",
|
|
45
44
|
displayPageTitle: M = !1,
|
|
46
45
|
className: V,
|
|
47
|
-
rootClassName:
|
|
48
|
-
showSearch:
|
|
49
|
-
render:
|
|
46
|
+
rootClassName: K,
|
|
47
|
+
showSearch: _ = !1,
|
|
48
|
+
render: z,
|
|
50
49
|
useCustomHeader: J = !1
|
|
51
50
|
}) => {
|
|
52
51
|
const [S, U] = p([]), [j, W] = p(
|
|
53
52
|
P.map((e) => e[o])
|
|
54
53
|
), [m, q] = p(
|
|
55
54
|
ut(P, o)
|
|
56
|
-
), [y, X] = p([]), [Y, Z] = p([]),
|
|
55
|
+
), [y, X] = p([]), [Y, Z] = p([]), E = tt(null), A = D(async () => {
|
|
57
56
|
if (!t || !l) return;
|
|
58
57
|
const e = t.requestType.toUpperCase() === "GET";
|
|
59
58
|
let n = `${t.environmentUrl}${t.apiUrl}`;
|
|
@@ -63,7 +62,8 @@ const b = {
|
|
|
63
62
|
}
|
|
64
63
|
const u = {
|
|
65
64
|
method: t.requestType,
|
|
66
|
-
headers: ft({ language: h
|
|
65
|
+
headers: ft({ language: h }),
|
|
66
|
+
credentials: "include",
|
|
67
67
|
body: e ? void 0 : JSON.stringify(t.requestData)
|
|
68
68
|
};
|
|
69
69
|
try {
|
|
@@ -74,7 +74,7 @@ const b = {
|
|
|
74
74
|
} catch {
|
|
75
75
|
}
|
|
76
76
|
}, [t, g, h, l]);
|
|
77
|
-
|
|
77
|
+
O(() => {
|
|
78
78
|
l && t && (U([]), A());
|
|
79
79
|
}, [
|
|
80
80
|
t?.requestData,
|
|
@@ -83,14 +83,14 @@ const b = {
|
|
|
83
83
|
t?.environmentUrl,
|
|
84
84
|
A,
|
|
85
85
|
l
|
|
86
|
-
]),
|
|
86
|
+
]), O(() => {
|
|
87
87
|
const n = [...l ? S : d, ...m], u = w(n, o).map((r) => ({
|
|
88
88
|
...r,
|
|
89
89
|
key: r[o]
|
|
90
90
|
}));
|
|
91
91
|
X(u);
|
|
92
92
|
}, [S, d, m, o, l]);
|
|
93
|
-
const
|
|
93
|
+
const k = D(
|
|
94
94
|
(e, n, u) => {
|
|
95
95
|
W(e);
|
|
96
96
|
const r = y.filter(
|
|
@@ -128,13 +128,13 @@ const b = {
|
|
|
128
128
|
targetKeys: j,
|
|
129
129
|
selectedKeys: Y,
|
|
130
130
|
onSelectChange: x,
|
|
131
|
-
onChange:
|
|
131
|
+
onChange: k,
|
|
132
132
|
showSelectAll: !1,
|
|
133
133
|
titles: [N, v],
|
|
134
|
-
render:
|
|
134
|
+
render: z,
|
|
135
135
|
className: V,
|
|
136
|
-
rootClassName:
|
|
137
|
-
showSearch:
|
|
136
|
+
rootClassName: K,
|
|
137
|
+
showSearch: _,
|
|
138
138
|
children: ({ direction: e, filteredItems: n, onItemSelectAll: u }) => {
|
|
139
139
|
const r = e === "left" && n.length === 0, c = e === "right" && j.length === 0, i = e === "right" ? w([...n, ...m], o) : n;
|
|
140
140
|
return /* @__PURE__ */ C(
|
|
@@ -170,7 +170,7 @@ const b = {
|
|
|
170
170
|
dataSource: i,
|
|
171
171
|
keyExpr: o,
|
|
172
172
|
showBorders: !0,
|
|
173
|
-
paging: { enabled: f, pageSize:
|
|
173
|
+
paging: { enabled: f, pageSize: B },
|
|
174
174
|
selection: {
|
|
175
175
|
mode: "multiple",
|
|
176
176
|
selectAllMode: "page",
|
|
@@ -178,19 +178,19 @@ const b = {
|
|
|
178
178
|
},
|
|
179
179
|
onSelectionChanged: ({
|
|
180
180
|
selectedRowKeys: a,
|
|
181
|
-
currentDeselectedRowKeys:
|
|
181
|
+
currentDeselectedRowKeys: H
|
|
182
182
|
}) => {
|
|
183
|
-
u(a, !0),
|
|
183
|
+
u(a, !0), H.length > 0 && u(H, !1);
|
|
184
184
|
},
|
|
185
185
|
columns: I,
|
|
186
186
|
columnFixing: { enabled: !0 },
|
|
187
|
-
noDataText:
|
|
188
|
-
ref:
|
|
187
|
+
noDataText: $,
|
|
188
|
+
ref: E,
|
|
189
189
|
children: [
|
|
190
190
|
/* @__PURE__ */ s(nt, { visible: !0 }),
|
|
191
191
|
I.map(
|
|
192
192
|
(a) => typeof a == "string" ? /* @__PURE__ */ s(
|
|
193
|
-
|
|
193
|
+
Q,
|
|
194
194
|
{
|
|
195
195
|
dataField: a,
|
|
196
196
|
caption: a,
|
|
@@ -198,7 +198,7 @@ const b = {
|
|
|
198
198
|
},
|
|
199
199
|
a
|
|
200
200
|
) : /* @__PURE__ */ s(
|
|
201
|
-
|
|
201
|
+
Q,
|
|
202
202
|
{
|
|
203
203
|
dataField: a.dataField || a.dataIndex,
|
|
204
204
|
caption: a.caption || a.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OdsTransferV2.js","sources":["../../../src/components/devextreme/OdsTransferV2.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef, FC } from \"react\";\r\nimport { Transfer, TransferProps } from \"antd\";\r\nimport DataGrid, {\r\n Column as DxColumn,\r\n FilterRow,\r\n Toolbar,\r\n Item as DxItem,\r\n} from \"devextreme-react/data-grid\";\r\nimport queryString from \"query-string\";\r\nimport NoContentComponent from \"./NoContentComponent\";\r\nimport OdsTitle from \"../antd/typography/OdsTitle\";\r\nimport styles from \"./Transfer.module.scss\";\r\nimport { isTextEmpty } from \"../../utils/commonFunctions\";\r\n\r\ninterface Column {\r\n title?: string;\r\n dataIndex?: string;\r\n key?: string;\r\n caption?: string;\r\n tooltip?: { enable: boolean };\r\n dataField?: string;\r\n dataType?: \"string\" | \"number\" | \"boolean\" | \"object\" | \"date\" | \"datetime\";\r\n calculateSortValue?: string;\r\n}\r\n\r\ninterface AxiosProps {\r\n token: string;\r\n requestData?: any;\r\n apiUrl: string;\r\n environmentUrl: string;\r\n requestQueryString?: any;\r\n requestType: string;\r\n}\r\n\r\ninterface SummaryRowOptions {\r\n summaryLoadedDataLabel?: string;\r\n summaryTotalDataLabel?: string;\r\n summaryFilteredDataLabel?: string;\r\n summaryTotalCount?: number;\r\n summaryTotalPageCountLabel?: string;\r\n summarySumLabel?: string;\r\n summaryAvgLabel?: string;\r\n summaryMinLabel?: string;\r\n summaryMaxLabel?: string;\r\n summaryCountLabel?: string;\r\n}\r\n\r\ninterface OdsTransferProps<T = any> {\r\n dataSource?: T[];\r\n language: string;\r\n pagingEnable?: boolean;\r\n pageSize?: number;\r\n isServerSide: boolean;\r\n axiosRequest?: AxiosProps;\r\n customSummary?: SummaryRowOptions;\r\n dataGridPageName?: string;\r\n columns: (string | Column)[];\r\n pageTitle?: string;\r\n keyExpr: string;\r\n noDataText: string;\r\n defaultPageSize: number;\r\n targetItems?: T[];\r\n noContentMainText: string;\r\n noContentSubText: string;\r\n onTargetChange?: (selectedItems: T[]) => void;\r\n sourceTitle?: string;\r\n targetTitle?: string;\r\n displayPageTitle?: boolean;\r\n className?: string;\r\n rootClassName?: string;\r\n showSearch?: boolean;\r\n render?: TransferProps<T>[\"render\"];\r\n useCustomHeader?: boolean;\r\n}\r\n\r\ninterface RequestHeadersProps {\r\n language: string;\r\n axiosRequest?: AxiosProps;\r\n}\r\n\r\nconst constants = {\r\n totalPageCount: 1,\r\n loadedPageCount: 1,\r\n totalRecordCount: 0,\r\n};\r\n\r\nconst getRequestHeaders = (props: RequestHeadersProps): Headers => {\r\n return new Headers({\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `Bearer ${props.axiosRequest?.token || \"\"}`,\r\n \"Accept-Language\": props.language || \"EN\",\r\n });\r\n};\r\n\r\nconst removeDuplicates = <T,>(items: T[], keyExpr: string): T[] => {\r\n const seen = new Set();\r\n return items.filter((item) => {\r\n const key = item[keyExpr];\r\n return !seen.has(key) && seen.add(key);\r\n });\r\n};\r\n\r\nconst initializeTargetItems = <T,>(items: T[], keyExpr: string): T[] => {\r\n return items.map((item) => ({\r\n ...item,\r\n key: item[keyExpr] || item[\"Id\"],\r\n }));\r\n};\r\n\r\nconst OdsTransferV2: FC<OdsTransferProps> = ({\r\n dataSource = [],\r\n language,\r\n pagingEnable = true,\r\n pageSize = 10,\r\n isServerSide,\r\n axiosRequest,\r\n columns,\r\n pageTitle,\r\n keyExpr,\r\n noDataText,\r\n defaultPageSize,\r\n targetItems: initialTargetItems = [],\r\n noContentMainText,\r\n noContentSubText,\r\n onTargetChange,\r\n sourceTitle = \"Available Items\",\r\n targetTitle = \"Selected Items\",\r\n displayPageTitle = false,\r\n className,\r\n rootClassName,\r\n showSearch = false,\r\n render,\r\n useCustomHeader = false,\r\n}) => {\r\n const [data, setData] = useState<any[]>([]);\r\n const [targetKeys, setTargetKeys] = useState<string[]>(\r\n initialTargetItems.map((item) => item[keyExpr])\r\n );\r\n const [targetItems, setTargetItems] = useState<any[]>(\r\n initializeTargetItems(initialTargetItems, keyExpr)\r\n );\r\n const [transferDataSource, setTransferDataSource] = useState<any[]>([]);\r\n const [selectedKeys, setSelectedKeys] = useState<string[]>([]);\r\n const gridRef = useRef<any>(null);\r\n\r\n const fetchData = useCallback(async () => {\r\n if (!axiosRequest || !isServerSide) return;\r\n\r\n const isGet = axiosRequest.requestType.toUpperCase() === \"GET\";\r\n let apiUrl = `${axiosRequest.environmentUrl}${axiosRequest.apiUrl}`;\r\n\r\n if (axiosRequest.requestData?.PaginatedRequest) {\r\n axiosRequest.requestData.PaginatedRequest.PageSize = pageSize;\r\n }\r\n\r\n if (axiosRequest.requestQueryString) {\r\n axiosRequest.requestQueryString.maxResultCount = pageSize;\r\n if (\r\n constants.loadedPageCount > 1 &&\r\n constants.totalPageCount >= constants.loadedPageCount\r\n ) {\r\n axiosRequest.requestQueryString.skipCount = (\r\n (constants.loadedPageCount - 1) *\r\n pageSize\r\n ).toString();\r\n }\r\n if (isGet) {\r\n const query = queryString.stringify(axiosRequest.requestQueryString);\r\n apiUrl = `${apiUrl}?${query}`;\r\n }\r\n }\r\n\r\n const requestOptions: RequestInit = {\r\n method: axiosRequest.requestType,\r\n headers: getRequestHeaders({ language, axiosRequest }),\r\n body: isGet ? undefined : JSON.stringify(axiosRequest.requestData),\r\n };\r\n\r\n try {\r\n const response = await fetch(apiUrl, requestOptions);\r\n const newData = await response.json();\r\n const dataArray = newData.Data || newData;\r\n\r\n setData((prevData) =>\r\n constants.loadedPageCount === 1\r\n ? dataArray\r\n : [...prevData, ...dataArray]\r\n );\r\n\r\n constants.totalPageCount =\r\n newData.PageCount ||\r\n Math.ceil((newData.rowCount || dataArray.length) / pageSize);\r\n constants.totalRecordCount =\r\n newData.RowCount ||\r\n parseInt(response.headers.get(\"x-total-count\") || dataArray.length, 10);\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n }\r\n }, [axiosRequest, pageSize, language, isServerSide]);\r\n\r\n useEffect(() => {\r\n if (isServerSide && axiosRequest) {\r\n setData([]);\r\n fetchData();\r\n }\r\n }, [\r\n axiosRequest?.requestData,\r\n axiosRequest?.requestQueryString,\r\n axiosRequest?.apiUrl,\r\n axiosRequest?.environmentUrl,\r\n fetchData,\r\n isServerSide,\r\n ]);\r\n\r\n useEffect(() => {\r\n let sourceData = isServerSide ? data : dataSource;\r\n const combinedData = [...sourceData, ...targetItems];\r\n const uniqueData = removeDuplicates(combinedData, keyExpr).map((item) => ({\r\n ...item,\r\n key: item[keyExpr],\r\n }));\r\n setTransferDataSource(uniqueData);\r\n }, [data, dataSource, targetItems, keyExpr, isServerSide]);\r\n\r\n const handleChange = useCallback(\r\n (newTargetKeys: string[], direction: string, moveKeys: string[]) => {\r\n setTargetKeys(newTargetKeys);\r\n const selectedItems = transferDataSource.filter((item) =>\r\n newTargetKeys.includes(item[keyExpr])\r\n );\r\n\r\n const updatedItems = removeDuplicates(\r\n direction === \"left\"\r\n ? targetItems\r\n .filter((item) => !moveKeys.includes(item[keyExpr]))\r\n .concat(selectedItems)\r\n : [...targetItems, ...selectedItems],\r\n keyExpr\r\n );\r\n\r\n setTargetItems(updatedItems);\r\n onTargetChange?.(updatedItems);\r\n },\r\n [transferDataSource, targetItems, keyExpr, onTargetChange]\r\n );\r\n\r\n const handleSelectChange = useCallback(\r\n (sourceSelectedKeys: string[], targetSelectedKeys: string[]) => {\r\n setSelectedKeys([...sourceSelectedKeys, ...targetSelectedKeys]);\r\n },\r\n []\r\n );\r\n\r\n const CustomHeader = ({ direction }: { direction: string }) => (\r\n <div\r\n className=\"transfer-custom-header\"\r\n style={{\r\n padding: \"8px 16px\",\r\n borderBottom: \"1px solid #f0f0f0\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n {direction === \"left\" ? sourceTitle : targetTitle}\r\n </div>\r\n );\r\n\r\n return (\r\n <div className={styles.wrapper}>\r\n {isServerSide && <style>{`.dx-pager { display: none; }`}</style>}\r\n <Transfer\r\n dataSource={transferDataSource}\r\n targetKeys={targetKeys}\r\n selectedKeys={selectedKeys}\r\n onSelectChange={handleSelectChange}\r\n onChange={handleChange}\r\n showSelectAll={false}\r\n titles={[sourceTitle, targetTitle]}\r\n render={render}\r\n className={className}\r\n rootClassName={rootClassName}\r\n showSearch={showSearch}\r\n >\r\n {({ direction, filteredItems, onItemSelectAll }) => {\r\n const isLeftEmpty =\r\n direction === \"left\" && filteredItems.length === 0;\r\n const isRightEmpty = direction === \"right\" && targetKeys.length === 0;\r\n const combinedDataSource =\r\n direction === \"right\"\r\n ? removeDuplicates([...filteredItems, ...targetItems], keyExpr)\r\n : filteredItems;\r\n\r\n return (\r\n <div\r\n className=\"customize-wrapper-content\"\r\n style={{ height: \"100%\", overflow: \"auto\" }}\r\n >\r\n {useCustomHeader && <CustomHeader direction={direction} />}\r\n {isLeftEmpty || isRightEmpty ? (\r\n <div\r\n className=\"empty-list-items-container-wrapper\"\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n minHeight: \"300px\",\r\n }}\r\n >\r\n <NoContentComponent\r\n mainText={noContentMainText}\r\n subText={noContentSubText}\r\n />\r\n </div>\r\n ) : (\r\n <DataGrid\r\n dataSource={combinedDataSource}\r\n keyExpr={keyExpr}\r\n showBorders\r\n paging={{ enabled: pagingEnable, pageSize: defaultPageSize }}\r\n selection={{\r\n mode: \"multiple\",\r\n selectAllMode: \"page\",\r\n showCheckBoxesMode: \"always\",\r\n }}\r\n onSelectionChanged={({\r\n selectedRowKeys,\r\n currentDeselectedRowKeys,\r\n }) => {\r\n onItemSelectAll(selectedRowKeys, true);\r\n if (currentDeselectedRowKeys.length > 0) {\r\n onItemSelectAll(currentDeselectedRowKeys, false);\r\n }\r\n }}\r\n columns={columns}\r\n columnFixing={{ enabled: true }}\r\n noDataText={noDataText}\r\n ref={gridRef}\r\n >\r\n <FilterRow visible={true} />\r\n {columns.map((column) =>\r\n typeof column === \"string\" ? (\r\n <DxColumn\r\n key={column}\r\n dataField={column}\r\n caption={column}\r\n headerFilter={{}}\r\n />\r\n ) : (\r\n <DxColumn\r\n key={column.dataIndex}\r\n dataField={column.dataField || column.dataIndex}\r\n caption={column.caption || column.title}\r\n dataType={\r\n column.dataType as\r\n | \"string\"\r\n | \"number\"\r\n | \"boolean\"\r\n | \"object\"\r\n | \"date\"\r\n | \"datetime\"\r\n | undefined\r\n }\r\n calculateSortValue={column.calculateSortValue}\r\n headerFilter={{}}\r\n />\r\n )\r\n )}\r\n {displayPageTitle && !isTextEmpty(pageTitle) && (\r\n <Toolbar>\r\n <DxItem location=\"before\" cssClass=\"toolbarTitleItem\">\r\n <OdsTitle\r\n level={5}\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n alignSelf: \"stretch\",\r\n margin: 0,\r\n }}\r\n >\r\n {pageTitle}\r\n </OdsTitle>\r\n </DxItem>\r\n </Toolbar>\r\n )}\r\n </DataGrid>\r\n )}\r\n </div>\r\n );\r\n }}\r\n </Transfer>\r\n </div>\r\n );\r\n};\r\n\r\nexport default OdsTransferV2;\r\n"],"names":["constants","getRequestHeaders","props","removeDuplicates","items","keyExpr","seen","item","key","initializeTargetItems","OdsTransferV2","dataSource","language","pagingEnable","pageSize","isServerSide","axiosRequest","columns","pageTitle","noDataText","defaultPageSize","initialTargetItems","noContentMainText","noContentSubText","onTargetChange","sourceTitle","targetTitle","displayPageTitle","className","rootClassName","showSearch","render","useCustomHeader","data","setData","useState","targetKeys","setTargetKeys","targetItems","setTargetItems","transferDataSource","setTransferDataSource","selectedKeys","setSelectedKeys","gridRef","useRef","fetchData","useCallback","isGet","apiUrl","query","queryString","requestOptions","response","newData","dataArray","prevData","useEffect","combinedData","uniqueData","handleChange","newTargetKeys","direction","moveKeys","selectedItems","updatedItems","handleSelectChange","sourceSelectedKeys","targetSelectedKeys","CustomHeader","jsx","jsxs","styles","Transfer","filteredItems","onItemSelectAll","isLeftEmpty","isRightEmpty","combinedDataSource","NoContentComponent","DataGrid","selectedRowKeys","currentDeselectedRowKeys","FilterRow","column","DxColumn","isTextEmpty","Toolbar","DxItem","OdsTitle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OdsTransferV2.js","sources":["../../../src/components/devextreme/OdsTransferV2.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef, FC } from \"react\";\r\nimport { Transfer, TransferProps } from \"antd\";\r\nimport DataGrid, {\r\n Column as DxColumn,\r\n FilterRow,\r\n Toolbar,\r\n Item as DxItem,\r\n} from \"devextreme-react/data-grid\";\r\nimport queryString from \"query-string\";\r\nimport NoContentComponent from \"./NoContentComponent\";\r\nimport OdsTitle from \"../antd/typography/OdsTitle\";\r\nimport styles from \"./Transfer.module.scss\";\r\nimport { isTextEmpty } from \"../../utils/commonFunctions\";\r\n\r\ninterface Column {\r\n title?: string;\r\n dataIndex?: string;\r\n key?: string;\r\n caption?: string;\r\n tooltip?: { enable: boolean };\r\n dataField?: string;\r\n dataType?: \"string\" | \"number\" | \"boolean\" | \"object\" | \"date\" | \"datetime\";\r\n calculateSortValue?: string;\r\n}\r\n\r\ninterface AxiosProps {\r\n requestData?: any;\r\n apiUrl: string;\r\n environmentUrl: string;\r\n requestQueryString?: any;\r\n requestType: string;\r\n}\r\n\r\ninterface SummaryRowOptions {\r\n summaryLoadedDataLabel?: string;\r\n summaryTotalDataLabel?: string;\r\n summaryFilteredDataLabel?: string;\r\n summaryTotalCount?: number;\r\n summaryTotalPageCountLabel?: string;\r\n summarySumLabel?: string;\r\n summaryAvgLabel?: string;\r\n summaryMinLabel?: string;\r\n summaryMaxLabel?: string;\r\n summaryCountLabel?: string;\r\n}\r\n\r\ninterface OdsTransferProps<T = any> {\r\n dataSource?: T[];\r\n language: string;\r\n pagingEnable?: boolean;\r\n pageSize?: number;\r\n isServerSide: boolean;\r\n axiosRequest?: AxiosProps;\r\n customSummary?: SummaryRowOptions;\r\n dataGridPageName?: string;\r\n columns: (string | Column)[];\r\n pageTitle?: string;\r\n keyExpr: string;\r\n noDataText: string;\r\n defaultPageSize: number;\r\n targetItems?: T[];\r\n noContentMainText: string;\r\n noContentSubText: string;\r\n onTargetChange?: (selectedItems: T[]) => void;\r\n sourceTitle?: string;\r\n targetTitle?: string;\r\n displayPageTitle?: boolean;\r\n className?: string;\r\n rootClassName?: string;\r\n showSearch?: boolean;\r\n render?: TransferProps<T>[\"render\"];\r\n useCustomHeader?: boolean;\r\n}\r\n\r\ninterface RequestHeadersProps {\r\n language: string;\r\n axiosRequest?: AxiosProps;\r\n}\r\n\r\nconst constants = {\r\n totalPageCount: 1,\r\n loadedPageCount: 1,\r\n totalRecordCount: 0,\r\n};\r\n\r\nconst getRequestHeaders = (props: RequestHeadersProps): Headers => {\r\n return new Headers({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept-Language\": props.language || \"EN\",\r\n });\r\n};\r\n\r\nconst removeDuplicates = <T,>(items: T[], keyExpr: string): T[] => {\r\n const seen = new Set();\r\n return items.filter((item) => {\r\n const key = item[keyExpr];\r\n return !seen.has(key) && seen.add(key);\r\n });\r\n};\r\n\r\nconst initializeTargetItems = <T,>(items: T[], keyExpr: string): T[] => {\r\n return items.map((item) => ({\r\n ...item,\r\n key: item[keyExpr] || item[\"Id\"],\r\n }));\r\n};\r\n\r\nconst OdsTransferV2: FC<OdsTransferProps> = ({\r\n dataSource = [],\r\n language,\r\n pagingEnable = true,\r\n pageSize = 10,\r\n isServerSide,\r\n axiosRequest,\r\n columns,\r\n pageTitle,\r\n keyExpr,\r\n noDataText,\r\n defaultPageSize,\r\n targetItems: initialTargetItems = [],\r\n noContentMainText,\r\n noContentSubText,\r\n onTargetChange,\r\n sourceTitle = \"Available Items\",\r\n targetTitle = \"Selected Items\",\r\n displayPageTitle = false,\r\n className,\r\n rootClassName,\r\n showSearch = false,\r\n render,\r\n useCustomHeader = false,\r\n}) => {\r\n const [data, setData] = useState<any[]>([]);\r\n const [targetKeys, setTargetKeys] = useState<string[]>(\r\n initialTargetItems.map((item) => item[keyExpr])\r\n );\r\n const [targetItems, setTargetItems] = useState<any[]>(\r\n initializeTargetItems(initialTargetItems, keyExpr)\r\n );\r\n const [transferDataSource, setTransferDataSource] = useState<any[]>([]);\r\n const [selectedKeys, setSelectedKeys] = useState<string[]>([]);\r\n const gridRef = useRef<any>(null);\r\n\r\n const fetchData = useCallback(async () => {\r\n if (!axiosRequest || !isServerSide) return;\r\n\r\n const isGet = axiosRequest.requestType.toUpperCase() === \"GET\";\r\n let apiUrl = `${axiosRequest.environmentUrl}${axiosRequest.apiUrl}`;\r\n\r\n if (axiosRequest.requestData?.PaginatedRequest) {\r\n axiosRequest.requestData.PaginatedRequest.PageSize = pageSize;\r\n }\r\n\r\n if (axiosRequest.requestQueryString) {\r\n axiosRequest.requestQueryString.maxResultCount = pageSize;\r\n if (\r\n constants.loadedPageCount > 1 &&\r\n constants.totalPageCount >= constants.loadedPageCount\r\n ) {\r\n axiosRequest.requestQueryString.skipCount = (\r\n (constants.loadedPageCount - 1) *\r\n pageSize\r\n ).toString();\r\n }\r\n if (isGet) {\r\n const query = queryString.stringify(axiosRequest.requestQueryString);\r\n apiUrl = `${apiUrl}?${query}`;\r\n }\r\n }\r\n\r\n const requestOptions: RequestInit = {\r\n method: axiosRequest.requestType,\r\n headers: getRequestHeaders({ language, axiosRequest }),\r\n credentials: \"include\",\r\n body: isGet ? undefined : JSON.stringify(axiosRequest.requestData),\r\n };\r\n\r\n try {\r\n const response = await fetch(apiUrl, requestOptions);\r\n const newData = await response.json();\r\n const dataArray = newData.Data || newData;\r\n\r\n setData((prevData) =>\r\n constants.loadedPageCount === 1\r\n ? dataArray\r\n : [...prevData, ...dataArray]\r\n );\r\n\r\n constants.totalPageCount =\r\n newData.PageCount ||\r\n Math.ceil((newData.rowCount || dataArray.length) / pageSize);\r\n constants.totalRecordCount =\r\n newData.RowCount ||\r\n parseInt(response.headers.get(\"x-total-count\") || dataArray.length, 10);\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n }\r\n }, [axiosRequest, pageSize, language, isServerSide]);\r\n\r\n useEffect(() => {\r\n if (isServerSide && axiosRequest) {\r\n setData([]);\r\n fetchData();\r\n }\r\n }, [\r\n axiosRequest?.requestData,\r\n axiosRequest?.requestQueryString,\r\n axiosRequest?.apiUrl,\r\n axiosRequest?.environmentUrl,\r\n fetchData,\r\n isServerSide,\r\n ]);\r\n\r\n useEffect(() => {\r\n let sourceData = isServerSide ? data : dataSource;\r\n const combinedData = [...sourceData, ...targetItems];\r\n const uniqueData = removeDuplicates(combinedData, keyExpr).map((item) => ({\r\n ...item,\r\n key: item[keyExpr],\r\n }));\r\n setTransferDataSource(uniqueData);\r\n }, [data, dataSource, targetItems, keyExpr, isServerSide]);\r\n\r\n const handleChange = useCallback(\r\n (newTargetKeys: string[], direction: string, moveKeys: string[]) => {\r\n setTargetKeys(newTargetKeys);\r\n const selectedItems = transferDataSource.filter((item) =>\r\n newTargetKeys.includes(item[keyExpr])\r\n );\r\n\r\n const updatedItems = removeDuplicates(\r\n direction === \"left\"\r\n ? targetItems\r\n .filter((item) => !moveKeys.includes(item[keyExpr]))\r\n .concat(selectedItems)\r\n : [...targetItems, ...selectedItems],\r\n keyExpr\r\n );\r\n\r\n setTargetItems(updatedItems);\r\n onTargetChange?.(updatedItems);\r\n },\r\n [transferDataSource, targetItems, keyExpr, onTargetChange]\r\n );\r\n\r\n const handleSelectChange = useCallback(\r\n (sourceSelectedKeys: string[], targetSelectedKeys: string[]) => {\r\n setSelectedKeys([...sourceSelectedKeys, ...targetSelectedKeys]);\r\n },\r\n []\r\n );\r\n\r\n const CustomHeader = ({ direction }: { direction: string }) => (\r\n <div\r\n className=\"transfer-custom-header\"\r\n style={{\r\n padding: \"8px 16px\",\r\n borderBottom: \"1px solid #f0f0f0\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n {direction === \"left\" ? sourceTitle : targetTitle}\r\n </div>\r\n );\r\n\r\n return (\r\n <div className={styles.wrapper}>\r\n {isServerSide && <style>{`.dx-pager { display: none; }`}</style>}\r\n <Transfer\r\n dataSource={transferDataSource}\r\n targetKeys={targetKeys}\r\n selectedKeys={selectedKeys}\r\n onSelectChange={handleSelectChange}\r\n onChange={handleChange}\r\n showSelectAll={false}\r\n titles={[sourceTitle, targetTitle]}\r\n render={render}\r\n className={className}\r\n rootClassName={rootClassName}\r\n showSearch={showSearch}\r\n >\r\n {({ direction, filteredItems, onItemSelectAll }) => {\r\n const isLeftEmpty =\r\n direction === \"left\" && filteredItems.length === 0;\r\n const isRightEmpty = direction === \"right\" && targetKeys.length === 0;\r\n const combinedDataSource =\r\n direction === \"right\"\r\n ? removeDuplicates([...filteredItems, ...targetItems], keyExpr)\r\n : filteredItems;\r\n\r\n return (\r\n <div\r\n className=\"customize-wrapper-content\"\r\n style={{ height: \"100%\", overflow: \"auto\" }}\r\n >\r\n {useCustomHeader && <CustomHeader direction={direction} />}\r\n {isLeftEmpty || isRightEmpty ? (\r\n <div\r\n className=\"empty-list-items-container-wrapper\"\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n minHeight: \"300px\",\r\n }}\r\n >\r\n <NoContentComponent\r\n mainText={noContentMainText}\r\n subText={noContentSubText}\r\n />\r\n </div>\r\n ) : (\r\n <DataGrid\r\n dataSource={combinedDataSource}\r\n keyExpr={keyExpr}\r\n showBorders\r\n paging={{ enabled: pagingEnable, pageSize: defaultPageSize }}\r\n selection={{\r\n mode: \"multiple\",\r\n selectAllMode: \"page\",\r\n showCheckBoxesMode: \"always\",\r\n }}\r\n onSelectionChanged={({\r\n selectedRowKeys,\r\n currentDeselectedRowKeys,\r\n }) => {\r\n onItemSelectAll(selectedRowKeys, true);\r\n if (currentDeselectedRowKeys.length > 0) {\r\n onItemSelectAll(currentDeselectedRowKeys, false);\r\n }\r\n }}\r\n columns={columns}\r\n columnFixing={{ enabled: true }}\r\n noDataText={noDataText}\r\n ref={gridRef}\r\n >\r\n <FilterRow visible={true} />\r\n {columns.map((column) =>\r\n typeof column === \"string\" ? (\r\n <DxColumn\r\n key={column}\r\n dataField={column}\r\n caption={column}\r\n headerFilter={{}}\r\n />\r\n ) : (\r\n <DxColumn\r\n key={column.dataIndex}\r\n dataField={column.dataField || column.dataIndex}\r\n caption={column.caption || column.title}\r\n dataType={\r\n column.dataType as\r\n | \"string\"\r\n | \"number\"\r\n | \"boolean\"\r\n | \"object\"\r\n | \"date\"\r\n | \"datetime\"\r\n | undefined\r\n }\r\n calculateSortValue={column.calculateSortValue}\r\n headerFilter={{}}\r\n />\r\n )\r\n )}\r\n {displayPageTitle && !isTextEmpty(pageTitle) && (\r\n <Toolbar>\r\n <DxItem location=\"before\" cssClass=\"toolbarTitleItem\">\r\n <OdsTitle\r\n level={5}\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n alignSelf: \"stretch\",\r\n margin: 0,\r\n }}\r\n >\r\n {pageTitle}\r\n </OdsTitle>\r\n </DxItem>\r\n </Toolbar>\r\n )}\r\n </DataGrid>\r\n )}\r\n </div>\r\n );\r\n }}\r\n </Transfer>\r\n </div>\r\n );\r\n};\r\n\r\nexport default OdsTransferV2;\r\n"],"names":["constants","getRequestHeaders","props","removeDuplicates","items","keyExpr","seen","item","key","initializeTargetItems","OdsTransferV2","dataSource","language","pagingEnable","pageSize","isServerSide","axiosRequest","columns","pageTitle","noDataText","defaultPageSize","initialTargetItems","noContentMainText","noContentSubText","onTargetChange","sourceTitle","targetTitle","displayPageTitle","className","rootClassName","showSearch","render","useCustomHeader","data","setData","useState","targetKeys","setTargetKeys","targetItems","setTargetItems","transferDataSource","setTransferDataSource","selectedKeys","setSelectedKeys","gridRef","useRef","fetchData","useCallback","isGet","apiUrl","query","queryString","requestOptions","response","newData","dataArray","prevData","useEffect","combinedData","uniqueData","handleChange","newTargetKeys","direction","moveKeys","selectedItems","updatedItems","handleSelectChange","sourceSelectedKeys","targetSelectedKeys","CustomHeader","jsx","jsxs","styles","Transfer","filteredItems","onItemSelectAll","isLeftEmpty","isRightEmpty","combinedDataSource","NoContentComponent","DataGrid","selectedRowKeys","currentDeselectedRowKeys","FilterRow","column","DxColumn","isTextEmpty","Toolbar","DxItem","OdsTitle"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,8 +35,7 @@ import { IPagerProps } from 'devextreme-react/data-grid';
|
|
|
35
35
|
import { IScrollingProps } from 'devextreme-react/data-grid';
|
|
36
36
|
import { ISelectionProps } from 'devextreme-react/data-grid';
|
|
37
37
|
import { ISummaryProps } from 'devextreme-react/data-grid';
|
|
38
|
-
import { JSX } from 'react
|
|
39
|
-
import { JSX as JSX_2 } from 'react';
|
|
38
|
+
import { JSX } from 'react';
|
|
40
39
|
import { LinkProps } from 'antd/es/typography/Link';
|
|
41
40
|
import { ListProps } from 'antd/es/list';
|
|
42
41
|
import { ModalProps } from 'antd/es/modal';
|
|
@@ -70,7 +69,6 @@ import { TreeSelectProps } from 'antd/es/tree-select';
|
|
|
70
69
|
import { UploadProps } from 'antd';
|
|
71
70
|
|
|
72
71
|
declare interface AxiosProps {
|
|
73
|
-
token: string;
|
|
74
72
|
requestData?: any;
|
|
75
73
|
apiUrl: string;
|
|
76
74
|
environmentUrl: string;
|
|
@@ -205,7 +203,7 @@ declare interface FilterProps_2 {
|
|
|
205
203
|
form: FormInstance<any>;
|
|
206
204
|
savedFilter?: default_2.ReactNode;
|
|
207
205
|
filterRow?: {
|
|
208
|
-
element:
|
|
206
|
+
element: JSX.Element;
|
|
209
207
|
colSize?: {
|
|
210
208
|
xs: number;
|
|
211
209
|
sm: number;
|
|
@@ -226,7 +224,7 @@ declare interface FilterProps_2 {
|
|
|
226
224
|
}
|
|
227
225
|
|
|
228
226
|
declare interface IActionButton {
|
|
229
|
-
icon:
|
|
227
|
+
icon: JSX.Element;
|
|
230
228
|
visible: boolean;
|
|
231
229
|
disabled: boolean;
|
|
232
230
|
hint: string;
|
|
@@ -235,7 +233,7 @@ declare interface IActionButton {
|
|
|
235
233
|
|
|
236
234
|
declare interface IActionButtonGroup extends Partial<IButtonGroup_5> {
|
|
237
235
|
elementType?: "button" | "element";
|
|
238
|
-
element?:
|
|
236
|
+
element?: JSX.Element;
|
|
239
237
|
}
|
|
240
238
|
|
|
241
239
|
declare type IActionButtonsTooltipType = "raw" | "styled";
|
|
@@ -243,7 +241,6 @@ declare type IActionButtonsTooltipType = "raw" | "styled";
|
|
|
243
241
|
declare type IActionButtonsTooltipType_2 = "raw" | "styled";
|
|
244
242
|
|
|
245
243
|
declare interface IAxiosProps {
|
|
246
|
-
token: string;
|
|
247
244
|
requestData?: any;
|
|
248
245
|
apiUrl: string;
|
|
249
246
|
environmentUrl: string;
|
|
@@ -252,7 +249,6 @@ declare interface IAxiosProps {
|
|
|
252
249
|
}
|
|
253
250
|
|
|
254
251
|
declare interface IAxiosProps_2 {
|
|
255
|
-
token: string;
|
|
256
252
|
requestData?: any;
|
|
257
253
|
apiUrl: string;
|
|
258
254
|
environmentUrl: string;
|
|
@@ -261,7 +257,6 @@ declare interface IAxiosProps_2 {
|
|
|
261
257
|
}
|
|
262
258
|
|
|
263
259
|
declare interface IAxiosProps_3 {
|
|
264
|
-
token: string;
|
|
265
260
|
requestData?: any;
|
|
266
261
|
apiUrl: string;
|
|
267
262
|
environmentUrl: string;
|
|
@@ -270,7 +265,6 @@ declare interface IAxiosProps_3 {
|
|
|
270
265
|
}
|
|
271
266
|
|
|
272
267
|
declare interface IAxiosProps_4 {
|
|
273
|
-
token: string;
|
|
274
268
|
requestData?: any;
|
|
275
269
|
apiUrl: string;
|
|
276
270
|
environmentUrl: string;
|
|
@@ -279,7 +273,6 @@ declare interface IAxiosProps_4 {
|
|
|
279
273
|
}
|
|
280
274
|
|
|
281
275
|
declare interface IAxiosProps_5 {
|
|
282
|
-
token: string;
|
|
283
276
|
requestData?: any;
|
|
284
277
|
apiUrl: string;
|
|
285
278
|
environmentUrl: string;
|
|
@@ -338,7 +331,7 @@ declare interface IButtonGrouOptions extends Omit<IButtonProps, "name"> {
|
|
|
338
331
|
}
|
|
339
332
|
|
|
340
333
|
declare interface IButtonGroup extends Omit<IButtonProps, 'icon'> {
|
|
341
|
-
icon?:
|
|
334
|
+
icon?: JSX.Element;
|
|
342
335
|
type?: ButtonType;
|
|
343
336
|
label?: string;
|
|
344
337
|
actionPermission?: boolean;
|
|
@@ -346,7 +339,7 @@ declare interface IButtonGroup extends Omit<IButtonProps, 'icon'> {
|
|
|
346
339
|
}
|
|
347
340
|
|
|
348
341
|
declare interface IButtonGroup_2 extends Omit<IButtonProps, "icon"> {
|
|
349
|
-
icon?:
|
|
342
|
+
icon?: JSX.Element;
|
|
350
343
|
type?: ButtonType;
|
|
351
344
|
label?: string;
|
|
352
345
|
isLabelVisible?: boolean;
|
|
@@ -355,7 +348,7 @@ declare interface IButtonGroup_2 extends Omit<IButtonProps, "icon"> {
|
|
|
355
348
|
}
|
|
356
349
|
|
|
357
350
|
declare interface IButtonGroup_3 extends Omit<IButtonProps, "icon"> {
|
|
358
|
-
icon?:
|
|
351
|
+
icon?: JSX.Element;
|
|
359
352
|
type?: ButtonType;
|
|
360
353
|
label?: string;
|
|
361
354
|
actionPermission?: boolean;
|
|
@@ -378,7 +371,7 @@ declare interface IButtonGroup_5 extends IButtonProps {
|
|
|
378
371
|
}
|
|
379
372
|
|
|
380
373
|
declare interface IButtonGroup_6 extends Omit<IButtonProps, "icon"> {
|
|
381
|
-
icon?:
|
|
374
|
+
icon?: JSX.Element;
|
|
382
375
|
type?: ButtonType;
|
|
383
376
|
label?: string;
|
|
384
377
|
actionPermission?: boolean;
|
|
@@ -395,15 +388,15 @@ declare interface IColumnConfig {
|
|
|
395
388
|
caption: string;
|
|
396
389
|
allowSorting?: boolean;
|
|
397
390
|
allowSearch?: boolean;
|
|
398
|
-
cellRender?: (data: any) =>
|
|
399
|
-
calculateCellValue?: (data: any) =>
|
|
391
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
392
|
+
calculateCellValue?: (data: any) => JSX.Element | string;
|
|
400
393
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
401
394
|
format?: string | object;
|
|
402
395
|
allowFiltering?: boolean;
|
|
403
396
|
}
|
|
404
397
|
|
|
405
398
|
declare interface IColumnOptions extends Omit<IColumnProps, "cellRender" | "calculateFilterExpression" | "format"> {
|
|
406
|
-
cellRender?: (data: any) =>
|
|
399
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
407
400
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
408
401
|
format?: string | object;
|
|
409
402
|
allowFiltering?: boolean;
|
|
@@ -413,7 +406,7 @@ declare interface IColumnOptions extends Omit<IColumnProps, "cellRender" | "calc
|
|
|
413
406
|
* Represents the configuration for a column in the data grid.
|
|
414
407
|
*/
|
|
415
408
|
declare interface IColumnOptions_2 extends Omit<IColumnProps, "cellRender" | "calculateFilterExpression" | "format"> {
|
|
416
|
-
cellRender?: (data: any) =>
|
|
409
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
417
410
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
418
411
|
format?: string | object;
|
|
419
412
|
}
|
|
@@ -1031,9 +1024,9 @@ export declare function OdsBadge(props: BadgeProps): JSX.Element;
|
|
|
1031
1024
|
|
|
1032
1025
|
export declare function OdsBadgeRibbon(props: BadgeProps): JSX.Element;
|
|
1033
1026
|
|
|
1034
|
-
export declare const OdsBasicDataGrid: (props: IOdsDataGridProps) => JSX.Element;
|
|
1027
|
+
export declare const OdsBasicDataGrid: (props: IOdsDataGridProps) => default_2.JSX.Element;
|
|
1035
1028
|
|
|
1036
|
-
export declare const OdsBatchEditDataGrid: (props: IBatchEditDataGridProps) => JSX.Element;
|
|
1029
|
+
export declare const OdsBatchEditDataGrid: (props: IBatchEditDataGridProps) => default_2.JSX.Element;
|
|
1037
1030
|
|
|
1038
1031
|
export declare function OdsButton(props: ButtonProps): JSX.Element;
|
|
1039
1032
|
|
|
@@ -1055,13 +1048,13 @@ export declare function OdsCheckbox(props: CheckboxProps): JSX.Element;
|
|
|
1055
1048
|
|
|
1056
1049
|
export declare function OdsCheckboxGroup(props: CheckboxGroupProps): JSX.Element;
|
|
1057
1050
|
|
|
1058
|
-
export declare function OdsCollapse(props: CollapseProps): JSX.Element;
|
|
1051
|
+
export declare function OdsCollapse(props: CollapseProps): default_2.JSX.Element;
|
|
1059
1052
|
|
|
1060
1053
|
export declare namespace OdsCollapse {
|
|
1061
1054
|
var Panel: default_2.ForwardRefExoticComponent<CollapsePanelProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1062
1055
|
}
|
|
1063
1056
|
|
|
1064
|
-
export declare function OdsConfigProvider({ children, prefixCls, theme: customTheme }: OdsConfigProviderProps): JSX.Element;
|
|
1057
|
+
export declare function OdsConfigProvider({ children, prefixCls, theme: customTheme }: OdsConfigProviderProps): default_2.JSX.Element;
|
|
1065
1058
|
|
|
1066
1059
|
declare interface OdsConfigProviderProps {
|
|
1067
1060
|
children: default_2.ReactNode;
|
|
@@ -1085,7 +1078,7 @@ declare type OdsCurrencyInputProps = InputNumberProps & {
|
|
|
1085
1078
|
|
|
1086
1079
|
export declare const OdsDataGrid: default_2.ForwardRefExoticComponent<IOdsDataGridOptions & default_2.RefAttributes<DataGridRef_2<unknown, unknown>>>;
|
|
1087
1080
|
|
|
1088
|
-
export declare function OdsDataGridLegacy(props: any): JSX.Element;
|
|
1081
|
+
export declare function OdsDataGridLegacy(props: any): default_2.JSX.Element;
|
|
1089
1082
|
|
|
1090
1083
|
export declare const OdsDataGridMemoized: default_2.NamedExoticComponent<IOdsDataGridOptions & default_2.RefAttributes<DataGridRef_2<unknown, unknown>>>;
|
|
1091
1084
|
|
|
@@ -1097,23 +1090,23 @@ export declare function OdsDatepicker(props: DatePickerProps): JSX.Element;
|
|
|
1097
1090
|
|
|
1098
1091
|
export declare function OdsDateRangePicker(props: RangePickerProps): JSX.Element;
|
|
1099
1092
|
|
|
1100
|
-
export declare function OdsDisplayGrid(props: any): JSX.Element;
|
|
1093
|
+
export declare function OdsDisplayGrid(props: any): default_2.JSX.Element;
|
|
1101
1094
|
|
|
1102
1095
|
export declare function OdsDivider(props: DividerProps): JSX.Element;
|
|
1103
1096
|
|
|
1104
1097
|
export declare function OdsDropdown(props: IDropDownProps): JSX.Element;
|
|
1105
1098
|
|
|
1106
|
-
export declare function OdsFileUpload(props: FileUploadProps): JSX.Element;
|
|
1099
|
+
export declare function OdsFileUpload(props: FileUploadProps): default_2.JSX.Element;
|
|
1107
1100
|
|
|
1108
|
-
export declare function OdsFileUploadv2(props: FileUploadProps_2): JSX.Element;
|
|
1101
|
+
export declare function OdsFileUploadv2(props: FileUploadProps_2): default_2.JSX.Element;
|
|
1109
1102
|
|
|
1110
|
-
export declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => JSX.Element;
|
|
1103
|
+
export declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => default_2.JSX.Element;
|
|
1111
1104
|
|
|
1112
1105
|
export declare const OdsFilterPlus: (props: PropsWithChildren<FilterProps_2>) => JSX.Element;
|
|
1113
1106
|
|
|
1114
1107
|
export declare const OdsFilterTagView: ({ preparedFilterTextViewJson }: {
|
|
1115
1108
|
preparedFilterTextViewJson: any;
|
|
1116
|
-
}) => JSX.Element;
|
|
1109
|
+
}) => default_2.JSX.Element;
|
|
1117
1110
|
|
|
1118
1111
|
export declare function OdsImage(props: ImageProps): JSX.Element;
|
|
1119
1112
|
|
|
@@ -1164,13 +1157,13 @@ declare interface OdsRangeTimepickerProps extends RangePickerProps {
|
|
|
1164
1157
|
|
|
1165
1158
|
export declare function OdsRate(props: RateProps): JSX.Element;
|
|
1166
1159
|
|
|
1167
|
-
export declare const OdsRemoteDataGrid: (props: IOdsDataGridProps_3) => JSX.Element;
|
|
1160
|
+
export declare const OdsRemoteDataGrid: (props: IOdsDataGridProps_3) => default_2.JSX.Element;
|
|
1168
1161
|
|
|
1169
1162
|
export declare function OdsSearch(props: SearchProps): JSX.Element;
|
|
1170
1163
|
|
|
1171
1164
|
export declare function OdsSelect(props: SelectProps): JSX.Element;
|
|
1172
1165
|
|
|
1173
|
-
export declare const OdsServerSideDatagrid: (props: IVirtualDataGridProps) => JSX.Element;
|
|
1166
|
+
export declare const OdsServerSideDatagrid: (props: IVirtualDataGridProps) => default_2.JSX.Element;
|
|
1174
1167
|
|
|
1175
1168
|
export declare function OdsSpin(props: SpinProps): JSX.Element;
|
|
1176
1169
|
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,7 @@ import { default as We } from "./components/devextreme/OdsBatchEditDataGrid/OdsB
|
|
|
51
51
|
import { default as Ye } from "./components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js";
|
|
52
52
|
import { default as $e } from "./components/devextreme/OdsDataGrid.Legacy.js";
|
|
53
53
|
import { default as aa } from "./components/devextreme/OdsDisplayGrid.js";
|
|
54
|
-
import {
|
|
54
|
+
import { OdsInlineEditDataGrid as ta } from "./components/devextreme/OdsInlineEditDataGrid/OdsInlineEditDataGrid.js";
|
|
55
55
|
import { default as da } from "./components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.js";
|
|
56
56
|
import { default as fa } from "./components/devextreme/OdsRemoteDataGrid.js";
|
|
57
57
|
import { default as pa } from "./components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.js";
|
|
@@ -61,8 +61,8 @@ import { default as na } from "./components/devextreme/OdsTransferV2.js";
|
|
|
61
61
|
import { default as ca } from "./components/filter/OdsFilter.js";
|
|
62
62
|
import { default as ga } from "./components/filter/OdsFilterPlus.js";
|
|
63
63
|
import { default as Ga } from "./components/filter/OdsFilterTagView.js";
|
|
64
|
-
import { useBodyClass as Ba, useBodyClasses as ba, useBodyClasses as ha } from "./components/devextreme/DataGrid/hooks/useBodyClasses.js";
|
|
65
64
|
export * from "devextreme-react/data-grid";
|
|
65
|
+
import { useBodyClass as ba, useBodyClasses as ha, useBodyClasses as Ra } from "./components/devextreme/DataGrid/hooks/useBodyClasses.js";
|
|
66
66
|
export {
|
|
67
67
|
ze as DATA_GRID_CLASSES,
|
|
68
68
|
o as OdsAlert,
|
|
@@ -130,8 +130,8 @@ export {
|
|
|
130
130
|
na as OdsTransferV2,
|
|
131
131
|
Ue as OdsTreeSelect,
|
|
132
132
|
He as defaultAppearanceSettings,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
ba as useBodyClass,
|
|
134
|
+
ha as useBodyClasses,
|
|
135
|
+
Ra as useOdsBodyClasses
|
|
136
136
|
};
|
|
137
137
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-string-index.js","sources":["../../../../node_modules/core-js/internals/advance-string-index.js"],"sourcesContent":["'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n"],"names":["charAt","require$$0","advanceStringIndex","S","index","unicode"],"mappings":";;;;;AACA,MAAIA,IAASC,EAAA,EAAyC;AAItD,SAAAC,IAAiB,SAAUC,GAAGC,GAAOC,GAAS;AAC5C,WAAOD,KAASC,
|
|
1
|
+
{"version":3,"file":"advance-string-index.js","sources":["../../../../node_modules/core-js/internals/advance-string-index.js"],"sourcesContent":["'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length || 1 : 1);\n};\n"],"names":["charAt","require$$0","advanceStringIndex","S","index","unicode"],"mappings":";;;;;AACA,MAAIA,IAASC,EAAA,EAAyC;AAItD,SAAAC,IAAiB,SAAUC,GAAGC,GAAOC,GAAS;AAC5C,WAAOD,KAASC,KAAUL,EAAOG,GAAGC,CAAK,EAAE,UAAU;AAAA,EACvD;;","x_google_ignoreList":[0]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __require as i } from "./environment-user-agent.js";
|
|
2
|
-
var e,
|
|
2
|
+
var e, n;
|
|
3
3
|
function o() {
|
|
4
|
-
if (
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
return e = /
|
|
4
|
+
if (n) return e;
|
|
5
|
+
n = 1;
|
|
6
|
+
var r = i();
|
|
7
|
+
return e = /ipad|iphone|ipod/i.test(r) && /applewebkit/i.test(r), e;
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
10
10
|
o as __require
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-is-ios.js","sources":["../../../../node_modules/core-js/internals/environment-is-ios.js"],"sourcesContent":["'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\
|
|
1
|
+
{"version":3,"file":"environment-is-ios.js","sources":["../../../../node_modules/core-js/internals/environment-is-ios.js"],"sourcesContent":["'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && /applewebkit/i.test(userAgent);\n"],"names":["userAgent","require$$0","environmentIsIos"],"mappings":";;;;;AACA,MAAIA,IAAYC,EAAA;AAEhB,SAAAC,IAAiB,oBAAoB,KAAKF,CAAS,KAAK,eAAe,KAAKA,CAAS;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-bind-native.js","sources":["../../../../node_modules/core-js/internals/function-bind-native.js"],"sourcesContent":["'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test =
|
|
1
|
+
{"version":3,"file":"function-bind-native.js","sources":["../../../../node_modules/core-js/internals/function-bind-native.js"],"sourcesContent":["'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () { /* empty */ }.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n"],"names":["fails","require$$0","functionBindNative","test"],"mappings":";;;;;AACA,MAAIA,IAAQC,EAAA;AAEZ,SAAAC,IAAiB,CAACF,EAAM,WAAY;AAElC,QAAIG,IAAO,WAAY;AAAA,IAAA,EAAgB,KAAI;AAE3C,WAAO,OAAOA,KAAQ,cAAcA,EAAK,eAAe,WAAW;AAAA,EACrE,CAAC;;","x_google_ignoreList":[0]}
|
|
@@ -4,8 +4,8 @@ var t, o;
|
|
|
4
4
|
function R() {
|
|
5
5
|
if (o) return t;
|
|
6
6
|
o = 1;
|
|
7
|
-
var r = m(), i = s(), n = Function.prototype, a = r && Object.getOwnPropertyDescriptor, e = i(n, "name"), u = e &&
|
|
8
|
-
}
|
|
7
|
+
var r = m(), i = s(), n = Function.prototype, a = r && Object.getOwnPropertyDescriptor, e = i(n, "name"), u = e && function() {
|
|
8
|
+
}.name === "something", c = e && (!r || r && a(n, "name").configurable);
|
|
9
9
|
return t = {
|
|
10
10
|
EXISTS: e,
|
|
11
11
|
PROPER: u,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-name.js","sources":["../../../../node_modules/core-js/internals/function-name.js"],"sourcesContent":["'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS &&
|
|
1
|
+
{"version":3,"file":"function-name.js","sources":["../../../../node_modules/core-js/internals/function-name.js"],"sourcesContent":["'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && function something() { /* empty */ }.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n"],"names":["DESCRIPTORS","require$$0","hasOwn","require$$1","FunctionPrototype","getDescriptor","EXISTS","PROPER","CONFIGURABLE","functionName"],"mappings":";;;;;;AACA,MAAIA,IAAcC,EAAA,GACdC,IAASC,EAAA,GAETC,IAAoB,SAAS,WAE7BC,IAAgBL,KAAe,OAAO,0BAEtCM,IAASJ,EAAOE,GAAmB,MAAM,GAEzCG,IAASD,KAAU,WAAqB;AAAA,EAAA,EAAgB,SAAS,aACjEE,IAAeF,MAAW,CAACN,KAAgBA,KAAeK,EAAcD,GAAmB,MAAM,EAAE;AAEvG,SAAAK,IAAiB;AAAA,IACf,QAAQH;AAAA,IACR,QAAQC;AAAA,IACR,cAAcC;AAAA;;","x_google_ignoreList":[0]}
|