UNPKG

zent

Version:

一套前端设计语言和基于React的实现

104 lines (88 loc) 2.16 kB
import intersection from 'lodash/intersection'; const helper = { getCalculatedWidth(width) { let res; if (typeof width === 'number') { res = `${width}%`; } else if (typeof width === 'string') { res = width; } return res; }, isReactComponent(render) { let isReact = false; if (typeof render === 'function') { if (render.prototype && render.prototype.isReactComponent) { isReact = true; } } return isReact; }, getAlignClass(textAlign) { let alignValue = ''; if (textAlign) { switch (textAlign) { case 'left': alignValue = 'start'; break; case 'right': alignValue = 'end'; break; case 'center': alignValue = 'center'; break; default: alignValue = 'start'; } } return alignValue; }, // return true/false/null needFixBatchComps(isTableInView, isFootInView, isSelectRows, isFixed) { let res = null; if (isTableInView && !isFootInView && isSelectRows) { if (!isFixed) { res = true; } } else if (isFixed) { res = false; } return res; }, /** * 是否选中全部 * @param {array} rowKeys * @param {array} subRowKeys * @return {boolean} isSelectAll */ isSelectAll(rowKeys, subRowKeys) { return intersection(rowKeys, subRowKeys).length === subRowKeys.length; }, /** * 是否选中了部分 * @param {array} rowKeys * @param {array} subRowKeys * @return {boolean} 是否选中了部分 */ isSelectPart(rowKeys, subRowKeys) { return intersection(rowKeys, subRowKeys).length > 0; }, /** * 切换是否监听事件 */ toggleEventListener(currentProps, nextProps) { let toggleEventListener; if ( nextProps.batchComponentsAutoFixed !== currentProps.batchComponentsAutoFixed ) { if (nextProps.batchComponentsAutoFixed) { toggleEventListener = 'addEventListener'; } else { toggleEventListener = 'removeEventListener'; } } return toggleEventListener; } }; export default helper;