@clake/react-bootstrap4-window 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/CTable.js.map CHANGED
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.6.1 | by Clake
1
+ /* @clake/react-bootstrap4-window v0.6.2 | by Clake
2
2
  * Copyright (c) 2023 Clake,
3
- * 2023-06-07T17:23:51+0800
3
+ * 2023-06-15T17:08:03+0800
4
4
  */
5
- {"version":3,"sources":["CTable.js"],"names":["CTable","props","a","b","Date","getTime","prototype","keys","Object","length","every","k","equals","e","dom","currentTarget","sort_type","dataset","sort","changeSort","tableHeader","style","transform","scrollLeft","tableTotal","field","data","document","querySelector","domId","deleteRowHandler","parseInt","mainMenu","index","cloneRow","page","onSelectPage","state","slice","push","assign","cacheRow","editRows","setState","dataCount","previousElementSibling","focus","val","row","target","indexOf","headers","onEdit","editCallback","editData","checked","select_all","Common","map","refs","item","key","idx","setChecked","setRowCheck","select","total","filter","start","end","contain","originalData","RandomString","selectRows","headerSplits","sortList","is_sort","onSort","is_filter","onFilter","current_sort","filter_list","noClone","lockColumns","isLock","initTableWidth","bindSplit","nextProps","edit","Clone","allchk","setHalf","nextState","width","reg","matchs","match","unit","React","Children","children","sourceFunc","source","number","showNumbers","res","count","type","value","text","flag","i","checkAllCheckHalf","onCheck","selectOnce","rowIdx","reIdx","ReactDOM","findDOMNode","parentNode","classList","add","splice","remove","onClick","changeHandler","clearSort","child","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","forEach","test","hide","localFilter","is_clean","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","mainDom","left","table_rows","x","column_key","diff","table_head","table_body","table_total","querySelectorAll","setEventDom","base","striped","theme","bordered","hover","sm","fontSm","responsive","noWrap","className","height","absolute","position","top","y","right","bottom","extend","headerTheme","headClass","c","getMainClasses","getStyles","getBodyClasses","renderHeader","renderRows","renderTotal","renderFoot","getClasses","getTableStyles","getHeaderClasses","textAlign","selectAll","sort_icon","menuContextHandler","sortHandler","scrollHandler","renderEditRow","renderRow","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","clickHandler","columnStyle","align","cloneElement","disabled","onDoubleClick","renderEditComponent","onFormat","addNewHandler","editHandler","combo","comboData","calendarFormat","chk","foot","selectPageHandler","showPages","lang","i18","i18n","getLang","langStr","CTableLang","menuClickHandler","execCommand","getSelection","filterHandler","toString","clearFilter","inputStyle","equal","filterChangeHandler","stopEvent","condition","customMenu","explainCustomMenu","Array","click","Component","propTypes","PropTypes","oneOf","string","array","bool","header","center","currentPage","tree","onClickTree","func","onRefresh","refreshText","object","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes, {object} from 'prop-types';\nimport classNames from 'classnames/bind';\nimport {\n Icon,\n Pagination,\n Menu,\n Input,\n Button,\n Common,\n i18n,\n CCheckbox,\n Scroll,\n HScroll\n} from '@clake/react-bootstrap4';\nimport './css/CTable.less';\nimport Drag from \"./Drag\";\nimport CTableInput from \"./CTableInput\";\nimport CTableLang from './i18n/CTable';\nimport PageBar from \"./PageBar\";\nclass CTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n data : this.props.data || [],\n dataCount: this.props.dataCount,\n page : 1,\n select : this.props.select,\n total : this.props.total,\n filter : {\n start : '',\n end : '',\n contain: ''\n }\n };\n\n this.originalData = this.state.data.slice(0);\n\n this.domId = 'table-' + Common.RandomString(16);\n\n this.select_all = false;\n this.selectRows = [];\n\n this.headerSplits = [];\n\n this.sortList = {};\n this.is_sort = typeof this.props.onSort === 'function' || this.props.sort;\n this.is_filter = typeof this.props.onFilter === 'function' || this.props.filter;\n this.current_sort = null;\n\n this.filter_list = [];\n\n this.editRows = [];\n\n this.cacheRow = {};\n //列头数据\n this.headers = {};\n //不需要克隆列\n this.noClone = {};\n\n this.lockColumns = [];\n //lock column flag\n this.isLock = false;\n\n this.initTableWidth();\n }\n\n componentDidMount() {\n this.bindSplit();\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.state.data !== nextProps.data) {\n if (this.props.edit) {\n if (this.equals(this.originalData,nextProps.data)) {\n return\n }\n this.editRows = [];\n this.originalData = Common.Clone(nextProps.data);\n }\n if (this.allchk) {\n this.allchk.setHalf(false);\n this.selectRows = [];\n }\n this.select_all = false;\n this.selectRows = [];\n this.setState({\n data : nextProps.data,\n dataCount: nextProps.dataCount,\n page : nextProps.page,\n });\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.state.filter !== nextState.filter) {\n return true;\n }\n return nextState.data !== this.state.data;\n }\n\n equals = (a, b) => {\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n if (!a || !b || (typeof a !== 'object' && typeof b !== 'object')) return a === b;\n if (a.prototype !== b.prototype) return false;\n let keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(k => this.equals(a[k], b[k]));\n };\n\n initTableWidth() {\n if (this.props.width) {\n this.width = 0;\n let reg = /(\\d+)(px|rem|cm|mm|pt)$/;\n let matchs = this.props.width.match(reg);\n let unit = matchs[2];\n React.Children.map(this.props.children, (item, key) => {\n if (item.props.width) {\n let matchs = item.props.width.match(reg);\n this.width += parseInt(matchs[1]);\n this.headers[item.props.field] = item.props;\n if (item.props.noClone) {\n this.noClone[item.props.field] = \"\";\n }\n }\n });\n if (this.props.select) {\n this.width += 20;\n }\n this.width += unit;\n }\n }\n\n //inner source ********************\n sourceLoad() {\n if (typeof this.props.sourceFunc !== 'function') return;\n\n this.props.sourceFunc({\n source:this.props.source,\n page:this.state.page,\n number:this.props.showNumbers,\n },(res)=>{\n this.setState({\n data : res.data,\n dataCount: res.count,\n page : res.page,\n })\n });\n }\n\n sourceFilter() {\n return this.filter_list.map((item)=>{\n switch (item.type) {\n case \"start\":\n return {\n field:item.field,\n value:`${item.text}%`,\n flag:'like'\n };\n case \"end\":\n return {\n field:item.field,\n value:`%${item.text}`,\n flag:'like'\n };\n case \"clear\":\n this.filter = [];\n break;\n case \"\":\n return {\n field:item.field,\n value:item.text,\n flag:'='\n };\n default:\n return {\n field:item.field,\n value:`%${item.text}%`,\n flag:'like'\n }\n }\n });\n }\n\n sourceOrder() {\n\n }\n\n //innter source end ***************************\n //checkbox handler\n changeHandler(row, i) {\n return (checked,e) => {\n this.setRowCheck(checked,i);\n this.checkAllCheckHalf();\n if (typeof this.props.onCheck === \"function\") {\n this.props.onCheck(e.target.checked, row);\n }\n };\n }\n checkAllCheckHalf() {\n if (this.props.selectOnce) return\n if (this.selectRows.length > 0 && this.selectRows.length !== this.state.data.length) {\n this.allchk.setHalf(true);\n }\n if (this.selectRows.length === 0) {\n this.allchk.setHalf(false);\n this.allchk.setChecked(false);\n } else if (this.selectRows.length === this.state.data.length) {\n this.allchk.setHalf(false);\n this.allchk.setChecked(true);\n }\n }\n setRowCheck(checked,rowIdx) {\n let row = this.refs['row_'+rowIdx];\n if (checked) {\n if (this.props.selectOnce && this.selectRows.length > 0) {\n let reIdx = this.selectRows[0]\n this.refs['row_'+reIdx].setChecked(false)\n this.setRowCheck(false,reIdx)\n }\n if (this.selectRows.indexOf(rowIdx) === -1) {\n this.selectRows.push(rowIdx);\n }\n ReactDOM.findDOMNode(row).parentNode.parentNode.classList.add('ck-table-selected');\n } else {\n if (this.selectRows.indexOf(rowIdx) !== -1) {\n this.selectRows.splice(this.selectRows.indexOf(rowIdx),1);\n }\n ReactDOM.findDOMNode(row).parentNode.parentNode.classList.remove('ck-table-selected');\n }\n }\n\n clickHandler(row, i) {\n return () => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(row, i);\n }\n if (this.props.select) {\n let row = this.refs['row_'+i];\n row.changeHandler(null)\n // this.setRowCheck(!row.getChecked(),i);\n // this.checkAllCheckHalf();\n }\n }\n }\n\n /**\n * sort\n */\n sortHandler = (e) => {\n let dom = e.currentTarget;\n let sort_type = dom.dataset.sort || 'asc';\n this.changeSort(dom, sort_type)\n };\n\n changeSort(dom, sort_type) {\n if (!dom) {\n return\n }\n\n this.clearSort(false);\n this.current_sort = dom.dataset.field;\n dom.dataset.sort = sort_type === 'asc' ? 'desc' : 'asc';\n dom.classList.remove('ck-ctable-sort');\n this.sortList[dom.dataset.field] = sort_type;\n let child = dom.querySelector('i');\n child.classList.remove('fa-sort', 'fa-sort-alpha-up', 'fa-sort-alpha-down');\n child.classList.add('fa-sort-alpha-' + (sort_type === 'asc' ? 'down' : 'up'));\n if (typeof this.props.onSort === 'function') {\n this.props.onSort(dom.dataset.field, sort_type);\n } else {\n // this.localSort(dom.dataset.field,sort_type)\n }\n }\n\n clearSort(emitEvt) {\n if (this.current_sort) {\n let prv = document.querySelector(`#${this.domId}-sort-${this.current_sort}`);\n prv.dataset.sort = 'asc';\n prv.classList.add('ck-ctable-sort');\n let prv_child = prv.querySelector('i');\n prv_child.classList.remove('fa-sort', 'fa-sort-alpha-up', 'fa-sort-alpha-down');\n prv_child.classList.add('fa-sort');\n this.sortList[this.current_sort] = null;\n this.current_sort = null;\n if (emitEvt && typeof this.props.onSort === 'function') {\n this.props.onSort('','clear');\n } else {\n this.setState({data:this.originalData.slice(0)})\n }\n return true;\n }\n return false;\n }\n\n localSort(field, sort_type) {\n let desc = sort_type === 'desc';\n let data = this.state.data.slice(0);\n data.sort((a, b) => {\n if (a[field] > b[field]) return desc ? -1 : 1;\n if (a[field] < b[field]) return desc ? 1 : -1;\n if (a[field] === b[field]) return 0;\n });\n this.setState({data: data});\n }\n\n /**\n * scroll header and total foot\n * @param e\n */\n scrollHandler = (e) => {\n this.tableHeader.style.transform = `translateX(-${e.currentTarget.scrollLeft}px)`;\n // this.tableHeader.scrollLeft = e.currentTarget.scrollLeft;\n if (this.tableTotal) {\n // this.tableTotal.scrollLeft = e.currentTarget.scrollLeft;\n this.tableTotal.style.transform = `translateX(-${e.currentTarget.scrollLeft}px)`;\n }\n };\n /**\n * show menu list\n * @param dataType\n */\n menuContextHandler(dataType) {\n return (e) => {\n e.preventDefault();\n e.stopPropagation();\n let data = {\n field: e.currentTarget.dataset.field || '',\n data : this.state.data[e.currentTarget.dataset.row],\n index: e.currentTarget.dataset.row\n };\n if (dataType === \"text\") {\n this.mainMenu.show({evt: e, type: 'mouse', data: data});\n } else {\n this.numMenu.show({evt: e, type: 'mouse', data: data});\n }\n }\n };\n\n menuClickHandler = (field, data) => {\n switch (field) {\n case \"asc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`), 'asc');\n break;\n case \"desc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`), 'desc');\n break;\n case \"delete_row\":\n this.deleteRowHandler(parseInt(this.mainMenu.data.index));\n break;\n case \"clone_row\":\n this.cloneRow(parseInt(this.mainMenu.data.index));\n break;\n }\n };\n\n /**\n * filter\n * */\n localFilter(text, field, type) {\n let reg;\n switch (type) {\n case \"start\":\n reg = new RegExp(`^${text}`);\n break;\n case \"end\":\n reg = new RegExp(`${text}$`);\n break;\n default:\n reg = new RegExp(`${text}`);\n }\n let data = this.state.data.slice(0);\n let filter = [];\n data.forEach((item)=>{\n if (type === 'exclude') {\n if (!reg.test(item[field])) {\n filter.push(item);\n }\n } else {\n if (reg.test(item[field])) {\n filter.push(item);\n }\n }\n });\n this.setState({data:filter});\n }\n\n filterHandler(text, field, type) {\n this.filter_list.push({\n text:text,\n field:field,\n type:type\n });\n\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: ''\n }\n });\n this.mainMenu.hide();\n this.numMenu.hide();\n if (typeof this.props.onFilter === 'function') {\n this.props.onFilter(text, field, type);\n } else {\n this.localFilter(text,field,type);\n }\n }\n\n clearFilter() {\n this.filter_list = [];\n let is_clean = this.clearSort(true);\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: ''\n }\n });\n if (typeof this.props.onFilter === 'function') {\n this.props.onFilter('', '', 'clear');\n } else {\n if (!is_clean) {\n this.setState({data:this.originalData.slice(0)});\n }\n }\n }\n\n filterChangeHandler(field) {\n return (val) => {\n let filter = this.state.filter;\n filter[field] = val;\n this.setState({\n filter: filter\n })\n }\n };\n\n selectPageHandler = (page) => {\n if (typeof this.props.onSelectPage === 'function') {\n this.props.onSelectPage(page);\n }\n };\n\n /**\n * edit mode\n */\n addNewHandler = (e) => {\n let data = this.state.data.slice(0);\n data.push(Object.assign({}, this.cacheRow));\n this.editRows.push(data.length - 1);\n this.setState({\n data: data,\n dataCount: data.length,\n }, () => {\n document.querySelector(`#${this.domId}-edit`).previousElementSibling.querySelector('input:not([disabled])').focus()\n })\n };\n //编辑事件\n editHandler = (e, val,row) => {\n let index = parseInt(e.target.dataset.row);\n let field = e.target.dataset.field;\n //如果是check组件\n if (row === 'chk') {\n val = val?1:0;\n }\n\n if (this.editRows.indexOf(index) === -1) {\n this.editRows.push(index);\n let data = this.state.data.slice(0);\n data[index][field] = val;\n this.setState({data: data})\n } else {\n this.state.data[index][field] = val;\n }\n if (this.headers[field] && typeof(this.headers[field].onEdit) === 'function') {\n this.headers[field].onEdit(index,val,row,this.editCallback)\n }\n };\n //自定义 onEdit 事件回调函数\n editCallback = (index,editData) => {\n if (this.state.data[index]) {\n let data = this.state.data.slice(0);\n data[index] = Object.assign(data[index],editData);\n this.setState({data: data});\n }\n };\n\n getEditRows() {\n let list = [];\n for (let row of this.editRows) {\n list.push(this.state.data[row]);\n }\n return list;\n }\n\n clearEditRows() {\n this.editRows = [];\n }\n\n deleteRowHandler(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n if (typeof this.props.onDelete === 'function') {\n this.props.onDelete(this.state.data[row_index], row_index,this.deleteRow);\n } else {\n this.deleteRow(row_index)\n }\n }\n\n deleteRow(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n let data = this.state.data.slice(0);\n data.splice(row_index, 1);\n if (this.editRows.indexOf(row_index) !== -1) {\n this.editRows.splice(this.editRows.indexOf(row_index), 1);\n }\n this.editRows.forEach((item, index) => {\n if (item > row_index) {\n this.editRows[index] = item - 1;\n }\n });\n\n this.setState({\n data: data,\n dataCount: data.length,\n });\n }\n\n cloneRow(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n let data = this.state.data.slice(0);\n data.push(Object.assign({}, this.state.data[row_index],this.noClone));\n this.editRows.push(data.length - 1);\n this.setState({\n data: data,\n dataCount: data.length,\n })\n }\n\n //****************************\n\n selectAll = (checked) => {\n this.select_all = checked;\n Common.map(this.refs, (item,key,idx) => {\n item.setChecked(this.select_all);\n this.setRowCheck(this.select_all,idx);\n });\n };\n\n /**\n * 得到所有选中的行\n * @returns {*}\n */\n getSelectRows() {\n return this.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\n * @param key 对应行数据的KEY值\n * @param list 要选中的数据值\n */\n setSelectRows(key, list) {\n this.state.data.forEach((row, i) => {\n if (list.indexOf(row[key]) !== -1) {\n this.refs['row_' + i].setChecked(true);\n this.setRowCheck(true,i);\n } else {\n this.refs['row_' + i].setChecked(false);\n this.setRowCheck(false,i);\n }\n });\n this.checkAllCheckHalf();\n }\n\n /**\n * binding column split\n */\n bindSplit() {\n if (this.props.move) {\n this.headerSplits.forEach((split) => {\n if (!this.drag) {\n this.dragColumnLeft = 0;\n this.dragWidth = 0;\n this.drag = new Drag(this.split, split, {\n start: (dragDom, eventDom) => {\n let xy = Common.GetDomXY(eventDom, this.mainDom);\n this.dragWidth = parseInt(eventDom.parentNode.style.width);\n this.dragColumnLeft = (xy.left - this.table_rows.scrollLeft);\n dragDom.style.left = this.dragColumnLeft + 'px';\n dragDom.classList.remove('d-none');\n return true;\n },\n move : (move, dragDom, eventDom) => {\n if (this.dragWidth + (move.x - this.dragColumnLeft) < 50) {\n move.x = this.dragColumnLeft - this.dragWidth + 50;\n }\n },\n end : (dragDom, eventDom) => {\n dragDom.classList.add('d-none');\n let column_key = eventDom.dataset.key;\n let diff = parseInt(dragDom.style.left) - this.dragColumnLeft;\n this.width = (parseInt(this.width) + diff) + 'px';\n this.table_head.style.width = this.width;\n this.table_body.style.width = this.width;\n if (this.table_total) {\n this.table_total.style.width = this.width;\n }\n document.querySelectorAll(`#${column_key}`).forEach((item) => {\n item.style.width = `${this.dragWidth + diff}px`;\n });\n return true;\n }\n });\n } else {\n this.drag.setEventDom(split);\n }\n });\n }\n }\n\n getClasses() {\n let base = 'table ck-table';\n //striped\n if (this.props.striped && !this.props.edit) {\n base = classNames(base, 'table-striped');\n }\n //theme\n if (this.props.theme) {\n base = classNames(base, 'table-' + this.props.theme);\n }\n //bordered\n if (this.props.bordered) {\n base = classNames(base, 'table-bordered');\n }\n //hover\n if (this.props.hover) {\n base = classNames(base, 'table-hover');\n }\n //sm\n if (this.props.sm) {\n base = classNames(base, 'table-sm');\n }\n if (this.props.fontSm) {\n base = classNames(base, 'table-font-sm');\n }\n //responsive\n if (this.props.responsive) {\n base = classNames(base, 'table-responsive');\n }\n //nowrap\n if (this.props.noWrap) {\n base = classNames(base, 'ck-ctable-nowrap');\n }\n return base;\n }\n\n getMainClasses() {\n let base = 'ck-ctable-main d-flex flex-column';\n if (this.props.bordered) {\n base = classNames(base, 'border');\n }\n return classNames(base, this.props.className);\n }\n\n getStyles() {\n //default style\n let base = {};\n //width\n if (this.props.width) {\n base.width = this.props.width;\n }\n //height\n if (this.props.height) {\n base.height = this.props.height;\n }\n\n if (this.props.absolute) {\n base.position = 'absolute';\n base.top = this.props.y;\n base.left = this.props.x;\n if (typeof this.props.position === 'object') {\n base.top = this.props.position.top || this.props.y;\n base.left = this.props.position.left || this.props.x;\n base.right = this.props.position.right || 'unset';\n base.bottom = this.props.position.bottom || 'unset';\n if (this.props.position.left && this.props.position.right) {\n base.width = 'unset';\n }\n if (this.props.position.top && this.props.position.bottom) {\n base.height = 'unset';\n }\n }\n }\n\n return Common.extend(base, this.props.style)\n }\n\n getHeaderClasses() {\n let base = 'ck-ctable-header';\n if (this.props.headerTheme) {\n base = classNames(base,'thead-' + this.props.headerTheme);\n }\n return classNames(base, this.props.headClass);\n }\n\n getTableStyles(style) {\n let base = {};\n\n if (this.width) {\n base.width = this.width;\n }\n\n if (style) {\n base = Object.assign({},base,style);\n }\n\n return base;\n }\n\n getBodyClasses() {\n let base = 'ck-ctable-body flex-grow-1 d-flex flex-column';\n\n return base;\n }\n\n render() {\n return (\n <div ref={c => this.mainDom = c} className={this.getMainClasses()} style={this.getStyles()}>\n <div className={this.getBodyClasses()}>\n {this.renderHeader()}\n {this.renderRows()}\n {this.renderTotal()}\n {<Scroll selector={`#table-body-com-${this.domId}`}/>}\n {<HScroll selector={`#table-body-com-${this.domId}`}/>}\n </div>\n {this.renderFoot()}\n <div ref={c => this.split = c} className='ck-split d-none'/>\n </div>\n );\n }\n\n renderHeader() {\n return (\n <div ref={c => this.tableHeader = c}>\n <table ref={c => this.table_head = c} id={`table-head-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <thead className={this.getHeaderClasses()}>\n <tr>\n {this.state.select || this.props.edit ?\n <th style={{width:'20px',textAlign:'center'}}>\n {this.props.edit || this.props.selectOnce ? <Icon icon='list'/> :\n <CCheckbox ref={c=>this.allchk=c} onChange={this.selectAll}/>}\n </th> : null}\n {React.Children.map(this.props.children, (item, key) => {\n this.cacheRow[item.props.field] = '';\n if (!item || item.props.hide) {\n return null;\n }\n // let align = item.props.align || this.props.align;\n let style = {\n 'textAlign': 'center'\n };\n if (item.props.width) {\n style.width = item.props.width;\n }\n let sort_icon = '';\n if (this.sortList[item.props.field]) {\n sort_icon = 'sort-alpha-' + (this.sortList[item.props.field] === 'asc' ? 'down' : 'up');\n }\n return (\n <th onContextMenu={this.menuContextHandler} id={this.domId + '-' + key} data-key={'head_' + key} style={style}>\n {this.is_sort ?\n <a className='ck-ctable-sort' href='javascript://' id={`${this.domId}-sort-${item.props.field}`}\n data-field={item.props.field}\n onClick={this.sortHandler}>\n {item.props.text}{'\\u0020'}\n <Icon icon={sort_icon}/></a> : item.props.text}\n {this.props.move ?\n <span ref={c => this.headerSplits.push(c)} data-key={this.domId + '-' + key} className='ck-column-split'/> : null}\n </th>\n );\n })}\n </tr>\n </thead>\n </table>\n </div>\n )\n }\n\n renderRows() {\n return (\n <div ref={c => this.table_rows = c} id={`table-body-com-${this.domId}`} className='flex-grow-1 rows' onScroll={this.scrollHandler}>\n <table ref={c => this.table_body = c} id={`table-body-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n {this.state.data.map((row, i) => {\n if (this.props.edit) {\n return this.renderEditRow(row, i)\n }\n return this.renderRow(row, i);\n })}\n {this.props.edit ? this.renderEditAddRow() : null}\n </tbody>\n </table>\n {this.props.menu ? this.renderMenu() : null}\n {this.props.menu ? this.renderNumberMenu() : null}\n </div>\n )\n }\n\n renderRow(row, i, parentRow) {\n return (\n <React.Fragment>\n <tr className={this.props.onClick ? 'click-row' : null} onClick={this.clickHandler(row, i)}>\n {this.state.select ?\n <th style={{width:'20px',textAlign:'center'}}>\n <CCheckbox ref={'row_' + i} onChange={this.changeHandler(row, i)}/>\n </th> : null}\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n //set style\n let style = {...this.props.columnStyle};\n\n style.textAlign = item.props.align || this.props.align;\n if (item.props.width) {\n style.width = item.props.width;\n }\n let dataType;\n switch (item.props.dataType) {\n case \"number\":\n dataType = \"number\";\n break;\n case \"date\":\n dataType = \"date\";\n break;\n default:\n dataType = \"text\";\n }\n\n if (item.props.children) {\n return (\n <td onContextMenu={this.menuContextHandler(dataType)} id={this.domId + '-' + key} data-row={`${i}`} data-field={item.props.field}\n className={item.props.className} style={{'text-align': align}}\n key={'col_' + key}>{React.cloneElement(item, {\n text : item.props.text,\n row : row,\n value: row[item.props.field]\n })}</td>\n );\n } else {\n if (item.props.type) {\n item.props.disabled=true;\n }\n return <td onContextMenu={this.menuContextHandler(dataType)} id={this.domId + '-' + key}\n data-field={item.props.field}\n style={style}\n onClick={(e) => {\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(row);\n }\n }}\n onDoubleClick={(e) => {\n if (typeof item.props.onDoubleClick === 'function') {\n item.props.onDoubleClick(row);\n }\n }}\n data-row={`${i}`}>{item.props.type ? this.renderEditComponent(item.props,row,i):(item.props.onFormat ? item.props.onFormat(row[item.props.field], row, item.props.field) : row[item.props.field])}</td>;\n }\n })}\n </tr>\n </React.Fragment>\n );\n }\n\n renderEditRow(row, i) {\n return (\n <React.Fragment>\n <tr className={this.props.onClick ? 'click-row' : null} onClick={this.clickHandler(row, i)}>\n <th style={{width:'20px',textAlign:'center'}}>\n {this.editRows.indexOf(i) === -1 ? null :\n <Icon id={`${this.domId}-edit-row-icon-${i}`} icon='edit' className='text-danger'/>}\n </th>\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n //set style\n let style = {...this.props.columnStyle};\n\n style.textAlign = item.props.align || this.props.align;\n if (item.props.width) {\n style.width = item.props.width;\n }\n let dataType = 'text';\n return (\n <td onContextMenu={this.menuContextHandler(dataType)}\n className={item.props.disabled ? 'disabled' : ''} id={this.domId + '-' + key}\n data-field={item.props.field}\n style={style}\n onClick={(e) => {\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(row);\n }\n }}\n onDoubleClick={(e) => {\n if (typeof item.props.onDoubleClick === 'function') {\n item.props.onDoubleClick(row);\n }\n }}\n data-row={`${i}`}>\n {item.props.disabled?\n (item.props.onFormat ? item.props.onFormat(row[item.props.field], row, item.props.field) : row[item.props.field]):\n this.renderEditComponent(item.props, row, i)}\n </td>\n );\n })}\n </tr>\n </React.Fragment>\n );\n }\n\n renderEditAddRow() {\n return (\n <tr id={this.domId + '-edit'}>\n <th style={{width:'20px',textAlign:'center'}}><Icon icon='chevron-circle-right'/></th>\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n let style = {\n width: item.props.width\n };\n return (\n <td style={style}>\n <CTableInput onFocus={this.addNewHandler}/>\n </td>\n );\n })}\n </tr>\n )\n }\n\n renderEditComponent(item, row, i) {\n switch (item.type) {\n case \"combo\":\n return (\n <CTableInput onChange={this.editHandler} data-row={i}\n data-field={item.field} data={row[item.field]}\n align={item.align} disabled={item.disabled}\n combo={item.combo} comboData={item.comboData}/>\n );\n case \"calendar\":\n return (\n <CTableInput onChange={this.editHandler} data-row={i}\n data-field={item.field} data={row[item.field]}\n align={item.align} disabled={item.disabled}\n calendarFormat={item.calendarFormat} calendar/>\n );\n case \"checkbox\":\n return (\n <CCheckbox width='20px' onChange={(chk,e)=>{this.editHandler(e,chk,'chk')}} data-row={i}\n data-field={item.field} checked={!!row[item.field]} disabled={item.disabled}/>\n )\n default:\n return (\n <CTableInput onChange={this.editHandler} data-row={i} data-field={item.field} data={row[item.field]} align={item.align} disabled={item.disabled}/>\n )\n }\n }\n\n renderFoot() {\n if (!this.props.foot) {\n return null;\n }\n return (\n <div>\n <PageBar page={this.state.page} dataCount={this.state.dataCount}\n onSelect={this.selectPageHandler}\n showNumbers={this.props.showNumbers}\n showPages={this.props.showPages} noPage={this.props.edit}/>\n </div>\n )\n }\n\n renderTotal() {\n if (!this.state.total) {\n return null;\n }\n let total = this.state.total;\n return (\n <div ref={c => this.tableTotal = c}>\n <table ref={c => this.table_total = c} id={`table-total-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n <tr>\n {this.state.select ?\n <td width='20px'><Icon icon='chart-line'/></td> : null}\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n let align = item.props.align || this.props.align;\n let style = {\n 'textAlign': align\n };\n if (item.props.width) {\n style.width = item.props.width;\n }\n return (\n <td id={this.domId + '-' + key} data-field={item.props.field} style={style}>\n {item.props.onFormat ? item.props.onFormat(total[item.props.field], total, item.props.field) : total[item.props.field]}\n </td>\n );\n })}\n </tr>\n </tbody>\n </table>\n </div>\n )\n }\n\n renderMenu() {\n let lang = this.props.lang;\n if (!lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n }\n return <>\n <Menu ref={c => this.mainMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='mr-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter By Selection']}</Menu.Item>:null}\n {this.is_filter?<Menu.Item field='select_exclude' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter Excluding Selection']}</Menu.Item>:null}\n {this.is_filter||this.is_sort?<Menu.Item field='clear_filter' onClick={() => {\n this.clearFilter();\n }}><span className='text-danger'><Icon className='mr-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field=\"equal\">\n <span className='mr-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.equal}\n onChange={this.filterChangeHandler('equal')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.equal, this.mainMenu.data.field, 'equal');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.equal, this.mainMenu.data.field, 'equal');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['Start With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.start}\n onChange={this.filterChangeHandler('start')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.start, this.mainMenu.data.field, 'start');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.start, this.mainMenu.data.field, 'start');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['End With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.end}\n onChange={this.filterChangeHandler('end')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.end, this.mainMenu.data.field, 'end');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.end, this.mainMenu.data.field, 'end');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['Contain with']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.contain}\n onChange={this.filterChangeHandler('contain')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.contain, this.mainMenu.data.field, 'contain');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.contain, this.mainMenu.data.field, 'contain');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter? <Menu.Item step/> : null}\n {this.is_filter?<Menu.Item field=\"filter\" className='flex-column'>\n <div className='w-100'>{lang['Condition Filter']}</div>\n <Input size='xs' width='100%'\n data={this.state.filter.condition}\n onChange={this.filterChangeHandler('condition')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.condition, this.mainMenu.data.field, 'condition');\n }}\n />\n </Menu.Item>:null}\n {this.props.edit ? <Menu.Item step/> : null}\n {this.props.edit ? <Menu.Item field=\"delete_row\">{lang['Delete Row']}</Menu.Item> : null}\n {this.props.edit ? <Menu.Item field=\"clone_row\">{lang['Clone Row']}</Menu.Item> : null}\n {this.props.customMenu?<Menu.Item step/>:null}\n {this.props.customMenu?this.props.customMenu.map((menu)=>{\n return this.explainCustomMenu(menu)\n }):null}\n </Menu>\n </>\n }\n\n renderNumberMenu() {\n let lang = this.props.lang;\n if (!lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n }\n return <>\n <Menu ref={c => this.numMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='mr-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter By Selection']}</Menu.Item>:null}\n {this.is_filter?<Menu.Item field='select_exclude' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter Excluding Selection']}</Menu.Item>:null}\n {this.is_filter||this.is_sort?<Menu.Item field='clear_filter' onClick={() => {\n this.clearFilter();\n }}><span className='text-danger'><Icon className='mr-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field=\"filter\" className='flex-column'>\n <div className='w-100'>{lang['Condition Filter']}</div>\n <Input size='xs' width='100%'\n data={this.state.filter.condition}\n onChange={this.filterChangeHandler('condition')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.condition, this.numMenu.data.field, 'condition');\n }}\n />\n <div>and,or,between,&gt;,&gt;=,&lt;,&lt;=,=</div>\n </Menu.Item>:null}\n </Menu>\n </>\n }\n\n explainCustomMenu(menu) {\n if (menu.children && menu.children instanceof Array) {\n return <Menu.Item field={menu.field} text={menu.text} child>{menu.children.map((item)=>{\n return this.explainCustomMenu(item)\n })}</Menu.Item>\n } else {\n return <Menu.Item field={menu.field} onClick={menu.click}>{menu.text}</Menu.Item>\n }\n }\n}\n\nconst inputStyle = {width: '80px'};\nconst stopEvent = function (e) {\n e.stopPropagation();\n};\n\nCTable.propTypes = {\n //主题\n theme : PropTypes.oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark']),\n //标头主题\n headerTheme : PropTypes.oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark']),\n //标头css class\n headClass : PropTypes.string,\n //数据来源\n data : PropTypes.array,\n //数据总记录数\n dataCount : PropTypes.number,\n //总页数\n page : PropTypes.number,\n //第一列是否出现选择项\n select : PropTypes.bool,\n //是否只能选中一项\n selectOnce : PropTypes.bool,\n //是否显示标头\n header : PropTypes.bool,\n //\n center : PropTypes.bool,\n //数据当前页\n currentPage : PropTypes.number,\n //\n striped : PropTypes.bool,\n //是否显示边框\n bordered : PropTypes.bool,\n //行是否有hover效果\n hover : PropTypes.bool,\n //是否小型化显示列表\n sm : PropTypes.bool,\n //文字最小化\n fontSm : PropTypes.bool,\n responsive : PropTypes.bool,\n //文字列表 left,center,right\n align : PropTypes.string,\n //是否显示树结构\n tree : PropTypes.string,\n //点击树事件\n onClickTree : PropTypes.func,\n //点击事件\n onClick : PropTypes.func,\n //选择事件\n onCheck : PropTypes.func,\n //过滤事件\n onFilter : PropTypes.func,\n //排序事件\n onSort : PropTypes.func,\n //是否列可移动\n move : PropTypes.bool,\n //刷新事件\n onRefresh : PropTypes.func,\n //刷新事件按钮文字\n refreshText : PropTypes.string,\n //是否漂浮\n absolute : PropTypes.bool,\n //漂浮X坐标\n x : PropTypes.string,\n //漂浮Y坐标\n y : PropTypes.string,\n //表宽\n width : PropTypes.string,\n //表高\n height : PropTypes.string,\n // foot : PropTypes.bool,\n //是否显示列表尾\n foot : PropTypes.object,\n //表自动随主体小设置\n position : PropTypes.object,\n //显示的页码数\n showPages : PropTypes.number,\n //显示的记录条数\n showNumbers : PropTypes.number,\n //翻页事件\n onSelectPage: PropTypes.func,\n //是否自动换行\n noWrap : PropTypes.bool,\n //是否启用右键菜单\n menu : PropTypes.bool,\n //是否显示每列记录总合数\n total : PropTypes.object,\n //是否编辑模式\n edit : PropTypes.bool,\n //数据删除事件\n onDelete : PropTypes.func,\n //是否启用排序\n sort : PropTypes.bool,\n //是否启用过滤\n filter : PropTypes.bool,\n //自定义右键菜单\n customMenu : PropTypes.array,\n //自定义显示语言\n lang : PropTypes.object,\n source : PropTypes.string,\n sourceFunc : PropTypes.func,\n};\n\nCTable.defaultProps = {\n data : [],\n dataCount : 1,\n select : true,\n header : true,\n foot : true,\n currentPage: 1,\n hover : true,\n striped : true,\n align : 'left',\n sm : true,\n fontSm : true,\n headerTheme: 'light',\n noWrap : true,\n bordered : true,\n move : true,\n menu : true,\n showNumbers: 30,\n showPages : 10,\n source : null\n};\n\nexport default CTable;"],"file":"CTable.js"}
5
+ {"version":3,"sources":["CTable.js"],"names":["CTable","props","a","b","Date","getTime","prototype","keys","Object","length","every","k","equals","e","dom","currentTarget","sort_type","dataset","sort","changeSort","tableHeader","style","transform","scrollLeft","tableTotal","field","data","document","querySelector","domId","deleteRowHandler","parseInt","mainMenu","index","cloneRow","page","onSelectPage","state","slice","push","assign","cacheRow","editRows","setState","dataCount","previousElementSibling","focus","val","row","target","indexOf","headers","onEdit","editCallback","editData","checked","select_all","Common","map","refs","item","key","idx","setChecked","setRowCheck","select","total","filter","start","end","contain","originalData","RandomString","selectRows","headerSplits","sortList","is_sort","onSort","is_filter","onFilter","current_sort","filter_list","noClone","lockColumns","isLock","initTableWidth","bindSplit","nextProps","edit","Clone","allchk","setHalf","nextState","width","reg","matchs","match","unit","React","Children","children","sourceFunc","source","number","showNumbers","res","count","type","value","text","flag","i","checkAllCheckHalf","onCheck","selectOnce","rowIdx","reIdx","ReactDOM","findDOMNode","parentNode","classList","add","splice","remove","onClick","changeHandler","clearSort","child","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","forEach","test","hide","localFilter","is_clean","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","mainDom","left","table_rows","x","column_key","diff","table_head","table_body","table_total","querySelectorAll","setEventDom","name","base","striped","theme","bordered","hover","sm","fontSm","responsive","noWrap","className","height","absolute","position","top","y","right","bottom","extend","headerTheme","headClass","parseFloat","totalData","toFixed","c","getMainClasses","getStyles","getBodyClasses","renderHeader","renderRows","renderTotal","renderFoot","getClasses","getTableStyles","getHeaderClasses","textAlign","selectAll","sort_icon","menuContextHandler","sortHandler","scrollHandler","renderEditRow","renderRow","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","clickHandler","columnStyle","align","cloneElement","disabled","onDoubleClick","renderEditComponent","onFormat","addNewHandler","editHandler","combo","comboData","calendarFormat","chk","hasOwnProperty","calcLocalTotal","foot","selectPageHandler","showPages","lang","i18","i18n","getLang","langStr","CTableLang","menuClickHandler","execCommand","getSelection","filterHandler","toString","clearFilter","inputStyle","equal","filterChangeHandler","stopEvent","condition","customMenu","explainCustomMenu","Array","click","Component","propTypes","PropTypes","oneOf","string","array","bool","header","center","currentPage","tree","onClickTree","func","onRefresh","refreshText","object","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes, {object} from 'prop-types';\nimport classNames from 'classnames/bind';\nimport {\n Icon,\n Pagination,\n Menu,\n Input,\n Button,\n Common,\n i18n,\n CCheckbox,\n Scroll,\n HScroll\n} from '@clake/react-bootstrap4';\nimport './css/CTable.less';\nimport Drag from \"./Drag\";\nimport CTableInput from \"./CTableInput\";\nimport CTableLang from './i18n/CTable';\nimport PageBar from \"./PageBar\";\nclass CTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n data : this.props.data || [],\n dataCount: this.props.dataCount,\n page : 1,\n select : this.props.select,\n total : this.props.total,\n filter : {\n start : '',\n end : '',\n contain: ''\n }\n };\n\n this.originalData = this.state.data.slice(0);\n\n this.domId = 'table-' + Common.RandomString(16);\n\n this.select_all = false;\n this.selectRows = [];\n\n this.headerSplits = [];\n\n this.sortList = {};\n this.is_sort = typeof this.props.onSort === 'function' || this.props.sort;\n this.is_filter = typeof this.props.onFilter === 'function' || this.props.filter;\n this.current_sort = null;\n\n this.filter_list = [];\n\n this.editRows = [];\n\n this.cacheRow = {};\n //列头数据\n this.headers = {};\n //不需要克隆列\n this.noClone = {};\n\n this.lockColumns = [];\n //lock column flag\n this.isLock = false;\n\n this.initTableWidth();\n }\n\n componentDidMount() {\n this.bindSplit();\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.state.data !== nextProps.data) {\n if (this.props.edit) {\n if (this.equals(this.originalData,nextProps.data)) {\n return\n }\n this.editRows = [];\n this.originalData = Common.Clone(nextProps.data);\n }\n if (this.allchk) {\n this.allchk.setHalf(false);\n this.selectRows = [];\n }\n this.select_all = false;\n this.selectRows = [];\n this.setState({\n data : nextProps.data,\n dataCount: nextProps.dataCount,\n page : nextProps.page,\n total : nextProps.total\n });\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.state.filter !== nextState.filter) {\n return true;\n }\n if (nextState.total !== this.state.total) {\n return true\n }\n return nextState.data !== this.state.data;\n }\n\n equals = (a, b) => {\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n if (!a || !b || (typeof a !== 'object' && typeof b !== 'object')) return a === b;\n if (a.prototype !== b.prototype) return false;\n let keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(k => this.equals(a[k], b[k]));\n };\n\n initTableWidth() {\n if (this.props.width) {\n this.width = 0;\n let reg = /(\\d+)(px|rem|cm|mm|pt)$/;\n let matchs = this.props.width.match(reg);\n let unit = matchs[2];\n React.Children.map(this.props.children, (item, key) => {\n if (item.props.width) {\n let matchs = item.props.width.match(reg);\n this.width += parseInt(matchs[1]);\n this.headers[item.props.field] = item.props;\n if (item.props.noClone) {\n this.noClone[item.props.field] = \"\";\n }\n }\n });\n if (this.props.select) {\n this.width += 20;\n }\n this.width += unit;\n }\n }\n\n //inner source ********************\n sourceLoad() {\n if (typeof this.props.sourceFunc !== 'function') return;\n\n this.props.sourceFunc({\n source:this.props.source,\n page:this.state.page,\n number:this.props.showNumbers,\n },(res)=>{\n this.setState({\n data : res.data,\n dataCount: res.count,\n page : res.page,\n })\n });\n }\n\n sourceFilter() {\n return this.filter_list.map((item)=>{\n switch (item.type) {\n case \"start\":\n return {\n field:item.field,\n value:`${item.text}%`,\n flag:'like'\n };\n case \"end\":\n return {\n field:item.field,\n value:`%${item.text}`,\n flag:'like'\n };\n case \"clear\":\n this.filter = [];\n break;\n case \"\":\n return {\n field:item.field,\n value:item.text,\n flag:'='\n };\n default:\n return {\n field:item.field,\n value:`%${item.text}%`,\n flag:'like'\n }\n }\n });\n }\n\n sourceOrder() {\n\n }\n\n //innter source end ***************************\n //checkbox handler\n changeHandler(row, i) {\n return (checked,e) => {\n this.setRowCheck(checked,i);\n this.checkAllCheckHalf();\n if (typeof this.props.onCheck === \"function\") {\n this.props.onCheck(e.target.checked, row);\n }\n };\n }\n checkAllCheckHalf() {\n if (this.props.selectOnce) return\n if (this.selectRows.length > 0 && this.selectRows.length !== this.state.data.length) {\n this.allchk.setHalf(true);\n }\n if (this.selectRows.length === 0) {\n this.allchk.setHalf(false);\n this.allchk.setChecked(false);\n } else if (this.selectRows.length === this.state.data.length) {\n this.allchk.setHalf(false);\n this.allchk.setChecked(true);\n }\n }\n setRowCheck(checked,rowIdx) {\n let row = this.refs['row_'+rowIdx];\n if (checked) {\n if (this.props.selectOnce && this.selectRows.length > 0) {\n let reIdx = this.selectRows[0]\n this.refs['row_'+reIdx].setChecked(false)\n this.setRowCheck(false,reIdx)\n }\n if (this.selectRows.indexOf(rowIdx) === -1) {\n this.selectRows.push(rowIdx);\n }\n ReactDOM.findDOMNode(row).parentNode.parentNode.classList.add('ck-table-selected');\n } else {\n if (this.selectRows.indexOf(rowIdx) !== -1) {\n this.selectRows.splice(this.selectRows.indexOf(rowIdx),1);\n }\n ReactDOM.findDOMNode(row).parentNode.parentNode.classList.remove('ck-table-selected');\n }\n }\n\n clickHandler(row, i) {\n return () => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(row, i);\n }\n if (this.props.select) {\n let row = this.refs['row_'+i];\n row.changeHandler(null)\n // this.setRowCheck(!row.getChecked(),i);\n // this.checkAllCheckHalf();\n }\n }\n }\n\n /**\n * sort\n */\n sortHandler = (e) => {\n let dom = e.currentTarget;\n let sort_type = dom.dataset.sort || 'asc';\n this.changeSort(dom, sort_type)\n };\n\n changeSort(dom, sort_type) {\n if (!dom) {\n return\n }\n\n this.clearSort(false);\n this.current_sort = dom.dataset.field;\n dom.dataset.sort = sort_type === 'asc' ? 'desc' : 'asc';\n dom.classList.remove('ck-ctable-sort');\n this.sortList[dom.dataset.field] = sort_type;\n let child = dom.querySelector('i');\n child.classList.remove('fa-sort', 'fa-sort-alpha-up', 'fa-sort-alpha-down');\n child.classList.add('fa-sort-alpha-' + (sort_type === 'asc' ? 'down' : 'up'));\n if (typeof this.props.onSort === 'function') {\n this.props.onSort(dom.dataset.field, sort_type);\n } else {\n // this.localSort(dom.dataset.field,sort_type)\n }\n }\n\n clearSort(emitEvt) {\n if (this.current_sort) {\n let prv = document.querySelector(`#${this.domId}-sort-${this.current_sort}`);\n prv.dataset.sort = 'asc';\n prv.classList.add('ck-ctable-sort');\n let prv_child = prv.querySelector('i');\n prv_child.classList.remove('fa-sort', 'fa-sort-alpha-up', 'fa-sort-alpha-down');\n prv_child.classList.add('fa-sort');\n this.sortList[this.current_sort] = null;\n this.current_sort = null;\n if (emitEvt && typeof this.props.onSort === 'function') {\n this.props.onSort('','clear');\n } else {\n this.setState({data:this.originalData.slice(0)})\n }\n return true;\n }\n return false;\n }\n\n localSort(field, sort_type) {\n let desc = sort_type === 'desc';\n let data = this.state.data.slice(0);\n data.sort((a, b) => {\n if (a[field] > b[field]) return desc ? -1 : 1;\n if (a[field] < b[field]) return desc ? 1 : -1;\n if (a[field] === b[field]) return 0;\n });\n this.setState({data: data});\n }\n\n /**\n * scroll header and total foot\n * @param e\n */\n scrollHandler = (e) => {\n this.tableHeader.style.transform = `translateX(-${e.currentTarget.scrollLeft}px)`;\n // this.tableHeader.scrollLeft = e.currentTarget.scrollLeft;\n if (this.tableTotal) {\n // this.tableTotal.scrollLeft = e.currentTarget.scrollLeft;\n this.tableTotal.style.transform = `translateX(-${e.currentTarget.scrollLeft}px)`;\n }\n };\n /**\n * show menu list\n * @param dataType\n */\n menuContextHandler(dataType) {\n return (e) => {\n e.preventDefault();\n e.stopPropagation();\n let data = {\n field: e.currentTarget.dataset.field || '',\n data : this.state.data[e.currentTarget.dataset.row],\n index: e.currentTarget.dataset.row\n };\n if (dataType === \"text\") {\n this.mainMenu.show({evt: e, type: 'mouse', data: data});\n } else {\n this.numMenu.show({evt: e, type: 'mouse', data: data});\n }\n }\n };\n\n menuClickHandler = (field, data) => {\n switch (field) {\n case \"asc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`), 'asc');\n break;\n case \"desc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`), 'desc');\n break;\n case \"delete_row\":\n this.deleteRowHandler(parseInt(this.mainMenu.data.index));\n break;\n case \"clone_row\":\n this.cloneRow(parseInt(this.mainMenu.data.index));\n break;\n }\n };\n\n /**\n * filter\n * */\n localFilter(text, field, type) {\n let reg;\n switch (type) {\n case \"start\":\n reg = new RegExp(`^${text}`);\n break;\n case \"end\":\n reg = new RegExp(`${text}$`);\n break;\n default:\n reg = new RegExp(`${text}`);\n }\n let data = this.state.data.slice(0);\n let filter = [];\n data.forEach((item)=>{\n if (type === 'exclude') {\n if (!reg.test(item[field])) {\n filter.push(item);\n }\n } else {\n if (reg.test(item[field])) {\n filter.push(item);\n }\n }\n });\n this.setState({data:filter});\n }\n\n filterHandler(text, field, type) {\n this.filter_list.push({\n text:text,\n field:field,\n type:type\n });\n\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: ''\n }\n });\n this.mainMenu.hide();\n this.numMenu.hide();\n if (typeof this.props.onFilter === 'function') {\n this.props.onFilter(text, field, type);\n } else {\n this.localFilter(text,field,type);\n }\n }\n\n clearFilter() {\n this.filter_list = [];\n let is_clean = this.clearSort(true);\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: ''\n }\n });\n if (typeof this.props.onFilter === 'function') {\n this.props.onFilter('', '', 'clear');\n } else {\n if (!is_clean) {\n this.setState({data:this.originalData.slice(0)});\n }\n }\n }\n\n filterChangeHandler(field) {\n return (val) => {\n let filter = this.state.filter;\n filter[field] = val;\n this.setState({\n filter: filter\n })\n }\n };\n\n selectPageHandler = (page) => {\n if (typeof this.props.onSelectPage === 'function') {\n this.props.onSelectPage(page);\n }\n };\n\n /**\n * edit mode\n */\n addNewHandler = (e) => {\n let data = this.state.data.slice(0);\n data.push(Object.assign({}, this.cacheRow));\n this.editRows.push(data.length - 1);\n this.setState({\n data: data,\n dataCount: data.length,\n }, () => {\n document.querySelector(`#${this.domId}-edit`).previousElementSibling.querySelector('input:not([disabled])').focus()\n })\n };\n //编辑事件\n editHandler = (e, val,row) => {\n const dataset = row === 'chk'?e.currentTarget.dataset:e.target.dataset\n let index = parseInt(dataset.row);\n let field = dataset.field;\n //如果是check组件\n if (row === 'chk') {\n val = val?1:0;\n }\n if (this.editRows.indexOf(index) === -1) {\n this.editRows.push(index);\n let data = this.state.data.slice(0);\n data[index][field] = val;\n this.setState({data: data})\n } else {\n this.state.data[index][field] = val;\n }\n if (this.headers[field] && typeof(this.headers[field].onEdit) === 'function') {\n this.headers[field].onEdit(index,val,row,this.editCallback)\n }\n };\n //自定义 onEdit 事件回调函数\n editCallback = (index,editData) => {\n if (this.state.data[index]) {\n let data = this.state.data.slice(0);\n data[index] = Object.assign(data[index],editData);\n this.setState({data: data});\n }\n };\n\n getEditRows() {\n let list = [];\n for (let row of this.editRows) {\n list.push(this.state.data[row]);\n }\n return list;\n }\n\n clearEditRows() {\n this.editRows = [];\n }\n\n deleteRowHandler(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n if (typeof this.props.onDelete === 'function') {\n this.props.onDelete(this.state.data[row_index], row_index,this.deleteRow);\n } else {\n this.deleteRow(row_index)\n }\n }\n\n deleteRow(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n let data = this.state.data.slice(0);\n data.splice(row_index, 1);\n if (this.editRows.indexOf(row_index) !== -1) {\n this.editRows.splice(this.editRows.indexOf(row_index), 1);\n }\n this.editRows.forEach((item, index) => {\n if (item > row_index) {\n this.editRows[index] = item - 1;\n }\n });\n\n this.setState({\n data: data,\n dataCount: data.length,\n });\n }\n\n cloneRow(row_index) {\n if (row_index < 0 || row_index >= this.state.data.length) {\n return\n }\n let data = this.state.data.slice(0);\n data.push(Object.assign({}, this.state.data[row_index],this.noClone));\n this.editRows.push(data.length - 1);\n this.setState({\n data: data,\n dataCount: data.length,\n })\n }\n\n //****************************\n\n selectAll = (checked) => {\n this.select_all = checked;\n Common.map(this.refs, (item,key,idx) => {\n item.setChecked(this.select_all);\n this.setRowCheck(this.select_all,idx);\n });\n };\n\n /**\n * 得到所有选中的行\n * @returns {*}\n */\n getSelectRows() {\n return this.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\n * @param key 对应行数据的KEY值\n * @param list 要选中的数据值\n */\n setSelectRows(key, list) {\n this.state.data.forEach((row, i) => {\n if (list.indexOf(row[key]) !== -1) {\n this.refs['row_' + i].setChecked(true);\n this.setRowCheck(true,i);\n } else {\n this.refs['row_' + i].setChecked(false);\n this.setRowCheck(false,i);\n }\n });\n this.checkAllCheckHalf();\n }\n\n /**\n * binding column split\n */\n bindSplit() {\n if (this.props.move) {\n this.headerSplits.forEach((split) => {\n if (!this.drag) {\n this.dragColumnLeft = 0;\n this.dragWidth = 0;\n this.drag = new Drag(this.split, split, {\n start: (dragDom, eventDom) => {\n let xy = Common.GetDomXY(eventDom, this.mainDom);\n this.dragWidth = parseInt(eventDom.parentNode.style.width);\n this.dragColumnLeft = (xy.left - this.table_rows.scrollLeft);\n dragDom.style.left = this.dragColumnLeft + 'px';\n dragDom.classList.remove('d-none');\n return true;\n },\n move : (move, dragDom, eventDom) => {\n if (this.dragWidth + (move.x - this.dragColumnLeft) < 50) {\n move.x = this.dragColumnLeft - this.dragWidth + 50;\n }\n },\n end : (dragDom, eventDom) => {\n dragDom.classList.add('d-none');\n let column_key = eventDom.dataset.key;\n let diff = parseInt(dragDom.style.left) - this.dragColumnLeft;\n this.width = (parseInt(this.width) + diff) + 'px';\n this.table_head.style.width = this.width;\n this.table_body.style.width = this.width;\n if (this.table_total) {\n this.table_total.style.width = this.width;\n }\n document.querySelectorAll(`#${column_key}`).forEach((item) => {\n item.style.width = `${this.dragWidth + diff}px`;\n });\n return true;\n }\n });\n } else {\n this.drag.setEventDom(split);\n }\n });\n }\n }\n\n getClasses(name) {\n let base = 'table ck-table';\n if (!!name) {\n base = classNames(base, name);\n }\n //striped\n if (this.props.striped && !this.props.edit) {\n base = classNames(base, 'table-striped');\n }\n //theme\n if (this.props.theme) {\n base = classNames(base, 'table-' + this.props.theme);\n }\n //bordered\n if (this.props.bordered) {\n base = classNames(base, 'table-bordered');\n }\n //hover\n if (this.props.hover) {\n base = classNames(base, 'table-hover');\n }\n //sm\n if (this.props.sm) {\n base = classNames(base, 'table-sm');\n }\n if (this.props.fontSm) {\n base = classNames(base, 'table-font-sm');\n }\n //responsive\n if (this.props.responsive) {\n base = classNames(base, 'table-responsive');\n }\n //nowrap\n if (this.props.noWrap) {\n base = classNames(base, 'ck-ctable-nowrap');\n }\n return base;\n }\n\n getMainClasses() {\n let base = 'ck-ctable-main d-flex flex-column';\n if (this.props.bordered) {\n base = classNames(base, 'border');\n }\n return classNames(base, this.props.className);\n }\n\n getStyles() {\n //default style\n let base = {};\n //width\n if (this.props.width) {\n base.width = this.props.width;\n }\n //height\n if (this.props.height) {\n base.height = this.props.height;\n }\n\n if (this.props.absolute) {\n base.position = 'absolute';\n base.top = this.props.y;\n base.left = this.props.x;\n if (typeof this.props.position === 'object') {\n base.top = this.props.position.top || this.props.y;\n base.left = this.props.position.left || this.props.x;\n base.right = this.props.position.right || 'unset';\n base.bottom = this.props.position.bottom || 'unset';\n if (this.props.position.left && this.props.position.right) {\n base.width = 'unset';\n }\n if (this.props.position.top && this.props.position.bottom) {\n base.height = 'unset';\n }\n }\n }\n\n return Common.extend(base, this.props.style)\n }\n\n getHeaderClasses() {\n let base = 'ck-ctable-header';\n if (this.props.headerTheme) {\n base = classNames(base,'thead-' + this.props.headerTheme);\n }\n return classNames(base, this.props.headClass);\n }\n\n getTableStyles(style) {\n let base = {};\n\n if (this.width) {\n base.width = this.width;\n }\n\n if (style) {\n base = Object.assign({},base,style);\n }\n\n return base;\n }\n\n getBodyClasses() {\n let base = 'ck-ctable-body flex-grow-1 d-flex flex-column';\n\n return base;\n }\n\n calcLocalTotal(field) {\n return (e)=>{\n let list = this.state.data;\n let total = 0;\n list.forEach((item)=>{\n if (!!parseFloat(item[field])) {\n total += parseFloat(item[field])\n }\n })\n let totalData = Object.assign({},this.state.total);\n totalData[field] = total.toFixed(2)\n this.setState({\n total:totalData\n })\n }\n }\n\n render() {\n return (\n <div ref={c => this.mainDom = c} className={this.getMainClasses()} style={this.getStyles()}>\n <div className={this.getBodyClasses()}>\n {this.renderHeader()}\n {this.renderRows()}\n {this.renderTotal()}\n {<Scroll selector={`#table-body-com-${this.domId}`}/>}\n {<HScroll selector={`#table-body-com-${this.domId}`}/>}\n </div>\n {this.renderFoot()}\n <div ref={c => this.split = c} className='ck-split d-none'/>\n </div>\n );\n }\n\n renderHeader() {\n return (\n <div ref={c => this.tableHeader = c}>\n <table ref={c => this.table_head = c} id={`table-head-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <thead className={this.getHeaderClasses()}>\n <tr>\n {this.state.select || this.props.edit ?\n <th style={{width:'20px',textAlign:'center'}}>\n {this.props.edit || this.props.selectOnce ? <Icon icon='list'/> :\n <CCheckbox ref={c=>this.allchk=c} onChange={this.selectAll}/>}\n </th> : null}\n {React.Children.map(this.props.children, (item, key) => {\n this.cacheRow[item.props.field] = '';\n if (!item || item.props.hide) {\n return null;\n }\n // let align = item.props.align || this.props.align;\n let style = {\n 'textAlign': 'center'\n };\n if (item.props.width) {\n style.width = item.props.width;\n }\n let sort_icon = '';\n if (this.sortList[item.props.field]) {\n sort_icon = 'sort-alpha-' + (this.sortList[item.props.field] === 'asc' ? 'down' : 'up');\n }\n return (\n <th onContextMenu={this.menuContextHandler} id={this.domId + '-' + key} data-key={'head_' + key} style={style}>\n {this.is_sort ?\n <a className='ck-ctable-sort' href='javascript://' id={`${this.domId}-sort-${item.props.field}`}\n data-field={item.props.field}\n onClick={this.sortHandler}>\n {item.props.text}{'\\u0020'}\n <Icon icon={sort_icon}/></a> : item.props.text}\n {this.props.move ?\n <span ref={c => this.headerSplits.push(c)} data-key={this.domId + '-' + key} className='ck-column-split'/> : null}\n </th>\n );\n })}\n </tr>\n </thead>\n </table>\n </div>\n )\n }\n\n renderRows() {\n return (\n <div ref={c => this.table_rows = c} id={`table-body-com-${this.domId}`} className='flex-grow-1 rows' onScroll={this.scrollHandler}>\n <table ref={c => this.table_body = c} id={`table-body-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n {this.state.data.map((row, i) => {\n if (this.props.edit) {\n return this.renderEditRow(row, i)\n }\n return this.renderRow(row, i);\n })}\n {this.props.edit ? this.renderEditAddRow() : null}\n </tbody>\n </table>\n {this.props.menu ? this.renderMenu() : null}\n {this.props.menu ? this.renderNumberMenu() : null}\n </div>\n )\n }\n\n renderRow(row, i, parentRow) {\n return (\n <React.Fragment>\n <tr className={this.props.onClick ? 'click-row' : null} onClick={this.clickHandler(row, i)}>\n {this.state.select ?\n <th style={{width:'20px',textAlign:'center'}}>\n <CCheckbox ref={'row_' + i} onChange={this.changeHandler(row, i)}/>\n </th> : null}\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n //set style\n let style = {...this.props.columnStyle};\n\n style.textAlign = item.props.align || this.props.align;\n if (item.props.width) {\n style.width = item.props.width;\n }\n let dataType;\n switch (item.props.dataType) {\n case \"number\":\n dataType = \"number\";\n break;\n case \"date\":\n dataType = \"date\";\n break;\n default:\n dataType = \"text\";\n }\n\n if (item.props.children) {\n return (\n <td onContextMenu={this.menuContextHandler(dataType)} id={this.domId + '-' + key} data-row={`${i}`} data-field={item.props.field}\n className={item.props.className} style={{'text-align': align}}\n key={'col_' + key}>{React.cloneElement(item, {\n text : item.props.text,\n row : row,\n value: row[item.props.field]\n })}</td>\n );\n } else {\n if (item.props.type) {\n item.props.disabled=true;\n }\n return <td onContextMenu={this.menuContextHandler(dataType)} id={this.domId + '-' + key}\n data-field={item.props.field}\n style={style}\n onClick={(e) => {\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(row);\n }\n }}\n onDoubleClick={(e) => {\n if (typeof item.props.onDoubleClick === 'function') {\n item.props.onDoubleClick(row);\n }\n }}\n data-row={`${i}`}>\n {item.props.type ? this.renderEditComponent(item.props,row,i):(item.props.onFormat ? item.props.onFormat(row[item.props.field], row, item.props.field) : row[item.props.field])}\n </td>;\n }\n })}\n </tr>\n </React.Fragment>\n );\n }\n\n renderEditRow(row, i) {\n return (\n <React.Fragment>\n <tr className={this.props.onClick ? 'click-row' : null} onClick={this.clickHandler(row, i)}>\n <th style={{width:'20px',textAlign:'center'}}>\n {this.editRows.indexOf(i) === -1 ? null :\n <Icon id={`${this.domId}-edit-row-icon-${i}`} icon='edit' className='text-danger'/>}\n </th>\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n //set style\n let style = {...this.props.columnStyle};\n\n style.textAlign = item.props.align || this.props.align;\n if (item.props.width) {\n style.width = item.props.width;\n }\n let dataType = 'text';\n return (\n <td onContextMenu={this.menuContextHandler(dataType)}\n className={item.props.disabled ? 'disabled' : ''} id={this.domId + '-' + key}\n data-field={item.props.field}\n style={style}\n onClick={(e) => {\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(row);\n }\n }}\n onDoubleClick={(e) => {\n if (typeof item.props.onDoubleClick === 'function') {\n item.props.onDoubleClick(row);\n }\n }}\n data-row={`${i}`}>\n {item.props.disabled?\n (item.props.onFormat ? item.props.onFormat(row[item.props.field], row, item.props.field) : row[item.props.field]):\n this.renderEditComponent(item.props, row, i)}\n </td>\n );\n })}\n </tr>\n </React.Fragment>\n );\n }\n\n renderEditAddRow() {\n return (\n <tr id={this.domId + '-edit'}>\n <th style={{width:'20px',textAlign:'center'}}><Icon icon='chevron-circle-right'/></th>\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n let style = {\n width: item.props.width\n };\n return (\n <td style={style}>\n <CTableInput onFocus={this.addNewHandler}/>\n </td>\n );\n })}\n </tr>\n )\n }\n\n renderEditComponent(item, row, i) {\n switch (item.type) {\n case \"combo\":\n return (\n <CTableInput onChange={this.editHandler} data-row={i}\n data-field={item.field} data={row[item.field]}\n align={item.align} disabled={item.disabled}\n combo={item.combo} comboData={item.comboData}/>\n );\n case \"calendar\":\n return (\n <CTableInput onChange={this.editHandler} data-row={i}\n data-field={item.field} data={row[item.field]}\n align={item.align} disabled={item.disabled}\n calendarFormat={item.calendarFormat} calendar/>\n );\n case \"checkbox\":\n return (\n <CCheckbox width='20px' onChange={(chk,e)=>{this.editHandler(e,chk,'chk')}} data-row={i}\n data-field={item.field} checked={!!row[item.field]} disabled={item.disabled}/>\n )\n default:\n return (\n <CTableInput onChange={this.editHandler} data-row={i} data-field={item.field}\n data={row[item.field]} align={item.align} disabled={item.disabled}\n onBlur={this.state.total&&this.state.total.hasOwnProperty(item.field)?this.calcLocalTotal(item.field):null}\n />\n )\n }\n }\n\n renderFoot() {\n if (!this.props.foot) {\n return null;\n }\n return (\n <div>\n <PageBar page={this.state.page} dataCount={this.state.dataCount}\n onSelect={this.selectPageHandler}\n showNumbers={this.props.showNumbers}\n showPages={this.props.showPages} noPage={this.props.edit}/>\n </div>\n )\n }\n\n renderTotal() {\n if (!this.state.total) {\n return null;\n }\n let total = this.state.total;\n return (\n <div ref={c => this.tableTotal = c} className='ck-ctable-total'>\n <table ref={c => this.table_total = c} id={`table-total-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n <tr>\n {this.state.select ?\n <td width='20px'><Icon icon='chart-line'/></td> : null}\n {React.Children.map(this.props.children, (item, key) => {\n if (!item || item.props.hide) {\n return null;\n }\n let align = item.props.align || this.props.align;\n let style = {\n 'textAlign': align\n };\n if (item.props.width) {\n style.width = item.props.width;\n }\n return (\n <td id={this.domId + '-' + key} data-field={item.props.field} style={style}>\n {item.props.onFormat ? item.props.onFormat(total[item.props.field], total, item.props.field) : total[item.props.field]}\n </td>\n );\n })}\n </tr>\n </tbody>\n </table>\n </div>\n )\n }\n\n renderMenu() {\n let lang = this.props.lang;\n if (!lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n }\n return <>\n <Menu ref={c => this.mainMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='mr-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter By Selection']}</Menu.Item>:null}\n {this.is_filter?<Menu.Item field='select_exclude' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter Excluding Selection']}</Menu.Item>:null}\n {this.is_filter||this.is_sort?<Menu.Item field='clear_filter' onClick={() => {\n this.clearFilter();\n }}><span className='text-danger'><Icon className='mr-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field=\"equal\">\n <span className='mr-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.equal}\n onChange={this.filterChangeHandler('equal')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.equal, this.mainMenu.data.field, 'equal');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.equal, this.mainMenu.data.field, 'equal');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['Start With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.start}\n onChange={this.filterChangeHandler('start')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.start, this.mainMenu.data.field, 'start');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.start, this.mainMenu.data.field, 'start');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['End With']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.end}\n onChange={this.filterChangeHandler('end')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.end, this.mainMenu.data.field, 'end');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.end, this.mainMenu.data.field, 'end');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter?<Menu.Item field=\"filter\">\n <span className='mr-1' style={inputStyle}>{lang['Contain with']}</span>\n <Input className='mr-1' size='xs' width='120px'\n data={this.state.filter.contain}\n onChange={this.filterChangeHandler('contain')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.contain, this.mainMenu.data.field, 'contain');\n }}\n />\n <Button size='xs' onMouseDown={stopEvent} onClick={(e) => {\n this.filterHandler(this.state.filter.contain, this.mainMenu.data.field, 'contain');\n }} icon='search'/>\n </Menu.Item>:null}\n {this.is_filter? <Menu.Item step/> : null}\n {this.is_filter?<Menu.Item field=\"filter\" className='flex-column'>\n <div className='w-100'>{lang['Condition Filter']}</div>\n <Input size='xs' width='100%'\n data={this.state.filter.condition}\n onChange={this.filterChangeHandler('condition')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.condition, this.mainMenu.data.field, 'condition');\n }}\n />\n </Menu.Item>:null}\n {this.props.edit ? <Menu.Item step/> : null}\n {this.props.edit ? <Menu.Item field=\"delete_row\">{lang['Delete Row']}</Menu.Item> : null}\n {this.props.edit ? <Menu.Item field=\"clone_row\">{lang['Clone Row']}</Menu.Item> : null}\n {this.props.customMenu?<Menu.Item step/>:null}\n {this.props.customMenu?this.props.customMenu.map((menu)=>{\n return this.explainCustomMenu(menu)\n }):null}\n </Menu>\n </>\n }\n\n renderNumberMenu() {\n let lang = this.props.lang;\n if (!lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n }\n return <>\n <Menu ref={c => this.numMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='mr-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter By Selection']}</Menu.Item>:null}\n {this.is_filter?<Menu.Item field='select_exclude' onClick={(e, field, data) => {\n let select = document.getSelection();\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='mr-1' icon='filter'/>{lang['Filter Excluding Selection']}</Menu.Item>:null}\n {this.is_filter||this.is_sort?<Menu.Item field='clear_filter' onClick={() => {\n this.clearFilter();\n }}><span className='text-danger'><Icon className='mr-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item step/>:null}\n {this.is_filter?<Menu.Item field=\"filter\" className='flex-column'>\n <div className='w-100'>{lang['Condition Filter']}</div>\n <Input size='xs' width='100%'\n data={this.state.filter.condition}\n onChange={this.filterChangeHandler('condition')}\n onMouseDown={stopEvent}\n onEnter={() => {\n this.filterHandler(this.state.filter.condition, this.numMenu.data.field, 'condition');\n }}\n />\n <div>and,or,between,&gt;,&gt;=,&lt;,&lt;=,=</div>\n </Menu.Item>:null}\n </Menu>\n </>\n }\n\n explainCustomMenu(menu) {\n if (menu.children && menu.children instanceof Array) {\n return <Menu.Item field={menu.field} text={menu.text} child>{menu.children.map((item)=>{\n return this.explainCustomMenu(item)\n })}</Menu.Item>\n } else {\n return <Menu.Item field={menu.field} onClick={menu.click}>{menu.text}</Menu.Item>\n }\n }\n}\n\nconst inputStyle = {width: '80px'};\nconst stopEvent = function (e) {\n e.stopPropagation();\n};\n\nCTable.propTypes = {\n //主题\n theme : PropTypes.oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark']),\n //标头主题\n headerTheme : PropTypes.oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark']),\n //标头css class\n headClass : PropTypes.string,\n //数据来源\n data : PropTypes.array,\n //数据总记录数\n dataCount : PropTypes.number,\n //总页数\n page : PropTypes.number,\n //第一列是否出现选择项\n select : PropTypes.bool,\n //是否只能选中一项\n selectOnce : PropTypes.bool,\n //是否显示标头\n header : PropTypes.bool,\n //\n center : PropTypes.bool,\n //数据当前页\n currentPage : PropTypes.number,\n //\n striped : PropTypes.bool,\n //是否显示边框\n bordered : PropTypes.bool,\n //行是否有hover效果\n hover : PropTypes.bool,\n //是否小型化显示列表\n sm : PropTypes.bool,\n //文字最小化\n fontSm : PropTypes.bool,\n responsive : PropTypes.bool,\n //文字列表 left,center,right\n align : PropTypes.string,\n //是否显示树结构\n tree : PropTypes.string,\n //点击树事件\n onClickTree : PropTypes.func,\n //点击事件\n onClick : PropTypes.func,\n //选择事件\n onCheck : PropTypes.func,\n //过滤事件\n onFilter : PropTypes.func,\n //排序事件\n onSort : PropTypes.func,\n //是否列可移动\n move : PropTypes.bool,\n //刷新事件\n onRefresh : PropTypes.func,\n //刷新事件按钮文字\n refreshText : PropTypes.string,\n //是否漂浮\n absolute : PropTypes.bool,\n //漂浮X坐标\n x : PropTypes.string,\n //漂浮Y坐标\n y : PropTypes.string,\n //表宽\n width : PropTypes.string,\n //表高\n height : PropTypes.string,\n // foot : PropTypes.bool,\n //是否显示列表尾\n foot : PropTypes.object,\n //表自动随主体小设置\n position : PropTypes.object,\n //显示的页码数\n showPages : PropTypes.number,\n //显示的记录条数\n showNumbers : PropTypes.number,\n //翻页事件\n onSelectPage: PropTypes.func,\n //是否自动换行\n noWrap : PropTypes.bool,\n //是否启用右键菜单\n menu : PropTypes.bool,\n //是否显示每列记录总合数\n total : PropTypes.object,\n //是否编辑模式\n edit : PropTypes.bool,\n //数据删除事件\n onDelete : PropTypes.func,\n //是否启用排序\n sort : PropTypes.bool,\n //是否启用过滤\n filter : PropTypes.bool,\n //自定义右键菜单\n customMenu : PropTypes.array,\n //自定义显示语言\n lang : PropTypes.object,\n source : PropTypes.string,\n sourceFunc : PropTypes.func,\n};\n\nCTable.defaultProps = {\n data : [],\n dataCount : 1,\n select : true,\n header : true,\n foot : true,\n currentPage: 1,\n hover : true,\n striped : true,\n align : 'left',\n sm : true,\n fontSm : true,\n headerTheme: 'light',\n noWrap : true,\n bordered : true,\n move : true,\n menu : true,\n showNumbers: 30,\n showPages : 10,\n source : null,\n total : null\n}\n\nexport default CTable;"],"file":"CTable.js"}
@@ -1,6 +1,6 @@
1
- /* @clake/react-bootstrap4-window v0.6.1 | by Clake
1
+ /* @clake/react-bootstrap4-window v0.6.2 | by Clake
2
2
  * Copyright (c) 2023 Clake,
3
- * 2023-06-07T17:23:51+0800
3
+ * 2023-06-15T17:08:03+0800
4
4
  */
5
5
  "use strict";
6
6
 
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.6.1 | by Clake
1
+ /* @clake/react-bootstrap4-window v0.6.2 | by Clake
2
2
  * Copyright (c) 2023 Clake,
3
- * 2023-06-07T17:23:51+0800
3
+ * 2023-06-15T17:08:03+0800
4
4
  */
5
5
  {"version":3,"sources":["CTableInput.js"],"names":["CTableInput","props","e","setState","value","target","onChange","combo","filter","calendar","state","setCurrentDate","Date","val","format","hide","row","parseValue","data","comboData","input","addEventListener","show","stopPropagation","nextProps","nextState","disabled","undefined","base","className","inputStyle","align","textAlign","inputClasses","getClasses","c","changeHandler","dblHandler","renderCombo","renderCalendar","input_icon","readOnly","selectHandler","focus","calendarSelectHandler","calendarFormat","React","Component","propTypes","PropTypes","any","string","bool","object","func","onSelect","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport './css/CTableInput.less';\nimport {\n i18n,\n Icon\n} from '@clake/react-bootstrap4';\nimport WCombo from \"./WCombo\";\nimport WCalendar from './WCalendar';\nclass CTableInput extends React.Component {\n constructor(props) {\n super(props);\n this.state={\n value:this.parseValue(this.props.data),\n // value: this.props.data || '',\n comboData:this.props.comboData\n };\n }\n\n componentDidMount(){\n if (this.props.calendar) {\n this.input.addEventListener('focus', (e) => {\n this.calendar.show(e);\n }, false);\n this.input.addEventListener('mousedown', (e) => {\n e.stopPropagation();\n }, false);\n }\n if (this.props.combo) {\n this.input.addEventListener('focus', (e) => {\n this.combo.show(this.state.value,e);\n }, false);\n this.input.addEventListener('mousedown', (e) => {\n e.stopPropagation();\n }, false);\n }\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState({\n value: this.parseValue(nextProps.data),\n // value: nextProps.value || '',\n comboData: nextProps.comboData\n });\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (nextProps.comboData !== this.props.comboData) {\n return true;\n }\n if (nextProps.disabled !== this.props.disabled) {\n return true\n }\n return nextState.value !== this.state.value;\n }\n\n parseValue(val) {\n if (val === null || val === undefined) {\n return \"\";\n } else {\n return '' + val;\n }\n }\n\n getClasses() {\n let base = 'ck-ctable-input';\n\n return classNames(base,this.props.className);\n }\n\n changeHandler = (e) => {\n this.setState({\n value: e.target.value\n });\n // console.log(e.target,e.currentTarget)\n if (typeof this.props.onChange === 'function') {\n this.props.onChange(e,e.target.value);\n }\n if (this.combo) {\n this.combo.filter(e.target.value);\n }\n };\n\n dblHandler = (e)=> {\n if (this.calendar && !this.state.value) {\n this.calendar.setCurrentDate(new Date());\n let val = this.calendar.format()\n this.setState({value:val})\n if (typeof this.props.onChange === 'function') {\n this.props.onChange(e,val);\n }\n this.calendar.hide();\n }\n };\n\n selectHandler = (val,row,e)=>{\n this.setState({\n value:val\n });\n if (typeof this.props.onChange === 'function') {\n this.props.onChange(e,val,row);\n }\n };\n\n calendarSelectHandler = (val,e)=>{\n this.setState({\n value:val\n });\n if (typeof this.props.onChange === 'function') {\n this.props.onChange(e,val);\n }\n };\n\n render() {\n let inputStyle = {};\n if (this.props.align) {\n inputStyle.textAlign = this.props.align;\n }\n let inputClasses = '';\n if (this.props.combo || this.props.calendar) {\n inputClasses = 'right-icon';\n }\n return (\n <div className={this.getClasses()}>\n <input ref={c=>this.input=c} type='text' {...this.props}\n onChange={this.changeHandler}\n onDoubleClick={this.dblHandler}\n disabled={this.props.disabled}\n style={inputStyle}\n className={inputClasses}\n value={this.state.value}/>\n {this.renderCombo()}\n {this.renderCalendar()}\n </div>\n );\n }\n\n renderCombo() {\n if (!this.props.combo) {\n return null;\n }\n let input_icon = 'ck-wcombo-icon';\n return (\n <div className='ck-input-calendar'>\n <WCombo ref={c => this.combo = c} combo={this.props.combo}\n data={this.state.comboData} noSearch={this.props.readOnly}\n onSelect={this.selectHandler}/>\n <div className={input_icon} onClick={() => {\n this.input.focus();\n }}><Icon icon='angle-down'/></div>\n </div>\n )\n }\n\n renderCalendar() {\n if (!this.props.calendar) {\n return null;\n }\n let input_icon = 'ck-wcalendar-icon';\n return (\n <div className='ck-input-calendar'>\n <WCalendar ref={c => this.calendar = c} onSelect={this.calendarSelectHandler}\n value={this.state.value}\n format={this.props.calendarFormat}/>\n <div className={input_icon} onClick={() => {\n this.input.focus();\n }}><Icon iconType='regular' icon='calendar-alt'/></div>\n </div>\n )\n }\n}\n\nCTableInput.propTypes = {\n data: PropTypes.any,\n align: PropTypes.string,\n disabled: PropTypes.bool,\n combo: PropTypes.object,\n comboData: PropTypes.any,\n calendar: PropTypes.object,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nCTableInput.defaultProps = {\n\n};\n\nexport default CTableInput;"],"file":"CTableInput.js"}
package/lib/Drag.js CHANGED
@@ -1,6 +1,6 @@
1
- /* @clake/react-bootstrap4-window v0.6.1 | by Clake
1
+ /* @clake/react-bootstrap4-window v0.6.2 | by Clake
2
2
  * Copyright (c) 2023 Clake,
3
- * 2023-06-07T17:23:51+0800
3
+ * 2023-06-15T17:08:03+0800
4
4
  */
5
5
  "use strict";
6
6