@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.
@@ -3,6 +3,7 @@ interface BaseProps<T> extends ComboBoxProps {
3
3
  data: T[];
4
4
  pageSize?: number;
5
5
  onClear?: () => void;
6
+ textField: Extract<keyof T, string>;
6
7
  }
7
8
  interface SelectedDataProps<T> {
8
9
  selectedData?: T;
@@ -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.current = filterBy(data.slice(), event.filter);
36
- const newData = filteredData.current.slice(0, 11);
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.current.length,
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 = filteredData.current.slice(skip, skip + take);
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: 11,
49
+ pageSize: 100,
52
50
  skip: state.skip,
53
51
  }, onPageChange: pageChange, onFilterChange: onFilterChange, dataItemKey: "idField" in props ? props.idField : undefined }, props)));
54
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scheels-softdev/kendoreact-generics",
3
- "version": "4.0.14",
3
+ "version": "4.0.16",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "jest",