You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.1 KiB

export var getOpenKeysFromMenuData = function getOpenKeysFromMenuData(menuData) {
if (!menuData) {
return undefined;
}
return menuData.reduce(function (pre, item) {
if (item.key) {
pre.push(item.key);
}
if (item.children) {
var newArray = pre.concat(getOpenKeysFromMenuData(item.children) || []);
return newArray;
}
return pre;
}, []);
};
var themeConfig = {
daybreak: 'daybreak',
'#1890ff': 'daybreak',
'#F5222D': 'dust',
'#FA541C': 'volcano',
'#FAAD14': 'sunset',
'#13C2C2': 'cyan',
'#52C41A': 'green',
'#2F54EB': 'geekblue',
'#722ED1': 'purple'
};
var invertKeyValues = function invertKeyValues(obj) {
return Object.keys(obj).reduce(function (acc, key) {
acc[obj[key]] = key;
return acc;
}, {});
};
/**
* #1890ff -> daybreak
* @param val
*/
export function genThemeToString(val) {
return val && themeConfig[val] ? themeConfig[val] : val;
}
/**
* daybreak-> #1890ff
* @param val
*/
export function genStringToTheme(val) {
var stringConfig = invertKeyValues(themeConfig);
return val && stringConfig[val] ? stringConfig[val] : val;
}