'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getActions = getActions;
exports.getDisabledButtons = getDisabledButtons;
var _Theme = require('HPCCloudStyle/Theme.mcss');
var _Theme2 = _interopRequireDefault(_Theme);
var _get = require('./get');
var _get2 = _interopRequireDefault(_get);
var _Constants = require('./Constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// actionsList is an array of strings,
// disabled is an object for each action either undefined or with a boolean
function getActions(actionsList, disabled) {
return actionsList.map(function (action) {
return Object.assign({}, _Constants.taskflowActions[action], {
disabled: !!disabled[action],
icon: disabled[action] ? _Theme2.default.loadingIcon : null
});
});
}
function getDisabledButtons(network) {
var taskflow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var disabledButtons = {};
var actions = (0, _get2.default)(taskflow, 'actions');
var taskflowId = (0, _get2.default)(taskflow, 'flow._id');
var clusterId = (0, _get2.default)(taskflow, 'flow.meta.cluster._id');
if (!actions) {
return disabledButtons;
}
actions.forEach(function (el) {
switch (el) {
case 'terminate':
disabledButtons.terminate = !!(0, _get2.default)(network, 'pending.terminate_taskflow_' + taskflowId) || !!(0, _get2.default)(network, 'success.terminate_taskflow_' + taskflowId);
break;
case 'terminateInstance':
disabledButtons.terminateInstance = !!(0, _get2.default)(network, 'pending.terminate_cluster_' + clusterId) || !!(0, _get2.default)(network, 'success.terminate_cluster_' + clusterId);
break;
case 'moveOffline':
disabledButtons.moveOffline = !!(0, _get2.default)(network, 'pending.move_offline');
break;
default:
break;
}
});
return disabledButtons;
}
|