@clake/react-bootstrap4-window 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/CTable.js.map CHANGED
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v1.0.9 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.1.0 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-08-23T10:03:50+0800
3
+ * 2024-11-07T11:27:09+0800
4
4
  */
5
- {"version":3,"sources":["CTable.tsx"],"names":["numberCondition","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","isFull","mainDom","classList","remove","fullButton","add","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","child","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","test","condition","hide","undefined","localFilter","is_clean","setValue","equal","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","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","newBar","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","rowClass","clickHandler","columnStyle","align","color","bgColor","backgroundColor","cloneElement","disabled","onDoubleClick","renderEditComponent","onFormat","addNewHandler","editHandler","combo","comboData","calendarFormat","chk","hasOwnProperty","calcLocalTotal","foot","selectPageHandler","showPages","fullHandler","lang","i18","i18n","getLang","langStr","CTableLang","menuClickHandler","execCommand","getSelection","filterHandler","toString","clearFilter","inputStyle","filterChangeHandler","stopEvent","nodel","customMenu","explainCustomMenu","m","String","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\nlet numberCondition:{[propName:string]:string} = {\n '=':'eq',\n '!=':'ne',\n '>':'gt',\n '>=':'gte',\n '<=':'lte',\n '<':'lt'\n};\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 newBar ?: boolean\n //是否可删除\n nodel ?: 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:Props = {\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 total : null,\n lang : 'en',\n allSelect : true,\n rowCheck : false,\n focus: true,\n newBar:true,\n nodel: false,\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 fullButton: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 isFull:boolean\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 this.filter = {};\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 this.isFull = false;\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 }\n this.originalData = Common.Clone(nextProps.data);\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 condition: '',\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 Common.map(this.filter,(item:Input)=>{\n item.setValue('')\n })\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: '',\n equal :'',\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 fullHandler = ()=>{\n if (this.isFull) {\n this.mainDom.classList.remove('ck-ctable-full')\n this.fullButton.querySelector('i')?.classList.remove(\"fa-compress\")\n this.fullButton.querySelector('i')?.classList.add(\"fa-expand\")\n } else {\n this.mainDom.classList.add('ck-ctable-full')\n this.fullButton.querySelector('i')?.classList.add(\"fa-compress\")\n this.fullButton.querySelector('i')?.classList.remove(\"fa-expand\")\n }\n this.isFull = !this.isFull\n }\n\n //****************************\n\n /**\n * 得到所有选中的行\n */\n getSelectRows() {\n return this.state.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\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.props.newBar ? 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 <>\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 //set color\n if (item.props.color) {\n style.color = item.props.color;\n }\n if (item.props.bgColor) {\n style.backgroundColor = item.props.bgColor;\n }\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 </>\n );\n }\n\n renderEditRow(row:any, i:number) {\n return (\n <>\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 </>\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 className='ck-ctable-foot d-flex align-items-center'>\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 ref={(c:any)=>{this.fullButton = c}} className='full-btn align-self-center ms-auto pe-2 text-primary' onClick={()=>{\n this.fullHandler()\n }}><Icon icon='expand'/></div>\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 {this.state.filter.equal}\n <span className='me-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input ref={(c:Input)=>this.filter.equal=c} 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 ref={(c:Input)=>this.filter.start=c} 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 ref={(c:Input)=>this.filter.end=c} 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 ref={(c:Input)=>this.filter.contain=c} 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 && (!this.props.nodel || this.props.newBar) ? <Menu.Item field='' step/> : null}\n {this.props.edit && !this.props.nodel ? <Menu.Item field=\"delete_row\">{lang['Delete Row']}</Menu.Item> : null}\n {this.props.edit && this.props.newBar ? <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 // MARK:-生成数字菜单\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 \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 let reg = /(>=|<=|<|>|=|!=)+\\s*(\\d+)/i\n let m = String(this.state.filter.condition).match(reg)\n if (m) {\n this.filterHandler(m[2], this.numMenu.data.field, numberCondition[m[1]]); \n } else {\n this.filterHandler(this.state.filter.condition, this.numMenu.data.field, 'condition'); \n }\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"}
5
+ {"version":3,"sources":["CTable.tsx"],"names":["numberCondition","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","isFull","mainDom","classList","remove","fullButton","add","fullButton2","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","child","emitEvt","prv","prv_child","desc","dataType","preventDefault","stopPropagation","show","evt","numMenu","RegExp","test","condition","hide","undefined","localFilter","is_clean","setValue","equal","list","row_index","onDelete","deleteRow","move","split","drag","dragColumnLeft","dragWidth","Drag","dragDom","eventDom","xy","GetDomXY","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","conDom","getBodyClasses","renderHeader","renderRows","renderTotal","renderFoot","getClasses","getTableStyles","getHeaderClasses","textAlign","sort_icon","menuContextHandler","sortHandler","scrollHandler","renderEditRow","renderRow","newBar","renderEditAddRow","menu","renderMenu","renderNumberMenu","parentRow","rowClass","clickHandler","columnStyle","align","color","bgColor","backgroundColor","cloneElement","disabled","onDoubleClick","renderEditComponent","onFormat","addNewHandler","editHandler","combo","comboData","calendarFormat","chk","hasOwnProperty","calcLocalTotal","foot","selectPageHandler","showPages","fullHandler","lang","i18","i18n","getLang","langStr","CTableLang","menuClickHandler","execCommand","getSelection","filterHandler","toString","clearFilter","inputStyle","filterChangeHandler","stopEvent","nodel","customMenu","explainCustomMenu","m","String","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\nlet numberCondition:{[propName:string]:string} = {\n '=':'eq',\n '!=':'ne',\n '>':'gt',\n '>=':'gte',\n '<=':'lte',\n '<':'lt'\n};\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 newBar ?: boolean\n //是否可删除\n nodel ?: 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:Props = {\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 total : null,\n lang : 'en',\n allSelect : true,\n rowCheck : false,\n focus: true,\n newBar:true,\n nodel: false,\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 fullButton:HTMLElement\n fullButton2:HTMLElement\n split:HTMLElement\n mainDom:HTMLElement\n conDom: HTMLElement\n mainMenu:Menu\n numMenu:Menu\n drag: Drag\n dragColumnLeft:number\n dragWidth:number\n allchk:CCheckbox\n isFull:boolean\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 this.filter = {};\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 this.isFull = false;\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 }\n this.originalData = Common.Clone(nextProps.data);\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 condition: '',\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 Common.map(this.filter,(item:Input)=>{\n item.setValue('')\n })\n this.setState({\n filter: {\n start : '',\n end : '',\n contain: '',\n equal :'',\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 fullHandler = ()=>{\n if (this.isFull) {\n this.mainDom.classList.remove('ck-ctable-full')\n this.fullButton.querySelector('i')?.classList.remove(\"fa-compress\")\n this.fullButton.querySelector('i')?.classList.add(\"fa-expand\")\n this.fullButton2.classList.add('d-none')\n this.mainDom.querySelector('.ck-ctable-body')?.classList.remove('full-border-up')\n this.mainDom.querySelector('.ck-ctable-foot')?.classList.remove('full-border-bottom')\n } else {\n this.mainDom.classList.add('ck-ctable-full')\n this.fullButton.querySelector('i')?.classList.add(\"fa-compress\")\n this.fullButton.querySelector('i')?.classList.remove(\"fa-expand\")\n this.fullButton2.classList.remove('d-none')\n this.mainDom.querySelector('.ck-ctable-body')?.classList.add('full-border-up')\n this.mainDom.querySelector('.ck-ctable-foot')?.classList.add('full-border-bottom')\n }\n this.isFull = !this.isFull\n }\n\n //****************************\n\n /**\n * 得到所有选中的行\n */\n getSelectRows() {\n return this.state.selectRows.map((item)=>{\n return this.state.data[item];\n });\n }\n\n /**\n * 设置选中的行\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 ref={(c:any) => this.conDom = c} 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.props.newBar ? 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 <>\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 //set color\n if (item.props.color) {\n style.color = item.props.color;\n }\n if (item.props.bgColor) {\n style.backgroundColor = item.props.bgColor;\n }\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 </>\n );\n }\n\n renderEditRow(row:any, i:number) {\n return (\n <>\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 </>\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 className='ck-ctable-foot d-flex align-items-center'>\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 ref={(c:any)=>{this.fullButton = c}} className='full-btn align-self-center ms-auto pe-2 text-primary' onClick={()=>{\n this.fullHandler()\n }}><Icon icon='expand'/></div>\n <div ref={(c:any)=>{this.fullButton2 = c}} className='right-full-btn d-none' onClick={()=>{\n this.fullHandler()\n }}><Icon icon='times'/></div>\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 {this.state.filter.equal}\n <span className='me-1' style={inputStyle}>{lang['Equal With']}</span>\n <Input ref={(c:Input)=>this.filter.equal=c} 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 ref={(c:Input)=>this.filter.start=c} 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 ref={(c:Input)=>this.filter.end=c} 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 ref={(c:Input)=>this.filter.contain=c} 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 && (!this.props.nodel || this.props.newBar) ? <Menu.Item field='' step/> : null}\n {this.props.edit && !this.props.nodel ? <Menu.Item field=\"delete_row\">{lang['Delete Row']}</Menu.Item> : null}\n {this.props.edit && this.props.newBar ? <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 // MARK:-生成数字菜单\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 \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 let reg = /(>=|<=|<|>|=|!=)+\\s*(\\d+)/i\n let m = String(this.state.filter.condition).match(reg)\n if (m) {\n this.filterHandler(m[2], this.numMenu.data.field, numberCondition[m[1]]); \n } else {\n this.filterHandler(this.state.filter.condition, this.numMenu.data.field, 'condition'); \n }\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"}
@@ -1,6 +1,6 @@
1
- /* @clake/react-bootstrap4-window v1.0.9 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.1.0 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-08-23T10:03:50+0800
3
+ * 2024-11-07T11:27:09+0800
4
4
  */
5
5
  "use strict";
6
6