@panneau/field-resource-item 3.0.158 → 3.0.160

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.
Files changed (3) hide show
  1. package/es/index.js +15 -3
  2. package/lib/index.js +14 -2
  3. package/package.json +12 -12
package/es/index.js CHANGED
@@ -6,7 +6,7 @@ import classNames from 'classnames';
6
6
  import isArray from 'lodash/isArray';
7
7
  import isEmpty from 'lodash/isEmpty';
8
8
  import PropTypes from 'prop-types';
9
- import React, { useMemo, useState, useCallback } from 'react';
9
+ import React, { useMemo, useState, useCallback, useEffect } from 'react';
10
10
  import { useIntl, FormattedMessage } from 'react-intl';
11
11
  import { PropTypes as PropTypes$1 } from '@panneau/core';
12
12
  import { usePanneauResource } from '@panneau/core/contexts';
@@ -168,20 +168,32 @@ var ResourceItemField = function ResourceItemField(_ref) {
168
168
  _useState14 = _slicedToArray(_useState13, 2),
169
169
  inputTextValue = _useState14[0],
170
170
  setInputTextValue = _useState14[1];
171
+ var _useState15 = useState(''),
172
+ _useState16 = _slicedToArray(_useState15, 2),
173
+ queryTextValue = _useState16[0],
174
+ setQueryTextValue = _useState16[1];
171
175
  var onInputChange = useCallback(function (textValue) {
172
176
  setInputTextValue(textValue);
173
177
  setPage(defaultPage);
174
178
  }, [setInputTextValue, setPage, defaultPage]);
179
+ useEffect(function () {
180
+ var id = setTimeout(function () {
181
+ setQueryTextValue(inputTextValue);
182
+ }, 500);
183
+ return function () {
184
+ clearTimeout(id);
185
+ };
186
+ }, [inputTextValue, setQueryTextValue]);
175
187
  var queryResource = useMemo(function () {
176
188
  return {
177
189
  id: resourceId
178
190
  };
179
191
  }, [resourceId]);
180
192
  var finalQuery = useMemo(function () {
181
- return _objectSpread(_objectSpread(_objectSpread({}, query), !isEmpty(inputTextValue) ? _defineProperty({}, searchParamName, inputTextValue) : null), {}, {
193
+ return _objectSpread(_objectSpread(_objectSpread({}, query), !isEmpty(queryTextValue) ? _defineProperty({}, searchParamName, queryTextValue) : null), {}, {
182
194
  paginated: paginated
183
195
  });
184
- }, [inputTextValue, paginated]);
196
+ }, [queryTextValue, paginated]);
185
197
  var resourceItems = useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions);
186
198
  var _ref3 = resourceItems || {},
187
199
  _ref3$allItems = _ref3.allItems,
package/lib/index.js CHANGED
@@ -172,20 +172,32 @@ var ResourceItemField = function ResourceItemField(_ref) {
172
172
  _useState14 = _slicedToArray(_useState13, 2),
173
173
  inputTextValue = _useState14[0],
174
174
  setInputTextValue = _useState14[1];
175
+ var _useState15 = React.useState(''),
176
+ _useState16 = _slicedToArray(_useState15, 2),
177
+ queryTextValue = _useState16[0],
178
+ setQueryTextValue = _useState16[1];
175
179
  var onInputChange = React.useCallback(function (textValue) {
176
180
  setInputTextValue(textValue);
177
181
  setPage(defaultPage);
178
182
  }, [setInputTextValue, setPage, defaultPage]);
183
+ React.useEffect(function () {
184
+ var id = setTimeout(function () {
185
+ setQueryTextValue(inputTextValue);
186
+ }, 500);
187
+ return function () {
188
+ clearTimeout(id);
189
+ };
190
+ }, [inputTextValue, setQueryTextValue]);
179
191
  var queryResource = React.useMemo(function () {
180
192
  return {
181
193
  id: resourceId
182
194
  };
183
195
  }, [resourceId]);
184
196
  var finalQuery = React.useMemo(function () {
185
- return _objectSpread(_objectSpread(_objectSpread({}, query), !isEmpty(inputTextValue) ? _defineProperty({}, searchParamName, inputTextValue) : null), {}, {
197
+ return _objectSpread(_objectSpread(_objectSpread({}, query), !isEmpty(queryTextValue) ? _defineProperty({}, searchParamName, queryTextValue) : null), {}, {
186
198
  paginated: paginated
187
199
  });
188
- }, [inputTextValue, paginated]);
200
+ }, [queryTextValue, paginated]);
189
201
  var resourceItems = data.useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions);
190
202
  var _ref3 = resourceItems || {},
191
203
  _ref3$allItems = _ref3.allItems,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/field-resource-item",
3
- "version": "3.0.158",
3
+ "version": "3.0.160",
4
4
  "description": "An item mapping a resource",
5
5
  "keywords": [
6
6
  "javascript"
@@ -46,16 +46,16 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@babel/runtime": "^7.12.5",
49
- "@panneau/core": "^3.0.158",
50
- "@panneau/data": "^3.0.158",
51
- "@panneau/element-button": "^3.0.158",
52
- "@panneau/element-resource-card": "^3.0.158",
53
- "@panneau/element-select": "^3.0.158",
54
- "@panneau/form-resource": "^3.0.158",
55
- "@panneau/intl": "^3.0.158",
56
- "@panneau/modal-dialog": "^3.0.158",
57
- "@panneau/modal-resource-form": "^3.0.158",
58
- "@panneau/modal-resource-items": "^3.0.158",
49
+ "@panneau/core": "^3.0.160",
50
+ "@panneau/data": "^3.0.160",
51
+ "@panneau/element-button": "^3.0.160",
52
+ "@panneau/element-resource-card": "^3.0.160",
53
+ "@panneau/element-select": "^3.0.160",
54
+ "@panneau/form-resource": "^3.0.160",
55
+ "@panneau/intl": "^3.0.160",
56
+ "@panneau/modal-dialog": "^3.0.160",
57
+ "@panneau/modal-resource-form": "^3.0.160",
58
+ "@panneau/modal-resource-items": "^3.0.160",
59
59
  "classnames": "^2.5.1",
60
60
  "lodash": "^4.17.21",
61
61
  "prop-types": "^15.7.2",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "594a96c3421a482efe45bcce6cbccba89fcf5b95"
67
+ "gitHead": "71a2a64cd2e0ed3cc921b0ec3b0a69449a4a978c"
68
68
  }