vxe-table.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import XEUtils from 'xe-utils/ctor'
  2. import VXETable from './v-x-e-table'
  3. import Table from './table'
  4. import Column from './column'
  5. import Header from './header'
  6. import Footer from './footer'
  7. import Filter from './filter'
  8. import Loading from './loading'
  9. import Grid from './grid'
  10. import Menu from './menu'
  11. import Toolbar from './toolbar'
  12. import Pager from './pager'
  13. import Checkbox from './checkbox'
  14. import Radio from './radio'
  15. import Input from './input'
  16. import Textarea from './textarea'
  17. import Button from './button'
  18. import Modal from './modal'
  19. import Tooltip from './tooltip'
  20. import Form from './form'
  21. import Select from './select'
  22. import Switch from './switch'
  23. import List from './list'
  24. import Pulldown from './pulldown'
  25. import Edit from './edit'
  26. import Export from './export'
  27. import Keyboard from './keyboard'
  28. import Validator from './validator'
  29. import Resize from './resize'
  30. import zhCN from './locale/lang/zh-CN'
  31. // 按需加载的组件
  32. const components = [
  33. // 模块
  34. Column,
  35. Header,
  36. Footer,
  37. Filter,
  38. Loading,
  39. Grid,
  40. Menu,
  41. Toolbar,
  42. Pager,
  43. Checkbox,
  44. Radio,
  45. Input,
  46. Textarea,
  47. Button,
  48. Modal,
  49. Tooltip,
  50. Form,
  51. Select,
  52. Switch,
  53. List,
  54. Pulldown,
  55. Edit,
  56. Export,
  57. Keyboard,
  58. Validator,
  59. Resize,
  60. // 核心
  61. Table
  62. ]
  63. // 默认安装
  64. function install (Vue, options) {
  65. if (XEUtils.isPlainObject(options)) {
  66. VXETable.setup(options)
  67. }
  68. components.map(component => component.install(Vue))
  69. }
  70. // 默认中文
  71. VXETable.setup({
  72. i18n: XEUtils.toFormatString ? (key, args) => XEUtils.toFormatString(XEUtils.get(zhCN, key), args) : (key, args) => XEUtils.template(XEUtils.get(zhCN, key), args, { tmplRE: /\{([.\w[\]\s]+)\}/g })
  73. })
  74. VXETable.install = install
  75. if (typeof window !== 'undefined' && window.Vue && window.Vue.use) {
  76. window.Vue.use(VXETable)
  77. }
  78. export * from './v-x-e-table'
  79. export * from './column'
  80. export * from './header'
  81. export * from './body'
  82. export * from './footer'
  83. export * from './filter'
  84. export * from './loading'
  85. export * from './grid'
  86. export * from './menu'
  87. export * from './toolbar'
  88. export * from './pager'
  89. export * from './checkbox'
  90. export * from './radio'
  91. export * from './input'
  92. export * from './textarea'
  93. export * from './button'
  94. export * from './modal'
  95. export * from './tooltip'
  96. export * from './form'
  97. export * from './select'
  98. export * from './switch'
  99. export * from './list'
  100. export * from './pulldown'
  101. export * from './edit'
  102. export * from './export'
  103. export * from './keyboard'
  104. export * from './validator'
  105. export * from './resize'
  106. export * from './table'
  107. export default VXETable