UNPKG

@flatbiz/antd

Version:
95 lines (91 loc) 2.82 kB
/*! @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