UNPKG

@flatbiz/antd

Version:
89 lines (85 loc) 2.66 kB
/*! @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