@vidispine/vdt-react 0.15.0-pre.20 → 0.15.0-pre.21

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/index.js CHANGED
@@ -10,6 +10,7 @@ var vdtApi = require('@vidispine/vdt-api');
10
10
  var vdtJs = require('@vidispine/vdt-js');
11
11
  var lzString = require('lz-string');
12
12
  var useDeepCompareEffect = _interopDefault(require('use-deep-compare-effect'));
13
+ var debounce = _interopDefault(require('lodash.debounce'));
13
14
  var reactCookie = require('react-cookie');
14
15
 
15
16
  function _typeof(obj) {
@@ -3253,6 +3254,57 @@ function useHoverScrub() {
3253
3254
  };
3254
3255
  }
3255
3256
 
3257
+ function useItemSearchAutocomplete(itemSearchDoc, queryParams, debounceTime) {
3258
+ var suggestionSettings = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
3259
+ maximumSuggestions: 10,
3260
+ accuracy: 1
3261
+ };
3262
+ var triggerLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
3263
+
3264
+ var _React$useState = React__default.useState(''),
3265
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3266
+ textValue = _React$useState2[0],
3267
+ setTextValue = _React$useState2[1];
3268
+
3269
+ var handleAutocompleteChange = React__default.useRef(debounce(setTextValue, debounceTime)).current;
3270
+
3271
+ var _useApi = useApi(vdtApi.item.searchItem),
3272
+ _useApi$data = _useApi.data;
3273
+
3274
+ _useApi$data = _useApi$data === void 0 ? {} : _useApi$data;
3275
+ var _useApi$data$autocomp = _useApi$data.autocomplete,
3276
+ autocomplete = _useApi$data$autocomp === void 0 ? [] : _useApi$data$autocomp,
3277
+ request = _useApi.request;
3278
+
3279
+ var _ref = autocomplete[0] || {},
3280
+ _ref$suggestion = _ref.suggestion,
3281
+ suggestion = _ref$suggestion === void 0 ? [] : _ref$suggestion;
3282
+
3283
+ useDeepCompareEffect(function () {
3284
+ if (itemSearchDoc && textValue && textValue.length >= triggerLength) {
3285
+ request({
3286
+ body: _objectSpread2(_objectSpread2({}, itemSearchDoc), {}, {
3287
+ suggestion: suggestionSettings,
3288
+ autocomplete: [{
3289
+ text: textValue
3290
+ }],
3291
+ text: [{
3292
+ value: textValue
3293
+ }]
3294
+ }),
3295
+ queryParams: _objectSpread2({
3296
+ count: false,
3297
+ number: 0
3298
+ }, queryParams)
3299
+ });
3300
+ }
3301
+ }, [request, textValue, queryParams, triggerLength]);
3302
+ return {
3303
+ suggestion: suggestion,
3304
+ handleAutocompleteChange: handleAutocompleteChange
3305
+ };
3306
+ }
3307
+
3256
3308
  function MetadataType(_ref) {
3257
3309
  var itemType = _ref.itemType,
3258
3310
  collectionType = _ref.collectionType,
@@ -4902,6 +4954,7 @@ exports.useGetItem = useGetItem;
4902
4954
  exports.useGroup = useGroup;
4903
4955
  exports.useHoverScrub = useHoverScrub;
4904
4956
  exports.useInterval = useInterval;
4957
+ exports.useItemSearchAutocomplete = useItemSearchAutocomplete;
4905
4958
  exports.useJobSearch = useJobSearch;
4906
4959
  exports.useListGroup = useListGroup;
4907
4960
  exports.useListUser = useListUser;