corporate-frontend-mithril
Version:
Corporate frontend MithrilJS modules
55 lines (46 loc) • 1.5 kB
JavaScript
const _ = require('lodash');
module.exports = {
groupByServers(data) {
return _.groupBy(data, 'server');
},
groupByBundles(environmentGroups) {
let results = {};
_.each(environmentGroups, (envGroup, key)=> {
results[key] = {};
let bundleGroups = [];
_.each(envGroup, (group)=> {
_.each(group.data, (bundle)=> {
bundleGroups.push(bundle);
});
});
results[key].bundleGroups = Object.entries(_.groupBy(_.sortBy(bundleGroups, 'name'), 'name'));
});
return results;
},
insertServerToBundles(bundleGroups, value, index) {
_.each(bundleGroups, (elements)=> {
elements.splice(index, 0, value);
});
return bundleGroups;
},
findInstanceBundle(bundles, instance) {
return _.find(bundles, (bundle) => {
return Object.is(bundle.instance, instance);
});
},
getBundleStateText(bundle) {
if (bundle.state == 'Active') {
return '';
}
return ' (' + bundle.state + ')';
},
getBundleStateClass(bundle) {
if(Object.is(bundle, undefined) || _.isEmpty(bundle)){
return '';
}
return bundle.state === 'Active' ? '' :
bundle.state === 'Resolved' ?
'.b-box--padding-left-xxs.fas.fa-cloud' :
'.b-box--padding-left-xxs.fas.fa-cloud-rain';
},
};