@scheels-softdev/kendoreact-generics 4.0.14 → 4.0.16
Sign up to get free protection for your applications and to get access to all the features.
- package/GenericDropdown.d.ts +1 -0
- package/GenericDropdown.js +5 -7
- package/package.json +1 -1
package/GenericDropdown.d.ts
CHANGED
package/GenericDropdown.js
CHANGED
@@ -12,7 +12,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
13
13
|
import React, { useMemo } from "react";
|
14
14
|
import { ComboBox } from "@progress/kendo-react-dropdowns";
|
15
|
-
import { filterBy } from "@progress/kendo-data-query";
|
16
15
|
export function GenericDropdown(_a) {
|
17
16
|
var { data, onClear } = _a, props = __rest(_a, ["data", "onClear"]);
|
18
17
|
const selectedItem = useMemo(() => {
|
@@ -25,30 +24,29 @@ export function GenericDropdown(_a) {
|
|
25
24
|
}
|
26
25
|
return null;
|
27
26
|
}, [props, data]);
|
28
|
-
const filteredData = React.useRef(data.slice());
|
29
27
|
const [state, setState] = React.useState({
|
30
28
|
skip: 0,
|
31
29
|
total: data.length,
|
32
30
|
subsetData: data.slice(0, 11),
|
33
31
|
});
|
34
32
|
const onFilterChange = (event) => {
|
35
|
-
filteredData
|
36
|
-
const newData = filteredData.
|
33
|
+
const filteredData = data.filter((x) => x[props.textField].includes(event.filter.value));
|
34
|
+
const newData = filteredData.slice(0, 11);
|
37
35
|
setState({
|
38
36
|
subsetData: newData,
|
39
37
|
skip: 0,
|
40
|
-
total: filteredData.
|
38
|
+
total: filteredData.length,
|
41
39
|
});
|
42
40
|
};
|
43
41
|
const pageChange = (event) => {
|
44
42
|
const skip = event.page.skip;
|
45
43
|
const take = event.page.take;
|
46
|
-
const newSubsetData =
|
44
|
+
const newSubsetData = state.subsetData.slice(skip, skip + take);
|
47
45
|
setState(Object.assign(Object.assign({}, state), { subsetData: newSubsetData, skip: skip }));
|
48
46
|
};
|
49
47
|
return (_jsx(ComboBox, Object.assign({ data: state.subsetData, value: selectedItem, virtual: {
|
50
48
|
total: state.total,
|
51
|
-
pageSize:
|
49
|
+
pageSize: 100,
|
52
50
|
skip: state.skip,
|
53
51
|
}, onPageChange: pageChange, onFilterChange: onFilterChange, dataItemKey: "idField" in props ? props.idField : undefined }, props)));
|
54
52
|
}
|