@flatbiz/antd
Version:
95 lines (91 loc) • 2.82 kB
JavaScript
/*! @flatjs/forge MIT @flatbiz/antd */
import { isArray } from '@dimjs/lang/is-array';
import { cloneState } from '@dimjs/model';
import { getGlobalData, getUuid } 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 removeFormValuesInvalidField = function removeFormValuesInvalidField(params) {
if (!params) return undefined;
var paramsNew = cloneState(params);
Object.keys(paramsNew).forEach(function (key) {
if (key.includes('__#invalid_')) {
delete paramsNew[key];
}
});
return paramsNew;
};
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,
/**
* 移除Form Values中无效字段
* ```
* 1. 在使用 DateRangePickerWrapperFormItem、TimeRangePickerWrapperFormItem 会产生 `__#invalid_xxxx` 无效字段
* ```
*/
removeFormValuesInvalidField: removeFormValuesInvalidField
};
export { fbaUtils as f };
//# sourceMappingURL=fba-utils-Dfbczn1S.js.map