UNPKG

corporate-frontend-mithril

Version:

Corporate frontend MithrilJS modules

55 lines (46 loc) 1.5 kB
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'; }, };