nimble-ui
Version:
29 lines (28 loc) • 849 B
JavaScript
import { toCamel, stringTirm } from 'nimble-lib';
/**
* 挂载nimbleui全局filter
*
* @export
* @param {*} filters 需要挂载的filter
* @param {*} name 需要挂载的filter的名称
* @returns {filter}
*/
export default function initFilter(filters, name) {
if (filters && !filters.install) {
name = stringTirm(name);
filters.install = function (Vue) {
name = toCamel((name || '') + '', '_|-');
if (!/^filter/i.test(name)) {
name = 'filter' + name;
}
name = name.replace(/^(filter)_?(.)/i, ($1, $2, $3) => {
return ($2 + '_' + ($3 || '')).toLowerCase();
});
let _filter = Vue.filter(name);
if (!_filter) {
Vue.filter(name, filters);
}
};
}
return filters;
}