kitchen-simulator
Version:
It is a kitchen simulator (self-contained micro-frontend).
63 lines (62 loc) • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
var _constants = require("../constants");
var _export = require("../class/export");
var _export2 = require("../utils/export");
var _convertUnitsLite = require("../utils/convert-units-lite");
function _default(state, action) {
state = state.merge({
sceneHistory: _export2.history.historyPush(state.sceneHistory, state.scene)
});
switch (action.type) {
case _constants.UPDATE_3D_CEIL_HEIGHT_UNIT:
{
var _state = state,
scene = _state.scene;
var selectedLayer = scene.selectedLayer;
var layer = scene.layers.get(selectedLayer);
var newLayer = layer.merge({
unit: action.value
});
state = state.mergeIn(['scene', 'layers', selectedLayer], newLayer);
return state;
}
case _constants.UPDATE_3D_CEIL_HEIGHT:
{
var _state2 = state,
_scene = _state2.scene;
var _selectedLayer = _scene.selectedLayer;
var _layer = _scene.layers.get(_selectedLayer);
var _newLayer = _layer.merge({
ceilHeight: action.value
});
state = state.mergeIn(['scene', 'layers', _selectedLayer], _newLayer);
var items = state.scene.layers.get(state.scene.selectedLayer).items;
var newItems = items.map(function (item) {
if (item.type.includes('Light')) {
var height = item.properties.getIn(['height', '_length']);
var heightUnit = item.properties.getIn(['height', '_unit']);
var newAltitude = action.value - (0, _convertUnitsLite.convert)(height).from(heightUnit).to('in');
item = item.setIn(['properties', 'altitude', '_length'], (0, _convertUnitsLite.convert)(newAltitude).from('in').to(_layer.unit));
}
return item;
});
state = state.mergeIn(['scene', 'layers', _selectedLayer, 'items'], newItems);
return state;
}
case _constants.SELECT_TOOL_3D_VIEW:
state = _export.Project.rollback(state).updatedState;
state = _export.Project.setMode(state, _constants.MODE_3D_VIEW).updatedState;
return state;
case _constants.SELECT_TOOL_3D_FIRST_PERSON:
state = _export.Project.rollback(state).updatedState;
state = _export.Project.setMode(state, _constants.MODE_3D_FIRST_PERSON).updatedState;
return state;
default:
return state;
}
}
module.exports = exports.default;