@clake/react-bootstrap4-window 0.7.7 → 1.0.1

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.
Files changed (62) hide show
  1. package/dist/react-bootstrap4-window.js +4 -4
  2. package/lib/CTable.js +190 -203
  3. package/lib/CTable.js.map +3 -3
  4. package/lib/CTableInput.js +18 -24
  5. package/lib/CTableInput.js.map +3 -3
  6. package/lib/Drag.js +63 -27
  7. package/lib/Drag.js.map +3 -3
  8. package/lib/IconButton.js +22 -24
  9. package/lib/IconButton.js.map +3 -3
  10. package/lib/PageBar.js +9 -21
  11. package/lib/PageBar.js.map +3 -3
  12. package/lib/TopMenu.js +104 -107
  13. package/lib/TopMenu.js.map +3 -3
  14. package/lib/WCalendar.js +17 -20
  15. package/lib/WCalendar.js.map +3 -3
  16. package/lib/WCombo.js +14 -9
  17. package/lib/WCombo.js.map +3 -3
  18. package/lib/WModal.js +118 -79
  19. package/lib/WModal.js.map +3 -3
  20. package/lib/Window.js +58 -40
  21. package/lib/Window.js.map +3 -3
  22. package/lib/WindowGroup.js +19 -11
  23. package/lib/WindowGroup.js.map +3 -3
  24. package/lib/i18n/CTable.js +4 -4
  25. package/lib/i18n/CTable.js.map +3 -3
  26. package/lib/index.js +59 -36
  27. package/lib/index.js.map +3 -3
  28. package/lib/types/gulpfile.babel.d.ts +2 -0
  29. package/lib/types/gulpfile.babel.d.ts.map +1 -0
  30. package/lib/types/src/CTable.d.ts +224 -0
  31. package/lib/types/src/CTable.d.ts.map +1 -0
  32. package/lib/types/src/CTableInput.d.ts +41 -0
  33. package/lib/types/src/CTableInput.d.ts.map +1 -0
  34. package/lib/types/src/Drag.d.ts +50 -0
  35. package/lib/types/src/Drag.d.ts.map +1 -0
  36. package/lib/types/src/IconButton.d.ts +19 -0
  37. package/lib/types/src/IconButton.d.ts.map +1 -0
  38. package/lib/types/src/PageBar.d.ts +27 -0
  39. package/lib/types/src/PageBar.d.ts.map +1 -0
  40. package/lib/types/src/TopMenu.d.ts +42 -0
  41. package/lib/types/src/TopMenu.d.ts.map +1 -0
  42. package/lib/types/src/WCalendar.d.ts +32 -0
  43. package/lib/types/src/WCalendar.d.ts.map +1 -0
  44. package/lib/types/src/WCombo.d.ts +28 -0
  45. package/lib/types/src/WCombo.d.ts.map +1 -0
  46. package/lib/types/src/WModal.d.ts +106 -0
  47. package/lib/types/src/WModal.d.ts.map +1 -0
  48. package/lib/types/src/Window.d.ts +79 -0
  49. package/lib/types/src/Window.d.ts.map +1 -0
  50. package/lib/types/src/WindowGroup.d.ts +28 -0
  51. package/lib/types/src/WindowGroup.d.ts.map +1 -0
  52. package/lib/types/src/i18n/CTable.d.ts +3 -0
  53. package/lib/types/src/i18n/CTable.d.ts.map +1 -0
  54. package/lib/types/src/index.d.ts +6 -0
  55. package/lib/types/src/index.d.ts.map +1 -0
  56. package/lib/types/webpack.common.d.ts +55 -0
  57. package/lib/types/webpack.common.d.ts.map +1 -0
  58. package/lib/types/webpack.dev.d.ts +3 -0
  59. package/lib/types/webpack.dev.d.ts.map +1 -0
  60. package/lib/types/webpack.prod.d.ts +3 -0
  61. package/lib/types/webpack.prod.d.ts.map +1 -0
  62. package/package.json +17 -9
package/lib/CTable.js.map CHANGED
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
- {"version":3,"sources":["CTable.js"],"names":["CTable","props","a","b","Date","getTime","prototype","keys","Object","length","every","k","equals","checked","select_all","selectRows","state","data","forEach","item","key","push","setState","selectAll","selectHalf","onCheckAll","e","dom","currentTarget","sort_type","dataset","sort","changeSort","tableHeader","style","transform","scrollLeft","tableTotal","field","document","querySelector","domId","deleteRowHandler","parseInt","mainMenu","index","cloneRow","page","onSelectPage","slice","assign","cacheRow","editRows","dataCount","previousElementSibling","focus","val","row","target","indexOf","headers","onEdit","editCallback","editData","select","total","filter","start","end","contain","originalData","Common","RandomString","headerSplits","sortList","is_sort","onSort","is_filter","onFilter","current_sort","filter_list","noClone","lockColumns","isLock","initTableWidth","bindSplit","nextProps","edit","Clone","isHalf","allchk","idx","set_chk","nextState","width","reg","matchs","match","unit","React","Children","map","children","sourceFunc","source","number","showNumbers","res","count","type","value","text","flag","i","setRowCheck","checkAllCheckHalf","allChecked","half","onCheck","selectOnce","rowIdx","includes","splice","onClick","rowCheck","refs","changeHandler","clearSort","classList","remove","child","add","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","test","hide","localFilter","is_clean","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","mainDom","parentNode","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","sort_icon","menuContextHandler","sortHandler","scrollHandler","renderEditRow","renderRow","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","rowClass","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","allSelect","defaultProps"],"mappings":"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","sourcesContent":["/** @module react-bootstrap-v4-window/CTable */\n\nimport React from 'react';\nimport PropTypes 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\";\n\n/**\n * data Grid class\n * @extends React.Component\n */\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 selectAll: false, //选中全部状态\n selectHalf: false, //半选中状态\n selectRows: [], //选中的数据列表\n focus: -1 //当前显示焦点\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 let selectRows = []\n let isHalf = false\n let allchk = false\n if (nextProps.data && nextProps.data.length > 0) {\n nextProps.data.forEach((item,idx)=>{\n if (item?.set_chk) {\n selectRows.push(idx)\n }\n })\n if (selectRows.length === nextProps.data.length) {\n allchk = true\n } else {\n if (selectRows.length>0) {\n isHalf = true\n }\n }\n }\n this.setState({\n data : nextProps.data,\n dataCount: nextProps.dataCount,\n page : nextProps.page,\n total : nextProps.total,\n selectRows: selectRows,\n selectHalf: isHalf,\n selectAll: allchk,\n focus: -1\n });\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (nextState.selectRows !== this.state.selectRows) {\n return true\n }\n if (this.state.filter !== nextState.filter) {\n return true;\n }\n if (nextState.total !== this.state.total) {\n return true\n }\n if (this.props.focus && nextState.focus !== this.state.focus) {\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 let selectRows = this.setRowCheck(checked,i);\n const [allChecked, half] = this.checkAllCheckHalf(selectRows);\n this.setState({\n selectRows: selectRows,\n selectAll: allChecked,\n selectHalf: half\n })\n if (typeof this.props.onCheck === \"function\") {\n this.props.onCheck(checked, row);\n }\n };\n }\n checkAllCheckHalf(selectRows) {\n if (!this.allchk || this.props.selectOnce) {\n return [false, false];\n }\n if (selectRows.length > 0 && selectRows.length !== this.state.data.length) {\n return [false, true]\n }\n if (selectRows.length === 0) {\n return [false, false]\n } else if (selectRows.length === this.state.data.length) {\n return [true, false]\n }\n return [false, false]\n }\n setRowCheck(checked,rowIdx) {\n let selectRows = this.props.selectOnce?[]:this.state.selectRows.slice()\n\n if (checked) {\n if (!selectRows.includes(rowIdx)) {\n selectRows.push(rowIdx);\n }\n } else {\n if (selectRows.includes(rowIdx)) {\n selectRows.splice(selectRows.indexOf(rowIdx),1);\n }\n }\n return selectRows\n }\n\n selectAll = (checked) => {\n this.select_all = checked;\n let selectRows = []\n if (checked) {\n this.state.data.forEach((item,key)=>{\n selectRows.push(key)\n })\n }\n this.setState({\n selectRows: selectRows,\n selectAll: checked,\n selectHalf: false\n },()=>{\n if (typeof this.props.onCheckAll === 'function') {\n this.props.onCheckAll(this.state.selectAll,this.state.data)\n }\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 && this.props.rowCheck) {\n let row = this.refs['row_'+i];\n row.changeHandler(null)\n // this.setRowCheck(!row.getChecked(),i);\n // this.checkAllCheckHalf();\n }\n if (this.props.focus) {\n this.setState({\n focus:i === this.state.focus?-1:i\n })\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 /**\n * 得到所有选中的行\n * @returns {*}\n */\n getSelectRows() {\n return this.state.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\n * @param {string} key 对应行数据的KEY值\n * @param {array} list 要选中的数据值\n */\n setSelectRows(key, list) {\n let selectRows = []\n this.state.data.forEach((row, i) => {\n if (list.includes(row[key])) {\n selectRows.push(i)\n }\n });\n let selectAll = selectRows.length > 1 && selectRows.length === this.state.data.length\n this.setState({\n selectRows: selectRows,\n selectHalf: !selectAll,\n selectAll: selectAll\n })\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,'table-' + 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} checked={this.state.selectAll} half={this.state.selectHalf}/>}\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 let checked = this.state.selectRows.indexOf(i) !== -1\n let focus = (i === this.state.focus && this.props.focus)\n let rowClass = focus ? 'ck-table-focus' : checked ? 'ck-table-selected' : null \n return (\n <React.Fragment>\n <tr className={rowClass} 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)} checked={checked}/>\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 className='d-inline' 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} tabIndex=\"0\"/>\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 || this.props.edit ?\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;\n if (!this.props.lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n } else {\n if (typeof this.props.lang === 'string') {\n lang = CTableLang[this.props.lang]\n } else {\n lang = this.props.lang\n }\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='me-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='me-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='me-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='me-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='me-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['Start With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['End With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['Contain with']}</span>\n <Input className='me-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;\n if (!this.props.lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n } else {\n if (typeof this.props.lang === 'string') {\n lang = CTableLang[this.props.lang]\n } else {\n lang = this.props.lang\n }\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='me-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='me-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='me-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='me-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 onCheckAll : 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 allSelect : PropTypes.bool,\n //focus 是否显示焦点\n focus: PropTypes.bool,\n //是否全行点选\n rowCheck: PropTypes.bool,\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: 'primary',\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 lang : 'en',\n allSelect : true,\n rowCheck : false,\n focus: true\n}\n\nexport default CTable;"],"file":"CTable.js"}
5
+ {"version":3,"sources":["CTable.tsx"],"names":["CTable","props","a","b","Date","getTime","prototype","keys","Object","length","every","k","equals","checked","select_all","selectRows","state","data","forEach","item","key","push","setState","selectAll","selectHalf","onCheckAll","jsxId","e","dom","currentTarget","sort_type","dataset","sort","changeSort","tableHeader","style","transform","scrollLeft","tableTotal","field","document","querySelector","domId","deleteRowHandler","parseInt","mainMenu","index","cloneRow","page","onSelectPage","slice","assign","cacheRow","editRows","dataCount","previousElementSibling","focus","val","row","target","indexOf","headers","onEdit","editCallback","editData","select","total","filter","start","end","contain","originalData","Common","RandomString","headerSplits","sortList","is_sort","onSort","is_filter","onFilter","current_sort","filter_list","noClone","lockColumns","isLock","initTableWidth","bindSplit","nextProps","edit","Clone","isHalf","allchk","idx","set_chk","nextState","width","reg","matchs","match","unit","React","Children","map","children","sourceFunc","source","number","showNumbers","res","count","type","value","text","flag","i","setRowCheck","checkAllCheckHalf","allChecked","half","onCheck","selectOnce","rowIdx","includes","splice","onClick","rowCheck","refs","changeHandler","clearSort","classList","remove","child","add","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","test","hide","undefined","localFilter","is_clean","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","mainDom","parentNode","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","sort_icon","menuContextHandler","sortHandler","scrollHandler","renderEditRow","renderRow","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","rowClass","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","header","currentPage","allSelect"],"mappings":"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","sourcesContent":["/** @module react-bootstrap-v4-window/CTable */\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport {\n Icon,\n Pagination,\n Menu,\n Input,\n Button,\n Common,\n i18n,\n CCheckbox,\n Scroll,\n HScroll,\n ComponentProps\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\";\n\ninterface Props extends ComponentProps {\n //主题 ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark']\n theme ?: string\n //标头主题\n headerTheme ?: string\n //标头css class\n headClass ?: string\n //数据来源\n data ?: any[]\n //数据总记录数\n dataCount ?: number\n //总页数\n page ?: number\n //第一列是否出现选择项\n select ?: boolean\n //是否只能选中一项\n selectOnce ?: boolean\n //是否显示标头\n header ?: boolean\n //\n center ?: boolean\n //数据当前页\n currentPage ?: number\n //\n striped ?: boolean\n //是否显示边框\n bordered ?: boolean\n //行是否有hover效果\n hover ?: boolean\n //是否小型化显示列表\n sm ?: boolean\n //文字最小化\n fontSm ?: boolean\n responsive ?: boolean\n //文字列表 left,center,right\n align ?: string\n //是否显示树结构\n tree ?: string\n //点击树事件\n onClickTree ?: ()=>void\n //点击事件\n onClick ?: (row:any,idx:number,id?:string)=>void\n //选择事件\n onCheck ?: (chk:boolean,row:any,id?:string)=>void\n //选择所有\n onCheckAll ?: (chk:boolean,data:any[],id?:string)=>void\n //过滤事件\n onFilter ?: (text:string, field:string, type:string, id?:string)=>void\n //排序事件\n onSort ?: (field:string,sort_type:string, id?:string)=>void\n //是否列可移动\n move ?: boolean\n //刷新事件\n onRefresh ?: ()=>void\n //刷新事件按钮文字\n refreshText ?: string\n //是否漂浮\n absolute ?: boolean\n //漂浮X坐标\n x ?: string\n //漂浮Y坐标\n y ?: string\n //表宽\n width ?: string\n //表高\n height ?: string\n // foot : PropTypes.bool,\n //是否显示列表尾\n foot ?: any\n //表自动随主体小设置\n position ?: any\n //显示的页码数\n showPages ?: number\n //显示的记录条数\n showNumbers ?: number\n //翻页事件\n onSelectPage?: (page:number,id?:string)=>void\n //是否自动换行\n noWrap ?: boolean\n //是否启用右键菜单\n menu ?: boolean\n //是否显示每列记录总合数\n total ?: any\n //是否编辑模式\n edit ?: boolean\n //数据删除事件\n onDelete ?: (row:any,idx:number,callback:(row_index:number)=>void,id?:string)=>void\n //是否启用排序\n sort ?: boolean\n //是否启用过滤\n filter ?: boolean\n //自定义右键菜单\n customMenu ?: any\n //自定义显示语言\n lang ?: any\n source ?: string\n sourceFunc ?: (opt:any,callback:(res:any)=>void)=>void\n //是否显示全部选取\n allSelect ?: boolean\n //focus 是否显示焦点\n focus?: boolean\n //是否全行点选\n rowCheck?: boolean\n\n columnStyle?:any\n //唯一ID\n jsxId?: string\n}\n\ninterface State {\n data : any[]\n dataCount: number\n page : number\n select : boolean\n total : any\n filter : any\n selectAll: boolean //选中全部状态\n selectHalf: boolean //半选中状态\n selectRows: any[] //选中的数据列表\n focus: number //当前显示焦点\n}\n\nexport class CTable extends React.Component<Props,State> {\n static 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: 'primary',\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 lang : 'en',\n allSelect : true,\n rowCheck : false,\n focus: true\n }\n\n originalData: any[]\n domId:string\n select_all:boolean\n selectRows:any[]\n headerSplits:any\n sortList:any\n is_sort:boolean\n is_filter:boolean\n current_sort:any\n filter_list:any[]\n editRows:any[]\n cacheRow:any\n headers:any\n noClone:any\n lockColumns:any[]\n isLock:boolean\n filter:any[]\n \n width:string\n tableHeader:HTMLElement\n tableTotal:HTMLElement\n table_rows:HTMLElement\n table_head:HTMLElement\n table_body:HTMLElement\n table_total:HTMLElement\n split:HTMLElement\n mainDom:HTMLElement\n mainMenu:Menu\n numMenu:Menu\n drag: Drag\n dragColumnLeft:number\n dragWidth:number\n allchk:CCheckbox\n constructor(props:any) {\n \n super(props);\n this.state = {\n data : this.props.data || [],\n dataCount: this.props.dataCount??0,\n page : 1,\n select : this.props.select??false,\n total : this.props.total,\n filter : {\n start : '',\n end : '',\n contain: ''\n },\n selectAll: false, //选中全部状态\n selectHalf: false, //半选中状态\n selectRows: [], //选中的数据列表\n focus: -1 //当前显示焦点\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 UNSAFE_componentWillReceiveProps(nextProps:Props) {\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 let selectRows:any[] = []\n let isHalf = false\n let allchk = false\n if (nextProps.data && nextProps.data.length > 0) {\n nextProps.data.forEach((item,idx)=>{\n if (item?.set_chk) {\n selectRows.push(idx)\n }\n })\n if (selectRows.length === nextProps.data.length) {\n allchk = true\n } else {\n if (selectRows.length>0) {\n isHalf = true\n }\n }\n }\n this.setState({\n data : nextProps.data??[],\n dataCount: nextProps.dataCount??0,\n page : nextProps.page??0,\n total : nextProps.total,\n selectRows: selectRows,\n selectHalf: isHalf,\n selectAll: allchk,\n focus: -1\n });\n }\n }\n\n shouldComponentUpdate(nextProps:Props, nextState:State) {\n if (nextState.selectRows !== this.state.selectRows) {\n return true\n }\n if (this.state.filter !== nextState.filter) {\n return true;\n }\n if (nextState.total !== this.state.total) {\n return true\n }\n if (this.props.focus && nextState.focus !== this.state.focus) {\n return true\n }\n return nextState.data !== this.state.data;\n }\n\n equals = (a:any, b:any):boolean => {\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 let width = 0;\n let reg = /(\\d+)(px|rem|cm|mm|pt)$/;\n let matchs = this.props.width.match(reg);\n let unit = matchs?matchs[2]:'px';\n React.Children.map(this.props.children, (item, key) => {\n if (item.props.width) {\n let matchs = item.props.width.match(reg);\n 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 width += 20;\n }\n this.width = 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:any, i:number) {\n return (checked:boolean,e:any) => {\n let selectRows = this.setRowCheck(checked,i);\n const [allChecked, half] = this.checkAllCheckHalf(selectRows);\n this.setState({\n selectRows: selectRows,\n selectAll: allChecked,\n selectHalf: half\n })\n if (typeof this.props.onCheck === \"function\") {\n this.props.onCheck(checked, row,this.props.jsxId);\n }\n };\n }\n checkAllCheckHalf(selectRows:Array<any>) {\n if (!this.state.selectAll || this.props.selectOnce) {\n return [false, false];\n }\n if (selectRows.length > 0 && selectRows.length !== this.state.data.length) {\n return [false, true]\n }\n if (selectRows.length === 0) {\n return [false, false]\n } else if (selectRows.length === this.state.data.length) {\n return [true, false]\n }\n return [false, false]\n }\n setRowCheck(checked:boolean,rowIdx:number) {\n let selectRows = this.props.selectOnce?[]:this.state.selectRows.slice()\n\n if (checked) {\n if (!selectRows.includes(rowIdx)) {\n selectRows.push(rowIdx);\n }\n } else {\n if (selectRows.includes(rowIdx)) {\n selectRows.splice(selectRows.indexOf(rowIdx),1);\n }\n }\n return selectRows\n }\n\n selectAll = (checked:boolean) => {\n this.select_all = checked;\n let selectRows:any[] = []\n if (checked) {\n this.state.data.forEach((item,key)=>{\n selectRows.push(key)\n })\n }\n this.setState({\n selectRows: selectRows,\n selectAll: checked,\n selectHalf: false\n },()=>{\n if (typeof this.props.onCheckAll === 'function') {\n this.props.onCheckAll(this.state.selectAll,this.state.data,this.props.jsxId)\n }\n })\n };\n\n clickHandler(row:any, i:number) {\n return () => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(row, i,this.props.jsxId);\n }\n if (this.props.select && this.props.rowCheck) {\n let row:CCheckbox = this.refs['row_'+i] as CCheckbox;\n row.changeHandler(null)\n // this.setRowCheck(!row.getChecked(),i);\n // this.checkAllCheckHalf();\n }\n if (this.props.focus) {\n this.setState({\n focus:i === this.state.focus?-1:i\n })\n }\n }\n }\n\n /**\n * sort\n */\n sortHandler = (e:any) => {\n let dom = e.currentTarget;\n let sort_type = dom.dataset.sort || 'asc';\n this.changeSort(dom, sort_type)\n };\n\n changeSort(dom:HTMLElement, sort_type:string) {\n if (!dom) {\n return\n }\n if (!dom.dataset.field) {\n return\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 if (!child) {\n return\n }\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, this.props.jsxId);\n } else {\n // this.localSort(dom.dataset.field,sort_type)\n }\n }\n\n clearSort(emitEvt:any) {\n if (this.current_sort) {\n let prv = document.querySelector(`#${this.domId}-sort-${this.current_sort}`) as HTMLElement;\n if (!prv) return\n prv.dataset.sort = 'asc';\n prv.classList.add('ck-ctable-sort');\n let prv_child = prv.querySelector('i');\n if (!prv_child) return\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 if (this.props.edit) {\n this.setState({data:this.originalData.slice(0)})\n }\n }\n return true;\n }\n return false;\n }\n\n localSort(field:string, sort_type:string) {\n let desc = sort_type === 'desc';\n let data = this.state.data.slice(0);\n data.sort((a:any, b:any):number => {\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 return 0\n });\n this.setState({data: data});\n }\n\n /**\n * scroll header and total foot\n * @param e\n */\n scrollHandler = (e:any) => {\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:string) {\n return (e:any) => {\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:string, data:any) => {\n switch (field) {\n case \"asc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`) as HTMLElement, 'asc');\n break;\n case \"desc\":\n this.changeSort(document.querySelector(`#${this.domId}-sort-${data.field}`) as HTMLElement, '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:string, field:string, type:string) {\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:any[] = [];\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:string, field:string, type:string) {\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(undefined);\n this.numMenu.hide(undefined);\n if (typeof this.props.onFilter === 'function') {\n this.props.onFilter(text, field, type,this.props.jsxId);\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:string) {\n return (val:any) => {\n let filter = this.state.filter;\n filter[field] = val;\n this.setState({\n filter: filter\n })\n }\n }\n\n selectPageHandler = (page:number) => {\n if (typeof this.props.onSelectPage === 'function') {\n this.props.onSelectPage(page,this.props.jsxId);\n }\n };\n\n /**\n * edit mode\n */\n addNewHandler = (e:any) => {\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<HTMLElement>(`#${this.domId}-edit`)?.previousElementSibling?.querySelector<HTMLInputElement>('input:not([disabled])')?.focus()\n })\n };\n //编辑事件\n editHandler = (e:any, val:any ,row:any) => {\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:number,editData:any) => {\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:number) {\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,this.props.jsxId);\n } else {\n this.deleteRow(row_index)\n }\n }\n\n deleteRow(row_index:number) {\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:number) {\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 /**\n * 得到所有选中的行\n * @returns {*}\n */\n getSelectRows() {\n return this.state.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\n * @param {string} key 对应行数据的KEY值\n * @param {array} list 要选中的数据值\n */\n setSelectRows(key:string, list:any[]) {\n let selectRows:any[] = []\n this.state.data.forEach((row, i) => {\n if (list.includes(row[key])) {\n selectRows.push(i)\n }\n });\n let selectAll = selectRows.length > 1 && selectRows.length === this.state.data.length\n this.setState({\n selectRows: selectRows,\n selectHalf: !selectAll,\n selectAll: selectAll\n })\n }\n\n /**\n * binding column split\n */\n bindSplit() {\n if (this.props.move) {\n this.headerSplits.forEach((split:any) => {\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 as HTMLElement).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:any) => {\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?:string) {\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:any = {};\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,'table-' + this.props.headerTheme);\n }\n return classNames(base, this.props.headClass);\n }\n\n getTableStyles(style?:any) {\n let base:any = {};\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:string) {\n return (e:any)=>{\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:any) => 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:any) => this.split = c} className='ck-split d-none'/>\n </div>\n );\n }\n\n renderHeader() {\n return (\n <div ref={(c:any) => this.tableHeader = c}>\n <table ref={(c:any) => this.table_head = c} id={`table-head-${this.domId}`} className={this.getClasses('')} style={this.getTableStyles(null)}>\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:any) => this.allchk=c} onChange={this.selectAll} checked={this.state.selectAll} half={this.state.selectHalf}/>}\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:any = {\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:any) => this.table_rows = c} id={`table-body-com-${this.domId}`} className='flex-grow-1 rows' onScroll={this.scrollHandler}>\n <table ref={(c:any) => this.table_body = c} id={`table-body-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n {this.state.data.map((row:any, i:number) => {\n if (this.props.edit) {\n return this.renderEditRow(row, i)\n }\n return this.renderRow(row, i,null);\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:any, i:number, parentRow?:any) {\n let checked = this.state.selectRows.indexOf(i) !== -1\n let focus = (i === this.state.focus && this.props.focus)\n let rowClass = focus ? 'ck-table-focus' : checked ? 'ck-table-selected' : undefined \n return (\n <React.Fragment>\n <tr className={rowClass} 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)} checked={checked}/>\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}\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:any, i:number) {\n return (\n <React.Fragment>\n <tr className={this.props.onClick ? 'click-row' : undefined} 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:any, row:any, i:number) {\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 className='d-inline' 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} tabIndex=\"0\"/>\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):undefined}\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??0}\n showPages={this.props.showPages??0} noPage={this.props.edit??false}/>\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:any) => this.tableTotal = c} className='ck-ctable-total'>\n <table ref={(c:any) => this.table_total = c} id={`table-total-${this.domId}`} className={this.getClasses()} style={this.getTableStyles()}>\n <tbody>\n <tr>\n {this.state.select || this.props.edit ?\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:any = {\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;\n if (!this.props.lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n } else {\n if (typeof this.props.lang === 'string') {\n lang = CTableLang[this.props.lang]\n } else {\n lang = this.props.lang\n }\n }\n return <>\n <Menu ref={(c:any) => this.mainMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='me-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item field='' step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n if (!select) return\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='me-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 if (!select) return\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='me-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='me-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item field='' step/>:null}\n {this.is_filter?<Menu.Item field=\"equal\">\n <span className='me-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['Start With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['End With']}</span>\n <Input className='me-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='me-1' style={inputStyle}>{lang['Contain with']}</span>\n <Input className='me-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 field='' 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 field='' 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 field='' step/>:null}\n {this.props.customMenu?this.props.customMenu.map((menu:any)=>{\n return this.explainCustomMenu(menu)\n }):null}\n </Menu>\n </>\n }\n\n renderNumberMenu() {\n let lang;\n if (!this.props.lang) {\n let i18 = i18n.getLang();\n let langStr = typeof lang === 'string'?lang:i18.short;\n lang = CTableLang[langStr];\n } else {\n if (typeof this.props.lang === 'string') {\n lang = CTableLang[this.props.lang]\n } else {\n lang = this.props.lang\n }\n }\n return <>\n <Menu ref={(c:any) => this.numMenu = c} onClick={this.menuClickHandler}>\n <Menu.Item field=\"copy\" onClick={() => {\n document.execCommand(\"copy\");\n }}><Icon className='me-1' icon='copy'/>{lang['Copy']}</Menu.Item>\n {this.is_filter?<Menu.Item field='' step/>:null}\n {this.is_filter?<Menu.Item field='select_filter' onClick={(e, field, data) => {\n let select = document.getSelection();\n if (!select) return\n this.filterHandler(select.toString(), data.field, 'contain');\n }}><Icon className='me-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 if (!select) return\n this.filterHandler(select.toString(), data.field, 'exclude');\n }}><Icon className='me-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='me-1' icon='brush'/>{lang['Clear Filter / Sort']}</span></Menu.Item>:null}\n {this.is_filter?<Menu.Item field='' 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:any) {\n if (menu.children && menu.children instanceof Array) {\n return <Menu.Item field={menu.field} text={menu.text} child>{menu.children.map((item:any)=>{\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:any) {\n e.stopPropagation();\n};\n\nexport default CTable;"],"file":"CTable.js"}