import {
  GridMethods,
  TableMethods,
  TableEditMethods,
  TableValidatorMethods,
  VxeGridConstructor,
} from 'vxe-table';

export const gridComponentMethodKeys: (
  | keyof GridMethods
  | keyof TableMethods
  | keyof TableEditMethods
  | keyof TableValidatorMethods
  | keyof VxeGridConstructor
)[] = [
  // vxe-grid 部分
  'getRefMaps',
  'getComputeMaps',
  'dispatchEvent',
  'commitProxy',
  'getFormItems',
  'getPendingRecords',
  'zoom',
  'isMaximized',
  'maximize',
  'revert',
  'getProxyInfo',

  // vxe-table和vxe-grid公共部分
  'clearAll',
  'syncData',
  'updateData',
  'loadData',
  'reloadData',
  'reloadRow',
  'loadColumn',
  'reloadColumn',
  'getRowNode',
  'getColumnNode',
  'getRowIndex',
  'getVTRowIndex',
  'getVMRowIndex',
  'getColumnIndex',
  'getVTColumnIndex',
  'getVMColumnIndex',
  'createData',
  'createRow',
  'revertData',
  'clearData',
  'isInsertByRow',
  'isUpdateByRow',
  'getColumns',
  'getColumnById',
  'getColumnByField',
  'getTableColumn',
  'getData',
  'getCheckboxRecords',
  'getParentRow',
  'getRowSeq',
  'getRowById',
  'getRowid',
  'getTableData',
  'hideColumn',
  'showColumn',
  'resetColumn',
  'refreshColumn',
  'refreshScroll',
  'recalculate',
  'closeTooltip',
  'isAllCheckboxChecked',
  'isAllCheckboxIndeterminate',
  'getCheckboxIndeterminateRecords',
  'setCheckboxRow',
  'isCheckedByCheckboxRow',
  'isIndeterminateByCheckboxRow',
  'toggleCheckboxRow',
  'setAllCheckboxRow',
  'getRadioReserveRecord',
  'clearRadioReserve',
  'getCheckboxReserveRecords',
  'clearCheckboxReserve',
  'toggleAllCheckboxRow',
  'clearCheckboxRow',
  'setCurrentRow',
  'isCheckedByRadioRow',
  'setRadioRow',
  'clearCurrentRow',
  'clearRadioRow',
  'getCurrentRecord',
  'getRadioRecord',
  'getCurrentColumn',
  'setCurrentColumn',
  'clearCurrentColumn',
  'sort',
  'clearSort',
  'isSort',
  'getSortColumns',
  'closeFilter',
  'isFilter',
  'isRowExpandLoaded',
  'clearRowExpandLoaded',
  'reloadRowExpand',
  'reloadRowExpand',
  'toggleRowExpand',
  'setAllRowExpand',
  'setRowExpand',
  'isExpandByRow',
  'clearRowExpand',
  'clearRowExpandReserve',
  'getRowExpandRecords',
  'getTreeExpandRecords',
  'isTreeExpandLoaded',
  'clearTreeExpandLoaded',
  'reloadTreeExpand',
  'reloadTreeChilds',
  'toggleTreeExpand',
  'setAllTreeExpand',
  'setTreeExpand',
  'isTreeExpandByRow',
  'clearTreeExpand',
  'clearTreeExpandReserve',
  'getScroll',
  'scrollTo',
  'scrollToRow',
  'scrollToColumn',
  'clearScroll',
  'updateFooter',
  'updateStatus',
  'setMergeCells',
  'removeInsertRow',
  'removeMergeCells',
  'getMergeCells',
  'clearMergeCells',
  'setMergeFooterItems',
  'removeMergeFooterItems',
  'getMergeFooterItems',
  'clearMergeFooterItems',
  'openTooltip',
  'focus',
  'blur',
  'connect',

  // vxe-table-edit部分
  'insert',
  'insertAt',
  'insertNextAt',
  'remove',
  'removeCheckboxRow',
  'removeRadioRow',
  'removeCurrentRow',
  'getRecordset',
  'getInsertRecords',
  'getRemoveRecords',
  'getUpdateRecords',
  'getEditRecord',
  'getSelectedCell',
  'clearSelected',
  'isEditByRow',
  'setEditRow',
  'setEditCell',
  'setSelectCell',
  'clearEdit',

  // vxe-table-validator
  'clearValidate',
  'fullValidate',
  'validate',

  //... 如有缺少在此处追加
  // xxx
];
