@flatbiz/antd
Version:
89 lines (85 loc) • 2.66 kB
JavaScript
/*! @flatjs/forge MIT @flatbiz/antd */
import { isArray } from '@dimjs/lang/is-array';
import { localStorageCache, getUuid, getGlobalData } from '@flatbiz/utils';
var getPermissionList = function getPermissionList() {
var _getGlobalData = getGlobalData(),
elemAclLimits = _getGlobalData.elemAclLimits;
var permissionList = isArray(elemAclLimits) ? elemAclLimits : [];
return permissionList;
};
var hasPermission = function hasPermission(name) {
if (!name) return true;
var permissionList = getPermissionList();
if (permissionList.includes(name)) {
return true;
}
return false;
};
function attachPropertiesToComponent(component, properties) {
var ret = component;
for (var key in properties) {
if (Object.prototype.hasOwnProperty.call(properties, key)) {
ret[key] = properties[key];
}
}
return ret;
}
var getModelKey = function getModelKey() {
return getUuid();
};
var triggerFormValuesChange = function triggerFormValuesChange(form, changeList) {
var formDispatch = form.getInternalHooks('RC_FORM_INTERNAL_HOOKS').dispatch;
changeList.forEach(function (item) {
formDispatch({
type: 'updateValue',
namePath: item.name,
value: item.value
});
});
};
var setFormFieldsAndTriggerValuesChange = function setFormFieldsAndTriggerValuesChange(form, changeList) {
var paramList = changeList.map(function (item) {
return {
name: item.name,
value: item.value
};
});
form.setFields(paramList);
triggerFormValuesChange(form, paramList);
};
var fbaUtils = {
hasPermission: hasPermission,
getPermissionList: getPermissionList,
attachPropertiesToComponent: attachPropertiesToComponent,
getModelKey: getModelKey,
/**
* 手动触发Antd Form 的 onValuesChange
* ```
* 1. 正常在通过 form.setFieldsValue 不会触发onValuesChange
* 2. 需要触发可调用此方法
* ```
*/
triggerFormValuesChange: triggerFormValuesChange,
/**
* 操作Antd Form
* ```
* 1. 通过 form.setFields 修改属性值
* 2. 触发 Form 的 onValuesChange
* ```
*/
setFormFieldsAndTriggerValuesChange: setFormFieldsAndTriggerValuesChange,
/**
* 获取自定义antd主题
* ```
* 1. 获取自定义antd主题
* ```
*/
getCustomAntdTheme: function getCustomAntdTheme() {
var _window$GLOBAL;
var cacheName = "custom-antd-theme-".concat((_window$GLOBAL = window['GLOBAL']) === null || _window$GLOBAL === void 0 ? void 0 : _window$GLOBAL.appName);
var customAntdTheme = localStorageCache.get(cacheName);
return customAntdTheme;
}
};
export { fbaUtils as f };
//# sourceMappingURL=fba-utils-CusZeveq.js.map