@wufengteam/wform
Version:
@wufengteam/wform
97 lines • 3.62 kB
JavaScript
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
export function mergeFieldAttrAndStatus() {
var fieldAttr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var status = arguments.length > 1 ? arguments[1] : undefined;
var platform = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pc';
var finalAttr = _toConsumableArray(Array.isArray(fieldAttr) ? fieldAttr : []);
if (platform === 'h5') {
/**
* 隐藏、不可编辑 4
* 隐藏、可编辑 2
* 不隐藏、可编辑 1
* 不隐藏、不可编辑 3
*/
switch ("".concat(status)) {
case '2':
{
// 隐藏、可编辑 2
if (!fieldAttr.includes('hide')) {
finalAttr.push('hide');
}
break;
}
case '3':
{
// 不隐藏、不可编辑 3
if (!fieldAttr.includes('read')) {
finalAttr.push('read');
}
break;
}
case '4':
{
// 隐藏、不可编辑 4
if (!fieldAttr.includes('hide')) {
finalAttr.push('hide');
}
if (!fieldAttr.includes('read')) {
finalAttr.push('read');
}
break;
}
default:
break;
}
} else {
/**
* { title: '普通', value: 1 },
* { title: '隐藏', value: 2 },
* { title: '禁用', value: 3 },
* { title: '只读', value: 4 },
*/
switch ("".concat(status)) {
case '2':
{
if (!fieldAttr.includes('hide')) {
finalAttr.push('hide');
}
break;
}
case '3':
case '4':
{
if (!fieldAttr.includes('read')) {
finalAttr.push('read');
}
break;
}
default:
break;
}
}
return finalAttr;
}
/**
* 针对处理好的表单字段状态,再封装一层。
* 通过数据管理模块传递过来的 visible 来判断是否展示
* author: hang
*/
export var mergeFieldAttrAndVisible = function mergeFieldAttrAndVisible(_ref) {
var _ref$fieldAttr = _ref.fieldAttr,
fieldAttr = _ref$fieldAttr === void 0 ? [] : _ref$fieldAttr,
_ref$visible = _ref.visible,
visible = _ref$visible === void 0 ? true : _ref$visible;
if (fieldAttr.includes('hide')) {
return fieldAttr;
}
if (!visible) {
fieldAttr.push('hide');
return fieldAttr;
}
return fieldAttr;
};