UNPKG

react-mapfilter

Version:

A React Component for viewing and filtering GeoJSON

70 lines (57 loc) 2.39 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function () { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState; var _ref = arguments[1]; var type = _ref.type, payload = _ref.payload; var newState = void 0; switch (type) { case 'TOGGLE_FILTER_PANE': newState = state.showFilterPane ? (0, _objectAssign2.default)({}, state, { showFilterPane: false }) : (0, _objectAssign2.default)({}, state, { showFilterPane: true }); break; case 'SWITCH_VIEW': newState = state.activeView === payload ? state : (0, _objectAssign2.default)({}, state, { activeView: payload }); break; case 'OPEN_SETTINGS': newState = state.activeModal === 'settings' && state.settingsTab === payload ? state : (0, _objectAssign2.default)({}, state, { activeModal: 'settings', settingsTab: payload }); break; case 'CLOSE_MODAL': newState = !state.activeModal ? state : (0, _objectAssign2.default)({}, state, { activeModal: null }); break; case 'SHOW_FEATURE_DETAIL': newState = state.activeModal === 'feature' && state.featureId === payload ? state : (0, _objectAssign2.default)({}, state, { activeModal: 'feature', featureId: payload }); break; case 'REDIRECT_VIEW': newState = (0, _objectAssign2.default)({}, state, { activeView: payload, activeModal: null, redirect: true }); break; default: newState = state; break; } if (newState !== state && type !== 'REDIRECT_VIEW' && state.redirect) { newState.redirect = false; } return newState; }; var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // The current UI state of the app var defaultState = { // The current main view of the data activeView: undefined, // The current open modal activeModal: null, // Whether the filter pane is shown or hidden showFilterPane: true, // The current tab of the settings modal (if open) settingsTab: null, // The id of the feature to show in the feature modal (if open) featureId: null, // redirect is true if the ui state was invalid and was redirected to a valid state redirect: false }; //# sourceMappingURL=ui.js.map