UNPKG

@bigfishtv/cockpit

Version:

69 lines (57 loc) 1.81 kB
/** * @module Reducers/imageFilterPresets */ import { IMAGE_FILTER_PRESET_ADDED, IMAGE_FILTER_PRESETS_ADDED, IMAGE_FILTER_PRESET_REMOVED, IMAGE_FILTER_PRESETS_REMOVED } from '../constants/ActionTypes'; var initialState = []; /** * Reducer for managing image editing filter presets * @param {Object} state * @param {Object} action * @param {String} action.type - const action type from constants/ActionTypes * @return {Object} returns state */ export default function () { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; var action = arguments[1]; switch (action.type) { case IMAGE_FILTER_PRESET_ADDED: if (!state.filter(function (preset) { return preset.title == action.preset.title; }).length) { state.push(action.preset); } return state; case IMAGE_FILTER_PRESETS_ADDED: var _loop = function _loop() { if (_isArray) { if (_i >= _iterator.length) return 'break'; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) return 'break'; _ref = _i.value; } var preset = _ref; if (!state.filter(function (_preset) { return _preset.title == preset.title; }).length) { state.push(preset); } }; for (var _iterator = action.presets, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; var _ret = _loop(); if (_ret === 'break') break; } return state; case IMAGE_FILTER_PRESET_REMOVED: return state.filter(function (preset) { return preset.title != action.presetTitle; }); case IMAGE_FILTER_PRESETS_REMOVED: return state.filter(function (preset) { return action.presetTitles.indexOf(preset.title) < 0; }); } return state; }