init.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import _ from 'lodash'
  2. import initComponent from './controls/component'
  3. import initMainTab from './controls/MainTab'
  4. import initPanel from './controls/panel'
  5. import initGrid from './controls/grid'
  6. import initTextfield from './controls/input/textfield'
  7. import initToolbar from './controls/toolbar/toolbar'
  8. import initSplitter from './controls/splitter'
  9. import initCombo from './controls/input/combo'
  10. import initSearch from './controls/input/search'
  11. import initDate from './controls/input/datefield'
  12. import initNumber from './controls/input/numberfield'
  13. import initCheckbox from './controls/input/checkbox'
  14. import initCheckboxGroup from './controls/input/checkboxgroup'
  15. import initRadio from './controls/input/radio'
  16. import initRadioGroup from './controls/input/radiogroup'
  17. import initFieldset from './controls/fieldset'
  18. import initCombotree from './controls/input/combotree'
  19. import initPickerPlus from './controls/input/pickerplus'
  20. import initCombogrid from './controls/input/combogrid'
  21. import initRows from './controls/rows'
  22. import initCols from './controls/cols'
  23. import initButton from './controls/button'
  24. import initStores from './controls/stores'
  25. import {lookupFn, lookupScope} from "./lib/lib"
  26. import * as SystemLib from './lib/systemLib'
  27. import './lib/fix'
  28. export function init() {
  29. // 引入 filters 过滤插件
  30. Ext.require([
  31. 'Ext.grid.filters.Filters'
  32. ])
  33. // 启用 tooltip 快捷提示
  34. Ext.QuickTips.init();
  35. // 定义日期格式化方法
  36. if (Ext.util && Ext.util.Format) {
  37. Ext.apply(Ext.util.Format, {
  38. dateFormat: 'Y-m-d'
  39. });
  40. }
  41. Ext.define("Ext.locale.zh_CN.picker.Date", {
  42. override: "Ext.picker.Date",
  43. format: "Y-m-d",
  44. });
  45. Ext.define("Ext.locale.zh_CN.form.field.Date", {
  46. override: "Ext.form.field.Date",
  47. format: "Y-m-d",
  48. });
  49. Ext.define("Ext.locale.zh_CN.grid.PropertyColumnModel", {
  50. override: "Ext.grid.PropertyColumnModel",
  51. format: "Y-m-d",
  52. });
  53. Ext.define("Ext.locale.zh_CN.view.AbstractView", {
  54. override: "Ext.view.AbstractView",
  55. loadingText: "读取中..."
  56. });
  57. Ext.LoadMask.prototype.msg = '请稍后...'
  58. Ext.define("Ext.locale.zh_CN.grid.header.Container", {
  59. override: "Ext.grid.header.Container",
  60. sortAscText: "正序",
  61. sortDescText: "倒序",
  62. lockText: "锁定列",
  63. unlockText: "解除锁定",
  64. columnsText: "列"
  65. });
  66. /**
  67. * 改变事件的获取方式.
  68. * 具体见: ext-all-debug.js:23216 addListener
  69. * https://docs.sencha.com/extjs/6.6.0/classic/Ext.util.Observable.html#method-addListener
  70. * https://docs.sencha.com/extjs/6.6.0/classic/src/Observable.js.html#Ext.mixin.Observable-method-addListener
  71. */
  72. const _doAddListener = Ext.mixin.Observable.prototype.doAddListener
  73. Ext.mixin.Observable.prototype.doAddListener = function (ename, fn, scope, options, order, caller, manager) {
  74. if (typeof fn === 'string' &&
  75. (_.startsWith(fn, 'scope.') ||
  76. _.startsWith(fn, 'system.') ||
  77. _.startsWith(fn, 'format.')
  78. )) {
  79. if (window["IS_DESIGN_MODE"]) {
  80. fn = Ext.emptyFn
  81. } else {
  82. // console.log('doAddListener', ename, fn, scope, options, order, caller, manager)
  83. // const vm = this.lookupViewModel()
  84. // if (vm && vm.yvanScope) {
  85. // scope = vm.yvanScope
  86. // fn = scope[fn.substr('scope.'.length)]
  87. // }
  88. scope = lookupScope(this)
  89. fn = lookupFn(scope, fn)
  90. }
  91. }
  92. _doAddListener.call(this, ename, fn, scope, options, order, caller, manager)
  93. }
  94. // 将 SystemLib 扩展到 window.system 下
  95. if (!window['system']) {
  96. window['system'] = {}
  97. }
  98. _.extend(window['system'], SystemLib)
  99. initComponent()
  100. initPanel()
  101. initGrid()
  102. initMainTab()
  103. initTextfield()
  104. initCombo()
  105. initRows()
  106. initCols()
  107. initToolbar()
  108. initSplitter()
  109. initButton()
  110. initStores()
  111. initSearch()
  112. initDate()
  113. initNumber()
  114. initCheckbox()
  115. initCheckboxGroup()
  116. initRadio()
  117. initRadioGroup()
  118. initFieldset()
  119. initCombotree()
  120. initPickerPlus()
  121. initCombogrid()
  122. }