import Vue from 'vue'
import VXETable from 'vxe-table'
import iconPicker from 'e-icon-picker';
import ElementUI from 'element-ui';
import antd from 'ant-design-vue'
import 'ant-design-vue/dist/antd.min.css'
import { i18n } from "@/utils/i18ns";

import 'xe-utils'
import 'vxe-table/lib/style.min.css'
import "e-icon-picker/lib/symbol.js"; //基本彩色图标库
import 'e-icon-picker/lib/index.css'; // 基本样式，包含基本图标
import 'font-awesome/css/font-awesome.min.css'; //font-awesome 图标库
import './table-formatter'
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(iconPicker, { FontAwesome: true, ElementUI: true, eIcon: true, eIconSymbol: true });
Vue.use(ElementUI);
Vue.use(antd);

VXETable.setup({
  size: 'medium', // 全局尺寸 medium, small, mini
  zIndex: 100, // 全局 zIndex 起始值，如果项目的的 z-index 样式值过大时就需要跟随设置更大，避免被遮挡
  version: 0, // 版本号，对于某些带数据缓存的功能有用到，上升版本号可以用于重置数据
  table: {
    showHeader: true,
    keepSource: true,
    showOverflow: true,
    showHeaderOverflow: false,
    showFooterOverflow: true,
    highlightHoverRow: true,
    highlightCurrentRow: true,
    autoResize: true,
    syncResize: true,
    rowKey: true,
    rowId: 'id', // 行数据的唯一主键字段名
    resizable: true,
    border: true,
    tooltipConfig: {
      theme: 'dark',
      enterable: true,
      showAll: false,
      enterDelay: 200,
    },
  },
  pager: {
    size: null,
    autoHidden: true,
    pageSize: 20,
    pagerCount: 8,
    pageSizes: [ 10, 15, 20, 50, 100, 200, 300 ],
    layouts: [
      'PrevJump',
      'PrevPage',
      'Jump',
      'PageCount',
      'NextPage',
      'NextJump',
      'Sizes',
      'Total',
      "PrevPage",
      "Number",
      "JumpNumber",
      "NextPage",
      "NextJump",
      "FullJump"
    ]
  },
  toolbar: {
    size: "small",
    export: {
      types: [ 'csv', 'html', 'xml', 'txt' ]
    },
    buttons: []
  },
  modal: {
    size: 'mini',
    minWidth: 340,
    minHeight: 200,
    lockView: true,
    mask: true,
    duration: 3000,
    // marginSize: 8,
    dblclickZoom: true,
    showTitleOverflow: true,
    storage: false
  }
  // 集成国际化（将对列头、校验提示..进行自动翻译）
  // translate: key => i18n.t(key)
});
Vue.use(VXETable, {
  // 对组件内置的提示语进行国际化翻译
  i18n: (key, args) => i18n.t(key, args),
  // 如果不使用 vue-i18n 场景，则需要自行转义字符串语法: '{xx}'，例如：
  // i18n: (key, args) => XEUtils.template(i18n.t(key, args), args, { tmplRE: /\{([.\w[\]\s]+)\}/g })
});
Vue.use(VXETable);
