vxe-table 3.8.7-beta.3 → 3.8.7-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,22 +5,27 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  use: true,
8
+ setConfig: true,
8
9
  globalConfs: true,
9
10
  t: true,
10
11
  _t: true,
11
12
  v: true,
12
13
  setup: true,
13
14
  config: true,
15
+ setIcon: true,
14
16
  globalStore: true,
15
17
  VXETable: true
16
18
  };
17
19
  exports.VXETable = void 0;
18
20
  exports._t = _t;
19
- exports.setup = exports.globalStore = exports.globalConfs = exports.default = exports.config = void 0;
21
+ exports.setConfig = exports.globalStore = exports.globalConfs = exports.default = exports.config = void 0;
22
+ exports.setIcon = setIcon;
23
+ exports.setup = void 0;
20
24
  exports.t = t;
21
25
  exports.use = use;
22
26
  exports.v = void 0;
23
27
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
28
+ var _domZindex = _interopRequireDefault(require("dom-zindex"));
24
29
  var _conf = _interopRequireDefault(require("../v-x-e-table/src/conf"));
25
30
  var _interceptor = require("./src/interceptor");
26
31
  Object.keys(_interceptor).forEach(function (key) {
@@ -83,18 +88,6 @@ Object.keys(_formats).forEach(function (key) {
83
88
  });
84
89
  });
85
90
  var _validators = require("./src/validators");
86
- var _config = require("./src/config");
87
- Object.keys(_config).forEach(function (key) {
88
- if (key === "default" || key === "__esModule") return;
89
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
90
- if (key in exports && exports[key] === _config[key]) return;
91
- Object.defineProperty(exports, key, {
92
- enumerable: true,
93
- get: function get() {
94
- return _config[key];
95
- }
96
- });
97
- });
98
91
  var _theme = require("./src/theme");
99
92
  var _utils = require("../tools/utils");
100
93
  var _log = require("../tools/log");
@@ -139,6 +132,22 @@ function getExportOrImpotType(types, flag) {
139
132
  });
140
133
  return rest;
141
134
  }
135
+
136
+ /**
137
+ * 全局参数设置
138
+ */
139
+ var setConfig = exports.setConfig = function setConfig(options) {
140
+ if (options) {
141
+ if (options.theme) {
142
+ (0, _theme.setTheme)(options);
143
+ }
144
+ if (options.zIndex) {
145
+ _domZindex.default.setCurrent(options.zIndex);
146
+ }
147
+ _xeUtils.default.merge(_conf.default, options);
148
+ }
149
+ return VXETable;
150
+ };
142
151
  var VXETableConfig = /*#__PURE__*/function () {
143
152
  function VXETableConfig() {
144
153
  _classCallCheck(this, VXETableConfig);
@@ -198,7 +207,7 @@ var setup = exports.setup = function setup(options) {
198
207
  if (process.env.NODE_ENV === 'development') {
199
208
  (0, _log.warnLog)('vxe.error.delFunc', ['setup', 'setConfig']);
200
209
  }
201
- return (0, _config.setConfig)(options);
210
+ return setConfig(options);
202
211
  };
203
212
 
204
213
  /**
@@ -209,15 +218,22 @@ var config = exports.config = function config(options) {
209
218
  if (process.env.NODE_ENV === 'development') {
210
219
  (0, _log.warnLog)('vxe.error.delFunc', ['setup', 'setConfig']);
211
220
  }
212
- return (0, _config.setConfig)(options);
221
+ return setConfig(options);
213
222
  };
223
+ function setIcon(options) {
224
+ if (options) {
225
+ Object.assign(_conf.default.icon, options);
226
+ }
227
+ return VXETable;
228
+ }
214
229
  var globalStore = exports.globalStore = {};
215
230
  var VXETable = exports.VXETable = {
216
231
  v: v,
217
- version: "3.8.7-beta.3",
232
+ version: "3.8.7-beta.4",
218
233
  reg: reg,
219
234
  use: use,
220
- setConfig: _config.setConfig,
235
+ setConfig: setConfig,
236
+ setIcon: setIcon,
221
237
  globalStore: globalStore,
222
238
  interceptor: _interceptor.interceptor,
223
239
  renderer: _renderer.renderer,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,globalConfs:!0,t:!0,_t:!0,v:!0,setup:!0,config:!0,globalStore:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.setup=exports.globalStore=exports.globalConfs=exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_config=require("./src/config"),_theme=(Object.keys(_config).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_config[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _config[e]}})}),require("./src/theme")),_utils=require("../tools/utils"),_log=require("../tools/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var VXETableConfig=function(){return _createClass(function e(){_classCallCheck(this,e)},[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}])}(),globalConfs=exports.globalConfs=new VXETableConfig;function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var v=exports.v="v3",setup=exports.setup=function(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_config.setConfig)(e)},config=exports.config=function(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_config.setConfig)(e)},globalStore=exports.globalStore={},VXETable=exports.VXETable={v:v,version:"3.8.7-beta.3",reg:reg,use:use,setConfig:_config.setConfig,globalStore:globalStore,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,validators:_validators.validators,t:t,_t:_t,config:config,setup:setup,globalConfs:globalConfs},_default=((0,_theme.setTheme)(globalStore),exports.default=VXETable);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,setConfig:!0,globalConfs:!0,t:!0,_t:!0,v:!0,setup:!0,config:!0,setIcon:!0,globalStore:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.setConfig=exports.globalStore=exports.globalConfs=exports.default=exports.config=void 0,exports.setIcon=setIcon,exports.setup=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_domZindex=_interopRequireDefault(require("dom-zindex")),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_theme=require("./src/theme"),_utils=require("../tools/utils"),_log=require("../tools/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var setConfig=exports.setConfig=function(e){return e&&(e.theme&&(0,_theme.setTheme)(e),e.zIndex&&_domZindex.default.setCurrent(e.zIndex),_xeUtils.default.merge(_conf.default,e)),VXETable},VXETableConfig=function(){return _createClass(function e(){_classCallCheck(this,e)},[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}])}(),globalConfs=exports.globalConfs=new VXETableConfig;function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var v=exports.v="v3",setup=exports.setup=function(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),setConfig(e)},config=exports.config=function(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),setConfig(e)};function setIcon(e){return e&&Object.assign(_conf.default.icon,e),VXETable}var globalStore=exports.globalStore={},VXETable=exports.VXETable={v:v,version:"3.8.7-beta.4",reg:reg,use:use,setConfig:setConfig,setIcon:setIcon,globalStore:globalStore,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,validators:_validators.validators,t:t,_t:_t,config:config,setup:setup,globalConfs:globalConfs},_default=((0,_theme.setTheme)(globalStore),exports.default=VXETable);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.8.7-beta.3",
3
+ "version": "3.8.7-beta.4",
4
4
  "description": "一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -2778,14 +2778,15 @@ const Methods = {
2778
2778
  const { delMethod, backMethod } = keyboardOpts
2779
2779
  // 如果是删除键
2780
2780
  if (keyboardOpts.isDel && (selected.row || selected.column)) {
2781
+ const delPaqrams = {
2782
+ row: selected.row,
2783
+ rowIndex: this.getRowIndex(selected.row),
2784
+ column: selected.column,
2785
+ columnIndex: this.getColumnIndex(selected.column),
2786
+ $table: this
2787
+ }
2781
2788
  if (delMethod) {
2782
- delMethod({
2783
- row: selected.row,
2784
- rowIndex: this.getRowIndex(selected.row),
2785
- column: selected.column,
2786
- columnIndex: this.getColumnIndex(selected.column),
2787
- $table: this
2788
- })
2789
+ delMethod(delPaqrams)
2789
2790
  } else {
2790
2791
  setCellValue(selected.row, selected.column, null)
2791
2792
  }
@@ -2805,6 +2806,7 @@ const Methods = {
2805
2806
  // 如果按下 del 键,更新表尾数据
2806
2807
  this.updateFooter()
2807
2808
  }
2809
+ this.emitEvent('cell-delete-value', delPaqrams, evnt)
2808
2810
  } else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
2809
2811
  // 如果树形表格回退键关闭当前行返回父节点
2810
2812
  const { parent: parentRow } = XEUtils.findTree(this.afterFullData, item => item === currentRow, { children: childrenField })
@@ -1,4 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
+ import DomZIndex from 'dom-zindex'
2
3
  import GlobalConfig from '../v-x-e-table/src/conf'
3
4
  import { interceptor } from './src/interceptor'
4
5
  import { renderer } from './src/renderer'
@@ -6,7 +7,6 @@ import { commands } from './src/commands'
6
7
  import { menus } from './src/menus'
7
8
  import { formats } from './src/formats'
8
9
  import { validators } from './src/validators'
9
- import { setConfig } from './src/config'
10
10
  import { setTheme } from './src/theme'
11
11
  import { UtilTools } from '../tools/utils'
12
12
  import { errLog, warnLog } from '../tools/log'
@@ -48,6 +48,22 @@ function getExportOrImpotType (types, flag) {
48
48
  return rest
49
49
  }
50
50
 
51
+ /**
52
+ * 全局参数设置
53
+ */
54
+ export const setConfig = (options) => {
55
+ if (options) {
56
+ if (options.theme) {
57
+ setTheme(options)
58
+ }
59
+ if (options.zIndex) {
60
+ DomZIndex.setCurrent(options.zIndex)
61
+ }
62
+ XEUtils.merge(GlobalConfig, options)
63
+ }
64
+ return VXETable
65
+ }
66
+
51
67
  class VXETableConfig {
52
68
  /**
53
69
  * 获取当前的 zIndex
@@ -113,6 +129,13 @@ export const config = (options) => {
113
129
  return setConfig(options)
114
130
  }
115
131
 
132
+ export function setIcon (options) {
133
+ if (options) {
134
+ Object.assign(GlobalConfig.icon, options)
135
+ }
136
+ return VXETable
137
+ }
138
+
116
139
  export const globalStore = {}
117
140
 
118
141
  export const VXETable = {
@@ -121,6 +144,7 @@ export const VXETable = {
121
144
  reg,
122
145
  use,
123
146
  setConfig,
147
+ setIcon,
124
148
  globalStore,
125
149
  interceptor,
126
150
  renderer,
@@ -144,6 +168,5 @@ export * from './src/renderer'
144
168
  export * from './src/commands'
145
169
  export * from './src/menus'
146
170
  export * from './src/formats'
147
- export * from './src/config'
148
171
 
149
172
  export default VXETable
@@ -25,9 +25,7 @@ export interface VXETableConfigOptions {
25
25
  zIndex?: number;
26
26
  version?: number;
27
27
  emptyCell?: string;
28
- icon?: {
29
- [key: string]: string;
30
- };
28
+ icon?: VxeGlobalIcon;
31
29
  table?: any;
32
30
  grid?: any;
33
31
  export?: {
@@ -54,6 +52,10 @@ export interface VXETableConfigOptions {
54
52
  [key: string]: any;
55
53
  }
56
54
 
55
+ export interface VxeGlobalIcon {
56
+ [ket: string]: string
57
+ }
58
+
57
59
  export type VxeGlobalConfigMethod = (options?: VXETableConfigOptions) => VxeGlobalStore
58
60
 
59
61
  /**
@@ -103,6 +105,8 @@ export const use: VxeGlobalUse
103
105
  */
104
106
  export const setup: VXETableSetupOptions
105
107
 
108
+ export function setIcon(options?: VxeGlobalIcon): VXETableCore
109
+
106
110
  export interface VXETablePluginObject {
107
111
  install(vxetable: VXETableCore, ...options: any[]): void;
108
112
  [key: string]: any;
@@ -121,6 +125,7 @@ export interface VXETableCore {
121
125
  * 设置全局参数/获取所有参数
122
126
  */
123
127
  setConfig: VxeGlobalConfigMethod;
128
+ setIcon: typeof setIcon
124
129
  /**
125
130
  * 读取内部数据
126
131
  */
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setConfig = setConfig;
7
- var _conf = _interopRequireDefault(require("./conf"));
8
- var _domZindex = _interopRequireDefault(require("dom-zindex"));
9
- var _xeUtils = _interopRequireDefault(require("xe-utils"));
10
- var _theme = require("./theme");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- /**
13
- * 全局参数设置
14
- */
15
- function setConfig(options) {
16
- if (options) {
17
- if (options.theme) {
18
- (0, _theme.setTheme)(options);
19
- }
20
- if (options.zIndex) {
21
- _domZindex.default.setCurrent(options.zIndex);
22
- }
23
- }
24
- return _xeUtils.default.merge(_conf.default, options);
25
- }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setConfig=setConfig;var _conf=_interopRequireDefault(require("./conf")),_domZindex=_interopRequireDefault(require("dom-zindex")),_xeUtils=_interopRequireDefault(require("xe-utils")),_theme=require("./theme");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function setConfig(e){return e&&(e.theme&&(0,_theme.setTheme)(e),e.zIndex)&&_domZindex.default.setCurrent(e.zIndex),_xeUtils.default.merge(_conf.default,e)}
@@ -1,19 +0,0 @@
1
- import GlobalConfig from './conf'
2
- import DomZIndex from 'dom-zindex'
3
- import XEUtils from 'xe-utils'
4
- import { setTheme } from './theme'
5
-
6
- /**
7
- * 全局参数设置
8
- */
9
- export function setConfig (options) {
10
- if (options) {
11
- if (options.theme) {
12
- setTheme(options)
13
- }
14
- if (options.zIndex) {
15
- DomZIndex.setCurrent(options.zIndex)
16
- }
17
- }
18
- return XEUtils.merge(GlobalConfig, options)
19
- }