c98130cc08
* ui: Add the most basic workspace root in /ui * We already have a LICENSE file in the repository root * Change directory path in build scripts ui-v2 -> ui * Make yarn install flags configurable from elsewhere * Minimal workspace root makefile * Call the new docker specific target * Update yarn in the docker build image * Reconfigure the netlify target and move to the higher makefile * Move ui-v2 -> ui/packages/consul-ui * Change repo root to refleect new folder structure * Temporarily don't hoist consul-api-double * Fixup CI configuration * Fixup lint errors * Fixup Netlify target
47 lines
1 KiB
JavaScript
47 lines
1 KiB
JavaScript
import { helper } from '@ember/component/helper';
|
|
import { slugify } from 'consul-ui/helpers/slugify';
|
|
export const selectableKeyValues = function(params = [], hash = {}) {
|
|
let selected;
|
|
|
|
const items = params.map(function(item, i) {
|
|
let key, value;
|
|
switch (typeof item) {
|
|
case 'string':
|
|
key = slugify([item]);
|
|
value = item;
|
|
break;
|
|
default:
|
|
if (item.length > 1) {
|
|
key = item[0];
|
|
value = item[1];
|
|
} else {
|
|
key = slugify([item[0]]);
|
|
value = item[0];
|
|
}
|
|
break;
|
|
}
|
|
const kv = {
|
|
key: key,
|
|
value: value,
|
|
};
|
|
switch (typeof hash.selected) {
|
|
case 'string':
|
|
if (hash.selected === item[0]) {
|
|
selected = kv;
|
|
}
|
|
break;
|
|
case 'number':
|
|
if (hash.selected === i) {
|
|
selected = kv;
|
|
}
|
|
break;
|
|
}
|
|
return kv;
|
|
});
|
|
return {
|
|
items: items,
|
|
selected: typeof selected === 'undefined' ? items[0] : selected,
|
|
};
|
|
};
|
|
export default helper(selectableKeyValues);
|