getAutocompleteSetters.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
  2. function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
  3. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  4. import { flatten } from '@algolia/autocomplete-shared';
  5. export function getAutocompleteSetters(_ref) {
  6. var store = _ref.store;
  7. var setActiveItemId = function setActiveItemId(value) {
  8. store.dispatch('setActiveItemId', value);
  9. };
  10. var setQuery = function setQuery(value) {
  11. store.dispatch('setQuery', value);
  12. };
  13. var setCollections = function setCollections(rawValue) {
  14. var baseItemId = 0;
  15. var value = rawValue.map(function (collection) {
  16. return _objectSpread(_objectSpread({}, collection), {}, {
  17. // We flatten the stored items to support calling `getAlgoliaResults`
  18. // from the source itself.
  19. items: flatten(collection.items).map(function (item) {
  20. return _objectSpread(_objectSpread({}, item), {}, {
  21. __autocomplete_id: baseItemId++
  22. });
  23. })
  24. });
  25. });
  26. store.dispatch('setCollections', value);
  27. };
  28. var setIsOpen = function setIsOpen(value) {
  29. store.dispatch('setIsOpen', value);
  30. };
  31. var setStatus = function setStatus(value) {
  32. store.dispatch('setStatus', value);
  33. };
  34. var setContext = function setContext(value) {
  35. store.dispatch('setContext', value);
  36. };
  37. return {
  38. setActiveItemId: setActiveItemId,
  39. setQuery: setQuery,
  40. setCollections: setCollections,
  41. setIsOpen: setIsOpen,
  42. setStatus: setStatus,
  43. setContext: setContext
  44. };
  45. }