init.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import _ from 'lodash'
  2. import initMainTab from './controls/MainTab'
  3. import initGrid from './controls/grid'
  4. import initTextfield from './controls/input/textfield'
  5. import initToolbar from './controls/toolbar/toolbar'
  6. import initSplitter from './controls/splitter'
  7. import initCombo from './controls/input/combo'
  8. import initSearch from './controls/input/search'
  9. import initRows from './controls/rows'
  10. import initCols from './controls/cols'
  11. import initButton from './controls/button'
  12. import initStores from './controls/stores'
  13. export function init() {
  14. // 引入 filters 过滤插件
  15. Ext.require([
  16. 'Ext.grid.filters.Filters'
  17. ])
  18. // 启用 tooltip 快捷提示
  19. Ext.QuickTips.init();
  20. // 定义日期格式化方法
  21. if (Ext.util && Ext.util.Format) {
  22. Ext.apply(Ext.util.Format, {
  23. dateFormat: 'Y-m-d'
  24. });
  25. }
  26. Ext.define("Ext.locale.zh_CN.picker.Date", {
  27. override: "Ext.picker.Date",
  28. format: "Y-m-d",
  29. });
  30. Ext.define("Ext.locale.zh_CN.form.field.Date", {
  31. override: "Ext.form.field.Date",
  32. format: "Y-m-d",
  33. });
  34. Ext.define("Ext.locale.zh_CN.grid.PropertyColumnModel", {
  35. override: "Ext.grid.PropertyColumnModel",
  36. format: "Y-m-d",
  37. });
  38. Ext.define("Ext.locale.zh_CN.view.AbstractView", {
  39. override: "Ext.view.AbstractView",
  40. loadingText: "读取中..."
  41. });
  42. Ext.define("Ext.locale.zh_CN.grid.header.Container", {
  43. override: "Ext.grid.header.Container",
  44. sortAscText: "正序",
  45. sortDescText: "倒序",
  46. lockText: "锁定列",
  47. unlockText: "解除锁定",
  48. columnsText: "列"
  49. });
  50. /**
  51. * 改变事件的获取方式.
  52. * 具体见: ext-all-debug.js:23216 addListener
  53. * https://docs.sencha.com/extjs/6.6.0/classic/Ext.util.Observable.html#method-addListener
  54. * https://docs.sencha.com/extjs/6.6.0/classic/src/Observable.js.html#Ext.mixin.Observable-method-addListener
  55. */
  56. const _doAddListener = Ext.mixin.Observable.prototype.doAddListener
  57. Ext.mixin.Observable.prototype.doAddListener = function (ename, fn, scope, options, order, caller, manager) {
  58. if (typeof fn === 'string' && _.startsWith(fn, 'scope.')) {
  59. // console.log('doAddListener', ename, fn, scope, options, order, caller, manager)
  60. const vm = this.lookupViewModel()
  61. if (vm && vm.yvanScope) {
  62. scope = vm.yvanScope
  63. fn = scope[fn.substr('scope.'.length)]
  64. }
  65. }
  66. _doAddListener.call(this, ename, fn, scope, options, order, caller, manager)
  67. }
  68. initGrid()
  69. initMainTab()
  70. initTextfield()
  71. initCombo()
  72. initRows()
  73. initCols()
  74. initToolbar()
  75. initSplitter()
  76. initButton()
  77. initStores()
  78. initSearch()
  79. }