'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 _reactRedux = require('react-redux');
var _RuntimeBackend = require('../../panels/RuntimeBackend');
var _RuntimeBackend2 = _interopRequireDefault(_RuntimeBackend);
var _JobSubmission = require('../../../../generic/components/steps/JobSubmission');
var _JobSubmission2 = _interopRequireDefault(_JobSubmission);
var _getNetworkError = require('../../../../../utils/getNetworkError');
var _getNetworkError2 = _interopRequireDefault(_getNetworkError);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// ----------------------------------------------------------------------------
var actionList = [{ name: 'prepareJob', label: 'Start Simulation', icon: '' }];
// ----------------------------------------------------------------------------
function clusterFilter(cluster) {
return 'config' in cluster && 'pyfr' in cluster.config && ('cuda' in cluster.config.pyfr && cluster.config.pyfr.cuda || 'opencl' in cluster.config.pyfr && cluster.config.pyfr.opencl.length > 0 || 'openmp' in cluster.config.pyfr && cluster.config.pyfr.openmp.length > 0);
}
// ----------------------------------------------------------------------------
function getPayload(props, state) {
return {
backend: state.backend,
input: {
folder: {
id: props.simulation.metadata.inputFolder._id
},
meshFile: {
id: props.project.metadata.inputFolder.files.mesh
},
iniFile: {
id: props.simulation.metadata.inputFolder.files.ini
}
},
output: {
folder: {
id: props.simulation.metadata.outputFolder._id
}
}
};
}
// ----------------------------------------------------------------------------
function pyfrStart(props) {
return _react2.default.createElement(_JobSubmission2.default, _extends({
addOn: _RuntimeBackend2.default,
actionList: actionList,
clusterFilter: clusterFilter,
getPayload: getPayload
}, props));
}
// ----------------------------------------------------------------------------
exports.default = (0, _reactRedux.connect)(function (state) {
return {
error: (0, _getNetworkError2.default)(state, ['create_taskflow', 'start_taskflow']),
clusters: state.preferences.clusters.mapById,
volumes: state.preferences.volumes.mapById
};
})(pyfrStart);
|