vxe-table
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
1 lines • 1.91 kB
JavaScript
;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_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(r,e){if(r){if("string"==typeof r)return _arrayLikeToArray(r,e);var n=Object.prototype.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(r,e):void 0}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(r))return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=r[n];return o}Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertToRows=void 0;var getAllColumns=function e(r,n){var o=[];return r.forEach(function(r){r.parentId=n?n.id:null,r.visible&&(r.children&&r.children.length&&r.children.some(function(r){return r.visible})?(o.push(r),o.push.apply(o,_toConsumableArray(e(r.children,r)))):o.push(r))}),o},convertToRows=function(r){var t=1;r.forEach(function(r){r.level=1,function e(n,r){if(r&&(n.level=r.level+1,t<n.level&&(t=n.level)),n.children&&n.children.length&&n.children.some(function(r){return r.visible})){var o=0;n.children.forEach(function(r){r.visible&&(e(r,n),o+=r.colSpan)}),n.colSpan=o}else n.colSpan=1}(r)});for(var e=[],n=0;n<t;n++)e.push([]);return getAllColumns(r).forEach(function(r){r.children&&r.children.length&&r.children.some(function(r){return r.visible})?r.rowSpan=1:r.rowSpan=t-r.level+1,e[r.level-1].push(r)}),e};exports.convertToRows=convertToRows;