vue-ant-patterns
Version:
vue-ant-patterns
89 lines (78 loc) • 2.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.filterSlot = exports.replaceFieldSlot = exports.replaceSectionSlot = exports.replaceSlot = exports.setFieldSlot = exports.setSectionSlot = exports.setSlot = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _propsUtil = require('ant-design-vue/lib/_util/props-util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var setSlot = exports.setSlot = function setSlot(list, slot, cb) {
var arr = [];
var obj = { slot: true, slotHandler: slot };
list.map(function (it, idx) {
var panelObj = { panel: it };
var o = cb ? cb(it) : slot(panelObj) ? panelObj : null;
o = (0, _extends3['default'])({}, obj, o);
arr.push(it, o);
});
return arr;
}; /*
* @Author: w.pengfei
* @Date: 2020-07-21 19:44:54
* @LastEditTime: 2020-07-21 19:47:24
* @Description: ''
* @LastEditors: w.pengfei
*/
var setSectionSlot = exports.setSectionSlot = function setSectionSlot(panel, sectionList, slot) {
var list = setSlot(sectionList, slot, function (item) {
var obj = { panel: panel, section: item };
return slot(obj) ? obj : null;
});
return list;
};
var setFieldSlot = exports.setFieldSlot = function setFieldSlot(panel, section, fieldsList, slot) {
var list = setSlot(fieldsList, slot, function (item) {
var obj = { panel: panel, section: section, field: item };
return slot(obj) ? obj : null;
});
return list;
};
var replaceSlot = exports.replaceSlot = function replaceSlot(list, slot, cb) {
var obj = { slot: true, slotHandler: slot };
var arr = list.map(function (it, idx) {
var panelObj = { panel: it };
var custonSlotObj = cb ? cb(it) : slot(panelObj) ? panelObj : null;
if (custonSlotObj) {
return (0, _extends3['default'])({}, custonSlotObj, obj);
}
return it;
});
return arr.filter(function (T) {
return T;
});
};
var replaceSectionSlot = exports.replaceSectionSlot = function replaceSectionSlot(panel, sectionList, slot) {
var list = replaceSlot(sectionList, slot, function (item) {
var obj = { panel: panel, section: item };
return slot(obj) ? obj : null;
});
return list;
};
var replaceFieldSlot = exports.replaceFieldSlot = function replaceFieldSlot(panel, section, fieldsList, slot) {
var list = replaceSlot(fieldsList, slot, function (item) {
var obj = { panel: panel, section: section, field: item };
return slot(obj) ? obj : null;
});
return list;
};
var filterSlot = exports.filterSlot = function filterSlot() {
var slots = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
return slots.map(function (it) {
if ((0, _propsUtil.isValidElement)(it)) {
return it;
}
}).filter(function (t) {
return t;
});
};