@clake/react-bootstrap4-window 0.7.0 → 0.7.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.
- package/dist/react-bootstrap4-window.js +3 -3
- package/lib/CTable.js +36 -23
- package/lib/CTable.js.map +3 -3
- package/lib/CTableInput.js +2 -2
- package/lib/CTableInput.js.map +2 -2
- package/lib/Drag.js +2 -2
- package/lib/Drag.js.map +2 -2
- package/lib/IconButton.js +2 -2
- package/lib/IconButton.js.map +2 -2
- package/lib/PageBar.js +2 -2
- package/lib/PageBar.js.map +2 -2
- package/lib/TopMenu.js +2 -2
- package/lib/TopMenu.js.map +2 -2
- package/lib/WCalendar.js +2 -2
- package/lib/WCalendar.js.map +2 -2
- package/lib/WCombo.js +2 -2
- package/lib/WCombo.js.map +2 -2
- package/lib/WModal.js +16 -11
- package/lib/WModal.js.map +3 -3
- package/lib/Window.js +2 -2
- package/lib/Window.js.map +2 -2
- package/lib/WindowGroup.js +2 -2
- package/lib/WindowGroup.js.map +2 -2
- package/lib/css/WModal.less +2 -2
- package/lib/i18n/CTable.js +2 -2
- package/lib/i18n/CTable.js.map +2 -2
- package/lib/index.js +2 -2
- package/lib/index.js.map +2 -2
- package/package.json +1 -1
package/lib/CTable.js.map
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* @clake/react-bootstrap4-window v0.7.
|
|
1
|
+
/* @clake/react-bootstrap4-window v0.7.1 | by Clake
|
|
2
2
|
* Copyright (c) 2024 Clake,
|
|
3
|
-
* 2024-03-
|
|
3
|
+
* 2024-03-13T11:37:05+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","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","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","allchk","selectOnce","rowIdx","splice","onClick","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","setChecked","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","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 selectAll: false,\n selectHalf: false,\n selectRows: []\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 (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 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 row = this.refs['row_'+rowIdx];\n let selectRows = this.props.selectOnce?[]:this.state.selectRows.slice()\n if (checked) {\n if (selectRows.indexOf(rowIdx) === -1) {\n selectRows.push(rowIdx);\n }\n // ReactDOM.findDOMNode(row).parentNode.parentNode.classList.add('ck-table-selected');\n } else {\n if (selectRows.indexOf(rowIdx) !== -1) {\n selectRows.splice(this.selectRows.indexOf(rowIdx),1);\n }\n // ReactDOM.findDOMNode(row).parentNode.parentNode.classList.remove('ck-table-selected');\n }\n // this.setState({selectRows: selectRows});\n return selectRows\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 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 };\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 /**\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} 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 return (\n <React.Fragment>\n <tr className={checked ? 'ck-table-selected' : 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)} 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 = 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,>,>=,<,<=,=</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"}
|
|
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","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","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","allchk","selectOnce","rowIdx","splice","onClick","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","setChecked","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","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 selectAll: false,\n selectHalf: false,\n selectRows: []\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 (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 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 row = this.refs['row_'+rowIdx];\n let selectRows = this.props.selectOnce?[]:this.state.selectRows.slice()\n if (checked) {\n if (selectRows.indexOf(rowIdx) === -1) {\n selectRows.push(rowIdx);\n }\n // ReactDOM.findDOMNode(row).parentNode.parentNode.classList.add('ck-table-selected');\n } else {\n if (selectRows.indexOf(rowIdx) !== -1) {\n selectRows.splice(this.selectRows.indexOf(rowIdx),1);\n }\n // ReactDOM.findDOMNode(row).parentNode.parentNode.classList.remove('ck-table-selected');\n }\n // this.setState({selectRows: selectRows});\n return selectRows\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 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 };\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 /**\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} 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 return (\n <React.Fragment>\n <tr className={checked ? 'ck-table-selected' : 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)} 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,>,>=,<,<=,=</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 lang : 'en'\n}\n\nexport default CTable;"],"file":"CTable.js"}
|
package/lib/CTableInput.js
CHANGED
package/lib/CTableInput.js.map
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* @clake/react-bootstrap4-window v0.7.
|
|
1
|
+
/* @clake/react-bootstrap4-window v0.7.1 | by Clake
|
|
2
2
|
* Copyright (c) 2024 Clake,
|
|
3
|
-
* 2024-03-
|
|
3
|
+
* 2024-03-13T11:37:05+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