'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
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; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _SimputReact = require('../../../../../generic/components/steps/SimputReact');
var _SimputReact2 = _interopRequireDefault(_SimputReact);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// ----------------------------------------------------------------------------
function simputModelDecorator(model, props) {
// Add external data from project mesh
if (!model.external) {
model.external = {};
}
if (!model.external.geometryName) {
model.external.geometryName = props.project.metadata.mesh.split('.')[0];
}
if (!model.external.groupName && model.external.geometryName) {
model.external.groupName = model.external.geometryName + 'Group';
}
// Push Geometry step data to simput...
if (props.simulation.steps.Geometry.metadata.assign) {
var assign = JSON.parse(props.simulation.steps.Geometry.metadata.assign);
var _loop = function _loop() {
var item = assign.pop();
var container = model.data;
item.path.forEach(function (key, idx, array) {
if (!container[key]) {
if (Number.isInteger(array[idx + 1])) {
container[key] = [];
} else {
container[key] = {};
}
}
container = container[key];
});
container.value = item.value;
};
while (assign.length) {
_loop();
}
}
console.log(JSON.stringify(model, null, 2));
return model;
}
// ----------------------------------------------------------------------------
exports.default = function (props) {
return _react2.default.createElement(_SimputReact2.default, _extends({}, props, {
simputType: 'openfoam-windtunnel',
inputFileKeys: [{ key: '__export__', name: 'input-deck.json', parse: false }],
initialDataModel: {
data: {},
type: 'openfoam-windtunnel',
hideViews: []
},
simputModelDecorator: simputModelDecorator
}));
};
|