ods-component-lib 1.23.3 → 1.23.5
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/OdsBasicDataGrid/OdsBasicDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Functions.js.map +1 -1
- package/dist/components/devextreme/OdsRemoteDataGrid.js +39 -39
- package/dist/components/devextreme/OdsRemoteDataGrid.js.map +1 -1
- package/dist/components/devextreme/OdsTransfer.js +35 -32
- package/dist/components/devextreme/OdsTransfer.js.map +1 -1
- package/dist/components/devextreme/OdsTransferV2.js +43 -40
- package/dist/components/devextreme/OdsTransferV2.js.map +1 -1
- package/dist/index.d.ts +30 -31
- package/dist/node_modules/canvg/lib/index.es.js +84 -84
- package/dist/node_modules/canvg/lib/index.es.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 +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 +1 -1
- package/dist/node_modules/core-js/modules/es.string.replace.js +1 -1
- package/dist/node_modules/core-js/modules/es.string.split.js +1 -1
- package/dist/node_modules/core-js/modules/es.string.starts-with.js +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/dompurify/dist/purify.es.js +217 -223
- package/dist/node_modules/dompurify/dist/purify.es.js.map +1 -1
- package/dist/node_modules/exceljs/dist/exceljs.min.js +1 -1
- package/dist/node_modules/fflate/esm/browser.js +295 -335
- package/dist/node_modules/fflate/esm/browser.js.map +1 -1
- package/dist/node_modules/file-saver/dist/FileSaver.min.js +1 -1
- package/dist/node_modules/jspdf/dist/jspdf.es.min.js +1771 -1781
- package/dist/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -1
- package/dist/node_modules/lodash/lodash.js +1154 -1169
- package/dist/node_modules/lodash/lodash.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +6 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/package.json +3 -2
- 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
- package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
|
@@ -11,25 +11,27 @@ const b = {
|
|
|
11
11
|
totalPageCount: 1,
|
|
12
12
|
loadedPageCount: 1,
|
|
13
13
|
totalRecordCount: 0
|
|
14
|
-
}, ft = (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}), w = (d, h) => {
|
|
19
|
-
const f = /* @__PURE__ */ new Set();
|
|
20
|
-
return d.filter((g) => {
|
|
21
|
-
const l = g[h];
|
|
22
|
-
return !f.has(l) && f.add(l);
|
|
14
|
+
}, ft = (l) => {
|
|
15
|
+
const f = new Headers({
|
|
16
|
+
"Content-Type": "application/json",
|
|
17
|
+
"Accept-Language": l.language || "EN"
|
|
23
18
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
return l.axiosRequest?.token && f.set("Authorization", `Bearer ${l.axiosRequest.token}`), f;
|
|
20
|
+
}, w = (l, f) => {
|
|
21
|
+
const u = /* @__PURE__ */ new Set();
|
|
22
|
+
return l.filter((g) => {
|
|
23
|
+
const c = g[f];
|
|
24
|
+
return !u.has(c) && u.add(c);
|
|
25
|
+
});
|
|
26
|
+
}, ut = (l, f) => l.map((u) => ({
|
|
27
|
+
...u,
|
|
28
|
+
key: u[f] || u.Id
|
|
27
29
|
})), wt = ({
|
|
28
|
-
dataSource:
|
|
29
|
-
language:
|
|
30
|
-
pagingEnable:
|
|
30
|
+
dataSource: l = [],
|
|
31
|
+
language: f,
|
|
32
|
+
pagingEnable: u = !0,
|
|
31
33
|
pageSize: g = 10,
|
|
32
|
-
isServerSide:
|
|
34
|
+
isServerSide: c,
|
|
33
35
|
axiosRequest: t,
|
|
34
36
|
columns: I,
|
|
35
37
|
pageTitle: T,
|
|
@@ -54,52 +56,53 @@ const b = {
|
|
|
54
56
|
), [m, q] = p(
|
|
55
57
|
ut(P, o)
|
|
56
58
|
), [y, X] = p([]), [Y, Z] = p([]), k = tt(null), A = D(async () => {
|
|
57
|
-
if (!t || !
|
|
59
|
+
if (!t || !c) return;
|
|
58
60
|
const e = t.requestType.toUpperCase() === "GET";
|
|
59
61
|
let n = `${t.environmentUrl}${t.apiUrl}`;
|
|
60
62
|
if (t.requestData?.PaginatedRequest && (t.requestData.PaginatedRequest.PageSize = g), t.requestQueryString && (t.requestQueryString.maxResultCount = g, e)) {
|
|
61
63
|
const r = ot.stringify(t.requestQueryString);
|
|
62
64
|
n = `${n}?${r}`;
|
|
63
65
|
}
|
|
64
|
-
const
|
|
66
|
+
const h = {
|
|
65
67
|
method: t.requestType,
|
|
66
|
-
headers: ft({ language:
|
|
68
|
+
headers: ft({ language: f, axiosRequest: t }),
|
|
69
|
+
credentials: t.token ? "same-origin" : "include",
|
|
67
70
|
body: e ? void 0 : JSON.stringify(t.requestData)
|
|
68
71
|
};
|
|
69
72
|
try {
|
|
70
|
-
const r = await fetch(n,
|
|
73
|
+
const r = await fetch(n, h), i = await r.json(), d = i.Data || i;
|
|
71
74
|
U(
|
|
72
|
-
(a) => b.loadedPageCount === 1 ?
|
|
73
|
-
), b.totalPageCount =
|
|
75
|
+
(a) => b.loadedPageCount === 1 ? d : [...a, ...d]
|
|
76
|
+
), b.totalPageCount = i.PageCount || Math.ceil((i.rowCount || d.length) / g), b.totalRecordCount = i.RowCount || parseInt(r.headers.get("x-total-count") || d.length, 10);
|
|
74
77
|
} catch {
|
|
75
78
|
}
|
|
76
|
-
}, [t, g,
|
|
79
|
+
}, [t, g, f, c]);
|
|
77
80
|
B(() => {
|
|
78
|
-
|
|
81
|
+
c && t && (U([]), A());
|
|
79
82
|
}, [
|
|
80
83
|
t?.requestData,
|
|
81
84
|
t?.requestQueryString,
|
|
82
85
|
t?.apiUrl,
|
|
83
86
|
t?.environmentUrl,
|
|
84
87
|
A,
|
|
85
|
-
|
|
88
|
+
c
|
|
86
89
|
]), B(() => {
|
|
87
|
-
const n = [...
|
|
90
|
+
const n = [...c ? S : l, ...m], h = w(n, o).map((r) => ({
|
|
88
91
|
...r,
|
|
89
92
|
key: r[o]
|
|
90
93
|
}));
|
|
91
|
-
X(
|
|
92
|
-
}, [S,
|
|
94
|
+
X(h);
|
|
95
|
+
}, [S, l, m, o, c]);
|
|
93
96
|
const E = D(
|
|
94
|
-
(e, n,
|
|
97
|
+
(e, n, h) => {
|
|
95
98
|
W(e);
|
|
96
99
|
const r = y.filter(
|
|
97
|
-
(
|
|
98
|
-
),
|
|
99
|
-
n === "left" ? m.filter((
|
|
100
|
+
(d) => e.includes(d[o])
|
|
101
|
+
), i = w(
|
|
102
|
+
n === "left" ? m.filter((d) => !h.includes(d[o])).concat(r) : [...m, ...r],
|
|
100
103
|
o
|
|
101
104
|
);
|
|
102
|
-
q(
|
|
105
|
+
q(i), F?.(i);
|
|
103
106
|
},
|
|
104
107
|
[y, m, o, F]
|
|
105
108
|
), x = D(
|
|
@@ -120,7 +123,7 @@ const b = {
|
|
|
120
123
|
}
|
|
121
124
|
);
|
|
122
125
|
return /* @__PURE__ */ C("div", { className: it.wrapper, children: [
|
|
123
|
-
|
|
126
|
+
c && /* @__PURE__ */ s("style", { children: ".dx-pager { display: none; }" }),
|
|
124
127
|
/* @__PURE__ */ s(
|
|
125
128
|
et,
|
|
126
129
|
{
|
|
@@ -135,8 +138,8 @@ const b = {
|
|
|
135
138
|
className: V,
|
|
136
139
|
rootClassName: z,
|
|
137
140
|
showSearch: K,
|
|
138
|
-
children: ({ direction: e, filteredItems: n, onItemSelectAll:
|
|
139
|
-
const r = e === "left" && n.length === 0,
|
|
141
|
+
children: ({ direction: e, filteredItems: n, onItemSelectAll: h }) => {
|
|
142
|
+
const r = e === "left" && n.length === 0, i = e === "right" && j.length === 0, d = e === "right" ? w([...n, ...m], o) : n;
|
|
140
143
|
return /* @__PURE__ */ C(
|
|
141
144
|
"div",
|
|
142
145
|
{
|
|
@@ -144,7 +147,7 @@ const b = {
|
|
|
144
147
|
style: { height: "100%", overflow: "auto" },
|
|
145
148
|
children: [
|
|
146
149
|
J && /* @__PURE__ */ s(R, { direction: e }),
|
|
147
|
-
r ||
|
|
150
|
+
r || i ? /* @__PURE__ */ s(
|
|
148
151
|
"div",
|
|
149
152
|
{
|
|
150
153
|
className: "empty-list-items-container-wrapper",
|
|
@@ -167,10 +170,10 @@ const b = {
|
|
|
167
170
|
) : /* @__PURE__ */ C(
|
|
168
171
|
at,
|
|
169
172
|
{
|
|
170
|
-
dataSource:
|
|
173
|
+
dataSource: d,
|
|
171
174
|
keyExpr: o,
|
|
172
175
|
showBorders: !0,
|
|
173
|
-
paging: { enabled:
|
|
176
|
+
paging: { enabled: u, pageSize: Q },
|
|
174
177
|
selection: {
|
|
175
178
|
mode: "multiple",
|
|
176
179
|
selectAllMode: "page",
|
|
@@ -180,7 +183,7 @@ const b = {
|
|
|
180
183
|
selectedRowKeys: a,
|
|
181
184
|
currentDeselectedRowKeys: $
|
|
182
185
|
}) => {
|
|
183
|
-
|
|
186
|
+
h(a, !0), $.length > 0 && h($, !1);
|
|
184
187
|
},
|
|
185
188
|
columns: I,
|
|
186
189
|
columnFixing: { enabled: !0 },
|
|
@@ -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 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 const headers = new Headers({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept-Language\": props.language || \"EN\",\r\n });\r\n if (props.axiosRequest?.token) {\r\n headers.set(\"Authorization\", `Bearer ${props.axiosRequest.token}`);\r\n }\r\n return headers;\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: axiosRequest.token ? \"same-origin\" : \"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","headers","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,7 @@ import { TreeSelectProps } from 'antd/es/tree-select';
|
|
|
70
69
|
import { UploadProps } from 'antd';
|
|
71
70
|
|
|
72
71
|
declare interface AxiosProps {
|
|
73
|
-
token
|
|
72
|
+
token?: string;
|
|
74
73
|
requestData?: any;
|
|
75
74
|
apiUrl: string;
|
|
76
75
|
environmentUrl: string;
|
|
@@ -205,7 +204,7 @@ declare interface FilterProps_2 {
|
|
|
205
204
|
form: FormInstance<any>;
|
|
206
205
|
savedFilter?: default_2.ReactNode;
|
|
207
206
|
filterRow?: {
|
|
208
|
-
element:
|
|
207
|
+
element: JSX.Element;
|
|
209
208
|
colSize?: {
|
|
210
209
|
xs: number;
|
|
211
210
|
sm: number;
|
|
@@ -226,7 +225,7 @@ declare interface FilterProps_2 {
|
|
|
226
225
|
}
|
|
227
226
|
|
|
228
227
|
declare interface IActionButton {
|
|
229
|
-
icon:
|
|
228
|
+
icon: JSX.Element;
|
|
230
229
|
visible: boolean;
|
|
231
230
|
disabled: boolean;
|
|
232
231
|
hint: string;
|
|
@@ -235,7 +234,7 @@ declare interface IActionButton {
|
|
|
235
234
|
|
|
236
235
|
declare interface IActionButtonGroup extends Partial<IButtonGroup_5> {
|
|
237
236
|
elementType?: "button" | "element";
|
|
238
|
-
element?:
|
|
237
|
+
element?: JSX.Element;
|
|
239
238
|
}
|
|
240
239
|
|
|
241
240
|
declare type IActionButtonsTooltipType = "raw" | "styled";
|
|
@@ -243,7 +242,7 @@ declare type IActionButtonsTooltipType = "raw" | "styled";
|
|
|
243
242
|
declare type IActionButtonsTooltipType_2 = "raw" | "styled";
|
|
244
243
|
|
|
245
244
|
declare interface IAxiosProps {
|
|
246
|
-
token
|
|
245
|
+
token?: string;
|
|
247
246
|
requestData?: any;
|
|
248
247
|
apiUrl: string;
|
|
249
248
|
environmentUrl: string;
|
|
@@ -252,7 +251,7 @@ declare interface IAxiosProps {
|
|
|
252
251
|
}
|
|
253
252
|
|
|
254
253
|
declare interface IAxiosProps_2 {
|
|
255
|
-
token
|
|
254
|
+
token?: string;
|
|
256
255
|
requestData?: any;
|
|
257
256
|
apiUrl: string;
|
|
258
257
|
environmentUrl: string;
|
|
@@ -261,7 +260,7 @@ declare interface IAxiosProps_2 {
|
|
|
261
260
|
}
|
|
262
261
|
|
|
263
262
|
declare interface IAxiosProps_3 {
|
|
264
|
-
token
|
|
263
|
+
token?: string;
|
|
265
264
|
requestData?: any;
|
|
266
265
|
apiUrl: string;
|
|
267
266
|
environmentUrl: string;
|
|
@@ -270,7 +269,7 @@ declare interface IAxiosProps_3 {
|
|
|
270
269
|
}
|
|
271
270
|
|
|
272
271
|
declare interface IAxiosProps_4 {
|
|
273
|
-
token
|
|
272
|
+
token?: string;
|
|
274
273
|
requestData?: any;
|
|
275
274
|
apiUrl: string;
|
|
276
275
|
environmentUrl: string;
|
|
@@ -279,7 +278,7 @@ declare interface IAxiosProps_4 {
|
|
|
279
278
|
}
|
|
280
279
|
|
|
281
280
|
declare interface IAxiosProps_5 {
|
|
282
|
-
token
|
|
281
|
+
token?: string;
|
|
283
282
|
requestData?: any;
|
|
284
283
|
apiUrl: string;
|
|
285
284
|
environmentUrl: string;
|
|
@@ -338,7 +337,7 @@ declare interface IButtonGrouOptions extends Omit<IButtonProps, "name"> {
|
|
|
338
337
|
}
|
|
339
338
|
|
|
340
339
|
declare interface IButtonGroup extends Omit<IButtonProps, 'icon'> {
|
|
341
|
-
icon?:
|
|
340
|
+
icon?: JSX.Element;
|
|
342
341
|
type?: ButtonType;
|
|
343
342
|
label?: string;
|
|
344
343
|
actionPermission?: boolean;
|
|
@@ -346,7 +345,7 @@ declare interface IButtonGroup extends Omit<IButtonProps, 'icon'> {
|
|
|
346
345
|
}
|
|
347
346
|
|
|
348
347
|
declare interface IButtonGroup_2 extends Omit<IButtonProps, "icon"> {
|
|
349
|
-
icon?:
|
|
348
|
+
icon?: JSX.Element;
|
|
350
349
|
type?: ButtonType;
|
|
351
350
|
label?: string;
|
|
352
351
|
isLabelVisible?: boolean;
|
|
@@ -355,7 +354,7 @@ declare interface IButtonGroup_2 extends Omit<IButtonProps, "icon"> {
|
|
|
355
354
|
}
|
|
356
355
|
|
|
357
356
|
declare interface IButtonGroup_3 extends Omit<IButtonProps, "icon"> {
|
|
358
|
-
icon?:
|
|
357
|
+
icon?: JSX.Element;
|
|
359
358
|
type?: ButtonType;
|
|
360
359
|
label?: string;
|
|
361
360
|
actionPermission?: boolean;
|
|
@@ -378,7 +377,7 @@ declare interface IButtonGroup_5 extends IButtonProps {
|
|
|
378
377
|
}
|
|
379
378
|
|
|
380
379
|
declare interface IButtonGroup_6 extends Omit<IButtonProps, "icon"> {
|
|
381
|
-
icon?:
|
|
380
|
+
icon?: JSX.Element;
|
|
382
381
|
type?: ButtonType;
|
|
383
382
|
label?: string;
|
|
384
383
|
actionPermission?: boolean;
|
|
@@ -395,15 +394,15 @@ declare interface IColumnConfig {
|
|
|
395
394
|
caption: string;
|
|
396
395
|
allowSorting?: boolean;
|
|
397
396
|
allowSearch?: boolean;
|
|
398
|
-
cellRender?: (data: any) =>
|
|
399
|
-
calculateCellValue?: (data: any) =>
|
|
397
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
398
|
+
calculateCellValue?: (data: any) => JSX.Element | string;
|
|
400
399
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
401
400
|
format?: string | object;
|
|
402
401
|
allowFiltering?: boolean;
|
|
403
402
|
}
|
|
404
403
|
|
|
405
404
|
declare interface IColumnOptions extends Omit<IColumnProps, "cellRender" | "calculateFilterExpression" | "format"> {
|
|
406
|
-
cellRender?: (data: any) =>
|
|
405
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
407
406
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
408
407
|
format?: string | object;
|
|
409
408
|
allowFiltering?: boolean;
|
|
@@ -413,7 +412,7 @@ declare interface IColumnOptions extends Omit<IColumnProps, "cellRender" | "calc
|
|
|
413
412
|
* Represents the configuration for a column in the data grid.
|
|
414
413
|
*/
|
|
415
414
|
declare interface IColumnOptions_2 extends Omit<IColumnProps, "cellRender" | "calculateFilterExpression" | "format"> {
|
|
416
|
-
cellRender?: (data: any) =>
|
|
415
|
+
cellRender?: (data: any) => JSX.Element | string;
|
|
417
416
|
calculateFilterExpression?: (value: any, operation: string, target: string) => any;
|
|
418
417
|
format?: string | object;
|
|
419
418
|
}
|
|
@@ -1031,9 +1030,9 @@ export declare function OdsBadge(props: BadgeProps): JSX.Element;
|
|
|
1031
1030
|
|
|
1032
1031
|
export declare function OdsBadgeRibbon(props: BadgeProps): JSX.Element;
|
|
1033
1032
|
|
|
1034
|
-
export declare const OdsBasicDataGrid: (props: IOdsDataGridProps) => JSX.Element;
|
|
1033
|
+
export declare const OdsBasicDataGrid: (props: IOdsDataGridProps) => default_2.JSX.Element;
|
|
1035
1034
|
|
|
1036
|
-
export declare const OdsBatchEditDataGrid: (props: IBatchEditDataGridProps) => JSX.Element;
|
|
1035
|
+
export declare const OdsBatchEditDataGrid: (props: IBatchEditDataGridProps) => default_2.JSX.Element;
|
|
1037
1036
|
|
|
1038
1037
|
export declare function OdsButton(props: ButtonProps): JSX.Element;
|
|
1039
1038
|
|
|
@@ -1055,13 +1054,13 @@ export declare function OdsCheckbox(props: CheckboxProps): JSX.Element;
|
|
|
1055
1054
|
|
|
1056
1055
|
export declare function OdsCheckboxGroup(props: CheckboxGroupProps): JSX.Element;
|
|
1057
1056
|
|
|
1058
|
-
export declare function OdsCollapse(props: CollapseProps): JSX.Element;
|
|
1057
|
+
export declare function OdsCollapse(props: CollapseProps): default_2.JSX.Element;
|
|
1059
1058
|
|
|
1060
1059
|
export declare namespace OdsCollapse {
|
|
1061
1060
|
var Panel: default_2.ForwardRefExoticComponent<CollapsePanelProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1062
1061
|
}
|
|
1063
1062
|
|
|
1064
|
-
export declare function OdsConfigProvider({ children, prefixCls, theme: customTheme }: OdsConfigProviderProps): JSX.Element;
|
|
1063
|
+
export declare function OdsConfigProvider({ children, prefixCls, theme: customTheme }: OdsConfigProviderProps): default_2.JSX.Element;
|
|
1065
1064
|
|
|
1066
1065
|
declare interface OdsConfigProviderProps {
|
|
1067
1066
|
children: default_2.ReactNode;
|
|
@@ -1085,7 +1084,7 @@ declare type OdsCurrencyInputProps = InputNumberProps & {
|
|
|
1085
1084
|
|
|
1086
1085
|
export declare const OdsDataGrid: default_2.ForwardRefExoticComponent<IOdsDataGridOptions & default_2.RefAttributes<DataGridRef_2<unknown, unknown>>>;
|
|
1087
1086
|
|
|
1088
|
-
export declare function OdsDataGridLegacy(props: any): JSX.Element;
|
|
1087
|
+
export declare function OdsDataGridLegacy(props: any): default_2.JSX.Element;
|
|
1089
1088
|
|
|
1090
1089
|
export declare const OdsDataGridMemoized: default_2.NamedExoticComponent<IOdsDataGridOptions & default_2.RefAttributes<DataGridRef_2<unknown, unknown>>>;
|
|
1091
1090
|
|
|
@@ -1097,23 +1096,23 @@ export declare function OdsDatepicker(props: DatePickerProps): JSX.Element;
|
|
|
1097
1096
|
|
|
1098
1097
|
export declare function OdsDateRangePicker(props: RangePickerProps): JSX.Element;
|
|
1099
1098
|
|
|
1100
|
-
export declare function OdsDisplayGrid(props: any): JSX.Element;
|
|
1099
|
+
export declare function OdsDisplayGrid(props: any): default_2.JSX.Element;
|
|
1101
1100
|
|
|
1102
1101
|
export declare function OdsDivider(props: DividerProps): JSX.Element;
|
|
1103
1102
|
|
|
1104
1103
|
export declare function OdsDropdown(props: IDropDownProps): JSX.Element;
|
|
1105
1104
|
|
|
1106
|
-
export declare function OdsFileUpload(props: FileUploadProps): JSX.Element;
|
|
1105
|
+
export declare function OdsFileUpload(props: FileUploadProps): default_2.JSX.Element;
|
|
1107
1106
|
|
|
1108
|
-
export declare function OdsFileUploadv2(props: FileUploadProps_2): JSX.Element;
|
|
1107
|
+
export declare function OdsFileUploadv2(props: FileUploadProps_2): default_2.JSX.Element;
|
|
1109
1108
|
|
|
1110
|
-
export declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => JSX.Element;
|
|
1109
|
+
export declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => default_2.JSX.Element;
|
|
1111
1110
|
|
|
1112
1111
|
export declare const OdsFilterPlus: (props: PropsWithChildren<FilterProps_2>) => JSX.Element;
|
|
1113
1112
|
|
|
1114
1113
|
export declare const OdsFilterTagView: ({ preparedFilterTextViewJson }: {
|
|
1115
1114
|
preparedFilterTextViewJson: any;
|
|
1116
|
-
}) => JSX.Element;
|
|
1115
|
+
}) => default_2.JSX.Element;
|
|
1117
1116
|
|
|
1118
1117
|
export declare function OdsImage(props: ImageProps): JSX.Element;
|
|
1119
1118
|
|
|
@@ -1164,13 +1163,13 @@ declare interface OdsRangeTimepickerProps extends RangePickerProps {
|
|
|
1164
1163
|
|
|
1165
1164
|
export declare function OdsRate(props: RateProps): JSX.Element;
|
|
1166
1165
|
|
|
1167
|
-
export declare const OdsRemoteDataGrid: (props: IOdsDataGridProps_3) => JSX.Element;
|
|
1166
|
+
export declare const OdsRemoteDataGrid: (props: IOdsDataGridProps_3) => default_2.JSX.Element;
|
|
1168
1167
|
|
|
1169
1168
|
export declare function OdsSearch(props: SearchProps): JSX.Element;
|
|
1170
1169
|
|
|
1171
1170
|
export declare function OdsSelect(props: SelectProps): JSX.Element;
|
|
1172
1171
|
|
|
1173
|
-
export declare const OdsServerSideDatagrid: (props: IVirtualDataGridProps) => JSX.Element;
|
|
1172
|
+
export declare const OdsServerSideDatagrid: (props: IVirtualDataGridProps) => default_2.JSX.Element;
|
|
1174
1173
|
|
|
1175
1174
|
export declare function OdsSpin(props: SpinProps): JSX.Element;
|
|
1176
1175
|
|