@shopgate/engage
Version:
Shopgate's ENGAGE library.
8 lines • 2.02 kB
JavaScript
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;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}/**
* @param {Object} initialFilters The filters before they where modified.
* @param {Object} updatedFilters The filters after they where modified.
* @return {Object}
*/export default function buildUpdatedFilters(initialFilters,updatedFilters){// Create a set of active filters by combining state and updatedFilters.
var activeFilters=_extends({},initialFilters,{},updatedFilters);return Object.keys(activeFilters).reduce(function(result,filterId){var filter=activeFilters[filterId];if(filterId==='display_amount'){var _filter$value2=_slicedToArray(filter.value,2),min=_filter$value2[0],max=_filter$value2[1];// Take care that the values for the display amount reflect the state of the price slider.
filter.value=[Math.floor(min/100)*100,Math.ceil(max/100)*100];}if(filter.value.length){// Only add filters with selected values.
return _extends({},result===null?{}:result,_defineProperty({},filterId,filter));}return result;},null);}