@bigfishtv/cockpit
Version:
43 lines (38 loc) • 1.52 kB
JavaScript
var _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; };
/**
* @module Reducers/preview
*/
import * as ActionTypes from '../constants/ActionTypes';
import moment from 'moment';
var initialState = {
data: null,
enabled: false,
url: null,
deviceWidth: '100%',
date: moment().format()
/**
* Reducer for managing the state of a content (typically a page) preview
* @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 ActionTypes.PREVIEW_ENABLED:
return _extends({}, state, { enabled: true });
case ActionTypes.PREVIEW_DISABLED:
return _extends({}, state, { enabled: false });
case ActionTypes.PREVIEW_DATA_UPDATED:
return _extends({}, state, { data: action.data });
case ActionTypes.PREVIEW_URL_UPDATED:
return _extends({}, state, { url: action.url });
case ActionTypes.PREVIEW_DEVICE_WIDTH_CHANGED:
return _extends({}, state, { deviceWidth: action.deviceWidth });
case ActionTypes.PREVIEW_DATE_UPDATED:
return _extends({}, state, { date: action.date });
}
return state;
}