vxe-table 3.8.21 → 3.8.23

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.
Files changed (189) hide show
  1. package/helper/vetur/attributes.json +1 -1966
  2. package/helper/vetur/tags.json +1 -648
  3. package/lib/button/src/button.js +4 -2
  4. package/lib/button/src/button.min.js +1 -1
  5. package/lib/button/style/style.css +11 -0
  6. package/lib/button/style/style.min.css +1 -1
  7. package/lib/button-group/style/style.css +1 -0
  8. package/lib/checkbox/style/style.css +1 -0
  9. package/lib/checkbox-group/style/style.css +1 -0
  10. package/lib/colgroup/style/style.css +1 -0
  11. package/lib/column/style/style.css +1 -0
  12. package/lib/custom/src/panel.js +157 -71
  13. package/lib/custom/src/panel.min.js +1 -1
  14. package/lib/custom/style/style.css +19 -34
  15. package/lib/custom/style/style.min.css +1 -1
  16. package/lib/edit/style/style.css +1 -0
  17. package/lib/export/src/export-panel.js +7 -1
  18. package/lib/export/src/export-panel.min.js +1 -1
  19. package/lib/export/style/style.css +1 -0
  20. package/lib/filter/style/style.css +1 -0
  21. package/lib/form/src/form.js +0 -3
  22. package/lib/form/src/form.min.js +1 -1
  23. package/lib/form/style/style.css +1 -0
  24. package/lib/form-gather/style/style.css +1 -0
  25. package/lib/form-item/style/style.css +1 -0
  26. package/lib/grid/style/style.css +2 -0
  27. package/lib/grid/style/style.min.css +1 -1
  28. package/lib/icon/style/style.css +4 -2
  29. package/lib/icon/style/style.min.css +4 -2
  30. package/lib/index.css +1 -1
  31. package/lib/index.umd.js +4561 -4261
  32. package/lib/index.umd.min.js +1 -1
  33. package/lib/input/src/input.js +9 -2
  34. package/lib/input/src/input.min.js +1 -1
  35. package/lib/input/style/style.css +4 -3
  36. package/lib/input/style/style.min.css +1 -1
  37. package/lib/keyboard/style/style.css +1 -0
  38. package/lib/list/style/style.css +1 -0
  39. package/lib/loading/style/style.css +1 -0
  40. package/lib/locale/lang/en-US.js +201 -9
  41. package/lib/locale/lang/en-US.min.js +1 -1
  42. package/lib/locale/lang/en-US.umd.js +201 -9
  43. package/lib/locale/lang/es-ES.js +202 -10
  44. package/lib/locale/lang/es-ES.min.js +1 -1
  45. package/lib/locale/lang/es-ES.umd.js +202 -10
  46. package/lib/locale/lang/ja-JP.js +214 -22
  47. package/lib/locale/lang/ja-JP.min.js +1 -1
  48. package/lib/locale/lang/ja-JP.umd.js +214 -22
  49. package/lib/locale/lang/pt-BR.js +201 -9
  50. package/lib/locale/lang/pt-BR.min.js +1 -1
  51. package/lib/locale/lang/pt-BR.umd.js +201 -9
  52. package/lib/locale/lang/zh-CN.js +196 -4
  53. package/lib/locale/lang/zh-CN.min.js +1 -1
  54. package/lib/locale/lang/zh-CN.umd.js +196 -4
  55. package/lib/locale/lang/zh-HK.min.js +1 -1
  56. package/lib/locale/lang/zh-HK.umd.js +200 -8
  57. package/lib/locale/lang/zh-MO.min.js +1 -1
  58. package/lib/locale/lang/zh-MO.umd.js +200 -8
  59. package/lib/locale/lang/zh-TC.js +200 -8
  60. package/lib/locale/lang/zh-TC.min.js +1 -1
  61. package/lib/locale/lang/zh-TC.umd.js +200 -8
  62. package/lib/locale/lang/zh-TW.min.js +1 -1
  63. package/lib/locale/lang/zh-TW.umd.js +200 -8
  64. package/lib/menu/src/panel.js +24 -8
  65. package/lib/menu/src/panel.min.js +1 -1
  66. package/lib/menu/style/style.css +11 -27
  67. package/lib/menu/style/style.min.css +1 -1
  68. package/lib/modal/style/style.css +4 -0
  69. package/lib/modal/style/style.min.css +1 -1
  70. package/lib/optgroup/style/style.css +1 -0
  71. package/lib/option/style/style.css +1 -0
  72. package/lib/pager/src/pager.js +29 -25
  73. package/lib/pager/src/pager.min.js +1 -1
  74. package/lib/pager/style/style.css +2 -19
  75. package/lib/pager/style/style.min.css +1 -1
  76. package/lib/pulldown/style/style.css +3 -1
  77. package/lib/pulldown/style/style.min.css +1 -1
  78. package/lib/radio/style/style.css +1 -0
  79. package/lib/radio-button/style/style.css +1 -0
  80. package/lib/radio-group/style/style.css +1 -0
  81. package/lib/select/src/select.js +5 -4
  82. package/lib/select/src/select.min.js +1 -1
  83. package/lib/select/style/style.css +2 -0
  84. package/lib/select/style/style.min.css +1 -1
  85. package/lib/style.css +1 -1
  86. package/lib/style.min.css +1 -1
  87. package/lib/switch/style/style.css +1 -0
  88. package/lib/table/src/header.js +4 -3
  89. package/lib/table/src/header.min.js +1 -1
  90. package/lib/table/src/methods.js +33 -46
  91. package/lib/table/src/methods.min.js +1 -1
  92. package/lib/table/style/style.css +17 -10
  93. package/lib/table/style/style.min.css +1 -1
  94. package/lib/textarea/style/style.css +1 -0
  95. package/lib/toolbar/style/style.css +1 -0
  96. package/lib/tools/log.js +1 -1
  97. package/lib/tools/log.min.js +1 -1
  98. package/lib/tooltip/style/style.css +1 -0
  99. package/lib/v-x-e-table/index.js +1 -1
  100. package/lib/v-x-e-table/index.min.js +1 -1
  101. package/lib/v-x-e-table/src/conf.js +1 -0
  102. package/lib/v-x-e-table/src/conf.min.js +1 -1
  103. package/lib/v-x-e-table/style/style.css +3 -1
  104. package/lib/v-x-e-table/style/style.min.css +1 -1
  105. package/lib/validator/style/style.css +1 -0
  106. package/lib/vxe-button/style/style.css +11 -0
  107. package/lib/vxe-button/style/style.min.css +1 -1
  108. package/lib/vxe-button-group/style/style.css +1 -0
  109. package/lib/vxe-checkbox/style/style.css +1 -0
  110. package/lib/vxe-checkbox-group/style/style.css +1 -0
  111. package/lib/vxe-colgroup/style/style.css +1 -0
  112. package/lib/vxe-column/style/style.css +1 -0
  113. package/lib/vxe-form/style/style.css +1 -0
  114. package/lib/vxe-form-gather/style/style.css +1 -0
  115. package/lib/vxe-form-item/style/style.css +1 -0
  116. package/lib/vxe-grid/style/style.css +2 -0
  117. package/lib/vxe-grid/style/style.min.css +1 -1
  118. package/lib/vxe-icon/style/style.css +3 -1
  119. package/lib/vxe-icon/style/style.min.css +1 -1
  120. package/lib/vxe-input/style/style.css +4 -3
  121. package/lib/vxe-input/style/style.min.css +1 -1
  122. package/lib/vxe-list/style/style.css +1 -0
  123. package/lib/vxe-loading/style/style.css +1 -0
  124. package/lib/vxe-modal/style/style.css +4 -0
  125. package/lib/vxe-modal/style/style.min.css +1 -1
  126. package/lib/vxe-optgroup/style/style.css +1 -0
  127. package/lib/vxe-option/style/style.css +1 -0
  128. package/lib/vxe-pager/style/style.css +2 -19
  129. package/lib/vxe-pager/style/style.min.css +1 -1
  130. package/lib/vxe-pulldown/style/style.css +3 -1
  131. package/lib/vxe-pulldown/style/style.min.css +1 -1
  132. package/lib/vxe-radio/style/style.css +1 -0
  133. package/lib/vxe-radio-button/style/style.css +1 -0
  134. package/lib/vxe-radio-group/style/style.css +1 -0
  135. package/lib/vxe-select/style/style.css +2 -0
  136. package/lib/vxe-select/style/style.min.css +1 -1
  137. package/lib/vxe-switch/style/style.css +1 -0
  138. package/lib/vxe-table/style/style.css +17 -10
  139. package/lib/vxe-table/style/style.min.css +1 -1
  140. package/lib/vxe-table-custom-module/style/style.css +19 -34
  141. package/lib/vxe-table-custom-module/style/style.min.css +1 -1
  142. package/lib/vxe-table-edit-module/style/style.css +1 -0
  143. package/lib/vxe-table-export-module/style/style.css +1 -0
  144. package/lib/vxe-table-filter-module/style/style.css +1 -0
  145. package/lib/vxe-table-keyboard-module/style/style.css +1 -0
  146. package/lib/vxe-table-menu-module/style/style.css +11 -27
  147. package/lib/vxe-table-menu-module/style/style.min.css +1 -1
  148. package/lib/vxe-table-validator-module/style/style.css +1 -0
  149. package/lib/vxe-textarea/style/style.css +1 -0
  150. package/lib/vxe-toolbar/style/style.css +1 -0
  151. package/lib/vxe-tooltip/style/style.css +1 -0
  152. package/package.json +1 -1
  153. package/packages/button/src/button.js +4 -3
  154. package/packages/custom/src/panel.js +167 -85
  155. package/packages/export/src/export-panel.js +11 -3
  156. package/packages/form/src/form.js +0 -3
  157. package/packages/input/src/input.js +9 -2
  158. package/packages/locale/lang/en-US.js +201 -9
  159. package/packages/locale/lang/es-ES.js +202 -10
  160. package/packages/locale/lang/ja-JP.js +214 -22
  161. package/packages/locale/lang/pt-BR.js +201 -9
  162. package/packages/locale/lang/zh-CN.js +196 -4
  163. package/packages/locale/lang/zh-TC.js +200 -8
  164. package/packages/menu/src/panel.js +38 -10
  165. package/packages/pager/src/pager.js +24 -21
  166. package/packages/select/src/select.js +5 -4
  167. package/packages/table/src/header.js +4 -3
  168. package/packages/table/src/methods.js +28 -38
  169. package/packages/v-x-e-table/src/conf.js +1 -0
  170. package/styles/button.scss +10 -0
  171. package/styles/custom.scss +23 -37
  172. package/styles/grid.scss +1 -0
  173. package/styles/input.scss +3 -3
  174. package/styles/menu.scss +21 -39
  175. package/styles/modal.scss +3 -0
  176. package/styles/old-icon.scss +1 -1
  177. package/styles/pager.scss +1 -19
  178. package/styles/pulldown.scss +2 -1
  179. package/styles/select.scss +1 -0
  180. package/styles/table.scss +14 -8
  181. package/styles/variable.scss +5 -1
  182. package/types/module/menu.d.ts +40 -3
  183. package/types/v-x-e-table/renderer.d.ts +6 -1
  184. /package/lib/icon/style/{iconfont.1724212116436.ttf → iconfont.1724894779531.ttf} +0 -0
  185. /package/lib/icon/style/{iconfont.1724212116436.woff → iconfont.1724894779531.woff} +0 -0
  186. /package/lib/icon/style/{iconfont.1724212116436.woff2 → iconfont.1724894779531.woff2} +0 -0
  187. /package/lib/{iconfont.1724212116436.ttf → iconfont.1724894779531.ttf} +0 -0
  188. /package/lib/{iconfont.1724212116436.woff → iconfont.1724894779531.woff} +0 -0
  189. /package/lib/{iconfont.1724212116436.woff2 → iconfont.1724894779531.woff2} +0 -0
@@ -552,19 +552,20 @@ export default {
552
552
  */
553
553
  refreshOption () {
554
554
  const { isGroup, fullOptionList, fullGroupList, filterable, filterMethod, searchValue, labelField, groupLabelField } = this
555
+ const searchStr = `${searchValue || ''}`.toLowerCase()
555
556
  if (isGroup) {
556
557
  if (filterable && filterMethod) {
557
- this.visibleGroupList = fullGroupList.filter(group => isOptionVisible(group) && filterMethod({ group, option: null, searchValue }))
558
+ this.visibleGroupList = fullGroupList.filter(group => isOptionVisible(group) && filterMethod({ group, option: null, searchValue: searchStr }))
558
559
  } else if (filterable) {
559
- this.visibleGroupList = fullGroupList.filter(group => isOptionVisible(group) && (!searchValue || `${group[groupLabelField]}`.indexOf(searchValue) > -1))
560
+ this.visibleGroupList = fullGroupList.filter(group => isOptionVisible(group) && (!searchStr || `${group[groupLabelField]}`.toLowerCase().indexOf(searchStr) > -1))
560
561
  } else {
561
562
  this.visibleGroupList = fullGroupList.filter(isOptionVisible)
562
563
  }
563
564
  } else {
564
565
  if (filterable && filterMethod) {
565
- this.visibleOptionList = fullOptionList.filter(option => isOptionVisible(option) && filterMethod({ group: null, option, searchValue }))
566
+ this.visibleOptionList = fullOptionList.filter(option => isOptionVisible(option) && filterMethod({ group: null, option, searchValue: searchStr }))
566
567
  } else if (filterable) {
567
- this.visibleOptionList = fullOptionList.filter(option => isOptionVisible(option) && (!searchValue || `${option[labelField]}`.indexOf(searchValue) > -1))
568
+ this.visibleOptionList = fullOptionList.filter(option => isOptionVisible(option) && (!searchStr || `${option[labelField]}`.toLowerCase().indexOf(searchStr) > -1))
568
569
  } else {
569
570
  this.visibleOptionList = fullOptionList.filter(isOptionVisible)
570
571
  }
@@ -117,6 +117,7 @@ export default {
117
117
  }, cols.map((column, $columnIndex) => {
118
118
  const { type, showHeaderOverflow, headerAlign, align, headerClassName } = column
119
119
  // const { enabled } = tooltipOpts
120
+ const colid = column.id
120
121
  const isColGroup = column.children && column.children.length
121
122
  const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX
122
123
  const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
@@ -145,7 +146,7 @@ export default {
145
146
  thOns.mousedown = evnt => $xetable.triggerHeaderCellMousedownEvent(evnt, params)
146
147
  }
147
148
  return h('th', {
148
- class: ['vxe-header--column', column.id, {
149
+ class: ['vxe-header--column', colid, {
149
150
  [`col--${headAlign}`]: headAlign,
150
151
  [`col--${type}`]: type,
151
152
  'col--last': $columnIndex === cols.length - 1,
@@ -159,13 +160,13 @@ export default {
159
160
  'col--current': currentColumn === column
160
161
  }, UtilTools.getClass(headerClassName, params), UtilTools.getClass(headerCellClassName, params)],
161
162
  attrs: {
162
- colid: column.id,
163
+ colid,
163
164
  colspan: column.colSpan > 1 ? column.colSpan : null,
164
165
  rowspan: column.rowSpan > 1 ? column.rowSpan : null
165
166
  },
166
167
  style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : null,
167
168
  on: thOns,
168
- key: columnKey || columnOpts.useKey || isColGroup ? column.id : $columnIndex
169
+ key: columnKey || columnOpts.useKey || isColGroup ? colid : $columnIndex
169
170
  }, [
170
171
  h('div', {
171
172
  class: ['vxe-cell', {
@@ -1371,7 +1371,7 @@ const Methods = {
1371
1371
  const { filterMethod, filterRender, field } = column
1372
1372
  const compConf = isEnableConf(filterRender) ? VXETable.renderer.get(filterRender.name) : null
1373
1373
  const compFilterMethod = compConf && compConf.renderFilter ? (compConf.tableFilterMethod || compConf.filterMethod) : null
1374
- const defaultFilterMethod = compConf ? (compConf.defaultTableFilterMethod || compConf.defaultFilterMethod) : null
1374
+ const defaultFilterMethod = compConf ? (compConf.tableFilterDefaultMethod || compConf.defaultTableFilterMethod || compConf.defaultFilterMethod) : null
1375
1375
  const cellValue = UtilTools.getCellValue(row, column)
1376
1376
  if (filterMethod) {
1377
1377
  return itemList.some((item) => filterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }))
@@ -2773,7 +2773,6 @@ const Methods = {
2773
2773
  const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row
2774
2774
  const childrenField = treeOpts.children || treeOpts.childrenField
2775
2775
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
2776
- let params
2777
2776
  if (filterStore.visible) {
2778
2777
  if (isEsc) {
2779
2778
  this.closeFilter()
@@ -2819,7 +2818,7 @@ const Methods = {
2819
2818
  if (hasCtrlKey) {
2820
2819
  // 如果是激活编辑状态,则取消编辑
2821
2820
  if (actived.row) {
2822
- params = actived.args
2821
+ const params = actived.args
2823
2822
  this.clearEdit(evnt)
2824
2823
  // 如果配置了选中功能,则为选中状态
2825
2824
  if (mouseConfig && mouseOpts.selected) {
@@ -2849,7 +2848,7 @@ const Methods = {
2849
2848
  if (childrens && childrens.length) {
2850
2849
  evnt.preventDefault()
2851
2850
  const targetRow = childrens[0]
2852
- params = { $table: this, row: targetRow }
2851
+ const params = { $table: this, row: targetRow }
2853
2852
  this.setTreeExpand(currentRow, true)
2854
2853
  .then(() => this.scrollToRow(targetRow))
2855
2854
  .then(() => this.triggerCurrentRowEvent(evnt, params))
@@ -2877,23 +2876,24 @@ const Methods = {
2877
2876
  // 如果是删除键
2878
2877
  if (!isEditStatus) {
2879
2878
  const { delMethod } = keyboardOpts
2880
- const delPaqrams = {
2879
+ const params = {
2881
2880
  row: selected.row,
2882
2881
  rowIndex: this.getRowIndex(selected.row),
2883
2882
  column: selected.column,
2884
2883
  columnIndex: this.getColumnIndex(selected.column),
2885
- $table: this
2884
+ $table: this,
2885
+ $grid: this.$xegrid
2886
2886
  }
2887
2887
  // 是否被禁用
2888
2888
  if (!beforeEditMethod || beforeEditMethod(params)) {
2889
2889
  if (delMethod) {
2890
- delMethod(delPaqrams)
2890
+ delMethod(params)
2891
2891
  } else {
2892
2892
  setCellValue(selected.row, selected.column, null)
2893
2893
  }
2894
2894
  // 如果按下 del 键,更新表尾数据
2895
2895
  this.updateFooter()
2896
- this.emitEvent('cell-delete-value', delPaqrams, evnt)
2896
+ this.emitEvent('cell-delete-value', params, evnt)
2897
2897
  }
2898
2898
  }
2899
2899
  } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selected.column)) {
@@ -2901,28 +2901,23 @@ const Methods = {
2901
2901
  const { backMethod } = keyboardOpts
2902
2902
  // 如果是删除键
2903
2903
  if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selected.column)) {
2904
- const delPaqrams = {
2904
+ const params = {
2905
2905
  row: selected.row,
2906
2906
  rowIndex: this.getRowIndex(selected.row),
2907
2907
  column: selected.column,
2908
2908
  columnIndex: this.getColumnIndex(selected.column),
2909
- $table: this
2909
+ $table: this,
2910
+ $grid: this.$xegrid
2910
2911
  }
2911
2912
  // 是否被禁用
2912
2913
  if (!beforeEditMethod || beforeEditMethod(params)) {
2913
2914
  if (backMethod) {
2914
- backMethod({
2915
- row: selected.row,
2916
- rowIndex: this.getRowIndex(selected.row),
2917
- column: selected.column,
2918
- columnIndex: this.getColumnIndex(selected.column),
2919
- $table: this
2920
- })
2915
+ backMethod(params)
2921
2916
  } else {
2922
2917
  setCellValue(selected.row, selected.column, null)
2923
2918
  this.handleActived(selected.args, evnt)
2924
2919
  }
2925
- this.emitEvent('cell-backspace-value', delPaqrams, evnt)
2920
+ this.emitEvent('cell-backspace-value', params, evnt)
2926
2921
  }
2927
2922
  }
2928
2923
  }
@@ -2931,11 +2926,12 @@ const Methods = {
2931
2926
  const { parent: parentRow } = XEUtils.findTree(this.afterTreeFullData, item => item === currentRow, { children: childrenField })
2932
2927
  if (parentRow) {
2933
2928
  evnt.preventDefault()
2934
- params = {
2935
- $table: this,
2929
+ const params = {
2936
2930
  row: parentRow,
2937
2931
  rowIndex: this.getRowIndex(parentRow),
2938
- $rowIndex: this.getVMRowIndex(parentRow)
2932
+ $rowIndex: this.getVMRowIndex(parentRow),
2933
+ $table: this,
2934
+ $grid: this.$xegrid
2939
2935
  }
2940
2936
  this.setTreeExpand(parentRow, false)
2941
2937
  .then(() => this.scrollToRow(parentRow))
@@ -2950,16 +2946,17 @@ const Methods = {
2950
2946
  // 如果是按下非功能键之外允许直接编辑
2951
2947
  if (selected.column && selected.row && isEnableConf(selected.column.editRender)) {
2952
2948
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
2953
- if (!beforeEditMethod || beforeEditMethod({ ...selected.args, $table: this, $grid: this.$xegrid })) {
2949
+ const params = {
2950
+ row: selected.row,
2951
+ rowIndex: this.getRowIndex(selected.row),
2952
+ column: selected.column,
2953
+ columnIndex: this.getColumnIndex(selected.column),
2954
+ $table: this,
2955
+ $grid: this.$xegrid
2956
+ }
2957
+ if (!beforeEditMethod || beforeEditMethod(params)) {
2954
2958
  if (editMethod) {
2955
- editMethod({
2956
- row: selected.row,
2957
- rowIndex: this.getRowIndex(selected.row),
2958
- column: selected.column,
2959
- columnIndex: this.getColumnIndex(selected.column),
2960
- $table: this,
2961
- $grid: this.$xegrid
2962
- })
2959
+ editMethod(params)
2963
2960
  } else {
2964
2961
  setCellValue(selected.row, selected.column, null)
2965
2962
  this.handleActived(selected.args, evnt)
@@ -2967,14 +2964,7 @@ const Methods = {
2967
2964
  const afterEditMethod = editOpts.afterEditMethod
2968
2965
  if (afterEditMethod) {
2969
2966
  this.$nextTick(() => {
2970
- afterEditMethod({
2971
- row: selected.row,
2972
- rowIndex: this.getRowIndex(selected.row),
2973
- column: selected.column,
2974
- columnIndex: this.getColumnIndex(selected.column),
2975
- $table: this,
2976
- $grid: this.$xegrid
2977
- })
2967
+ afterEditMethod(params)
2978
2968
  })
2979
2969
  }
2980
2970
  }
@@ -185,6 +185,7 @@ export default {
185
185
  TABLE_RADIO_CHECKED: iconPrefix + 'radio-checked-fill',
186
186
  TABLE_RADIO_UNCHECKED: iconPrefix + 'radio-unchecked',
187
187
  TABLE_CUSTOM_SORT: iconPrefix + 'drag-handle',
188
+ TABLE_MENU_OPTIONS: iconPrefix + 'arrow-right',
188
189
 
189
190
  // button
190
191
  BUTTON_DROPDOWN: iconPrefix + 'arrow-down',
@@ -67,6 +67,15 @@ $btnThemeList: (
67
67
  user-select: none;
68
68
  appearance: none;
69
69
  @include createAnimationTransition(border, .2s);
70
+ &.align--left {
71
+ text-align: left;
72
+ }
73
+ &.align--center {
74
+ text-align: center;
75
+ }
76
+ &.align--right {
77
+ text-align: right;
78
+ }
70
79
  &:not(.is--disabled) {
71
80
  color: $vxe-font-color;
72
81
  cursor: pointer;
@@ -262,6 +271,7 @@ $btnThemeList: (
262
271
  }
263
272
  .vxe-button--dropdown {
264
273
  position: relative;
274
+ outline: 0;
265
275
  &+.vxe-button-wrapper,
266
276
  &+.vxe-button.type--button,
267
277
  &+.vxe-button--dropdown {
@@ -100,6 +100,7 @@
100
100
  flex-grow: 1;
101
101
  overflow-x: hidden;
102
102
  overflow-y: auto;
103
+ outline: 0;
103
104
  }
104
105
 
105
106
  .vxe-table-custom--header,
@@ -145,21 +146,9 @@
145
146
  flex-direction: row;
146
147
  flex-shrink: 0;
147
148
  border-top: 1px solid $vxe-table-popup-border-color;
148
- text-align: right;
149
149
  button {
150
- background-color: transparent;
151
- width: 50%;
150
+ flex-grow: 1;
152
151
  height: 2.8em;
153
- border: 0;
154
- color: $vxe-font-color;
155
- text-align: center;
156
- cursor: pointer;
157
- &:focus {
158
- outline: none;
159
- }
160
- &:hover {
161
- color: $vxe-primary-color;
162
- }
163
152
  }
164
153
  }
165
154
 
@@ -181,9 +170,15 @@
181
170
  .vxe-table-custom--sort-btn {
182
171
  padding-left: 0.2em;
183
172
  padding-right: 0.4em;
184
- cursor: grabbing;
185
- &:hover {
186
- color: $vxe-primary-color;
173
+ &:not(.is--disabled) {
174
+ cursor: grabbing;
175
+ &:hover {
176
+ color: $vxe-primary-color;
177
+ }
178
+ }
179
+ &.is--disabled {
180
+ color: $vxe-input-disabled-color;
181
+ cursor: not-allowed;
187
182
  }
188
183
  }
189
184
  .vxe-table-custom--checkbox-label {
@@ -202,25 +197,10 @@
202
197
  user-select: none;
203
198
  }
204
199
 
205
- .vxe-table-custom--fixed-left-option,
206
- .vxe-table-custom--fixed-right-option {
207
- line-height: 1.34em;
208
- font-size: 1.1em;
209
- padding: 0 0.2em;
210
- cursor: pointer;
211
- &.is--checked,
212
- &:hover {
213
- color: $vxe-primary-color;
214
- }
215
- &.is--disabled {
216
- cursor: no-drop;
217
- color: $vxe-input-disabled-color;
218
- }
219
- }
220
-
221
200
  .vxe-table-custom-popup--body {
222
201
  overflow: auto;
223
202
  height: 100%;
203
+ outline: 0;
224
204
  }
225
205
 
226
206
  .vxe-table-custom-popup--table-wrapper {
@@ -381,12 +361,18 @@
381
361
  .vxe-table-custom-popup--column-sort-btn {
382
362
  font-size: 1.2em;
383
363
  padding: 0.2em 0.5em;
384
- cursor: grab;
385
- &:hover {
386
- color: $vxe-primary-color;
364
+ &:not(.is--disabled) {
365
+ cursor: grab;
366
+ &:hover {
367
+ color: $vxe-primary-color;
368
+ }
369
+ &:active {
370
+ cursor: grabbing;
371
+ }
387
372
  }
388
- &:active {
389
- cursor: grabbing;
373
+ &.is--disabled {
374
+ color: $vxe-input-disabled-color;
375
+ cursor: not-allowed;
390
376
  }
391
377
  }
392
378
 
package/styles/grid.scss CHANGED
@@ -42,6 +42,7 @@
42
42
  .vxe-grid--right-wrapper {
43
43
  flex-shrink: 0;
44
44
  overflow: auto;
45
+ outline: 0;
45
46
  }
46
47
  .vxe-grid--table-wrapper {
47
48
  flex-grow: 1;
package/styles/input.scss CHANGED
@@ -86,10 +86,10 @@ $iconWidth: 1.6em;
86
86
  top: 1px;
87
87
  right: 0.5em;
88
88
  height: calc(100% - 2px);
89
- color: var($vxe-input-count-color);
90
- background-color: var($vxe-input-count-background-color);
89
+ color: $vxe-input-count-color;
90
+ background-color: $vxe-input-count-background-color;
91
91
  &.is--error {
92
- color: var($vxe-input-count-error-color);
92
+ color: $vxe-input-count-error-color;
93
93
  }
94
94
  }
95
95
 
package/styles/menu.scss CHANGED
@@ -21,46 +21,28 @@
21
21
  font-family: $vxe-font-family;
22
22
  background-color: $vxe-table-menu-background-color;
23
23
  }
24
- .vxe-context-menu--link {
25
- display: block;
26
- padding: 0 2.5em;
27
- width: $vxe-table-menu-item-width;
28
- line-height: 26px;
29
- color: $vxe-font-color;
30
- cursor: pointer;
31
- .vxe-context-menu--link-prefix,
32
- .vxe-context-menu--link-suffix {
33
- position: absolute;
34
- top: 5px;
35
- margin-right: 5px;
36
- font-size: 16px;
37
- }
38
- .vxe-context-menu--link-prefix {
39
- left: 5px;
40
- }
41
- .vxe-context-menu--link-suffix {
42
- right: 5px;
43
- &.suffix--haschild {
44
- top: 8px;
45
- &:before {
46
- position: absolute;
47
- content: "";
48
- border: 4px solid transparent;
49
- border-left-color: #727272;
50
- }
51
- }
52
- }
53
- .vxe-context-menu--link-content {
54
- display: block;
55
- overflow: hidden;
56
- text-overflow: ellipsis;
57
- white-space: nowrap;
58
- }
59
- }
60
- .vxe-table--context-menu-clild-wrapper {
61
24
  .vxe-context-menu--link {
62
- padding: 0 2em 0 2.5em;
63
- }
25
+ display: flex;
26
+ flex-direction: row;
27
+ width: $vxe-table-menu-item-width;
28
+ line-height: 26px;
29
+ padding: 0 0.8em;
30
+ color: $vxe-font-color;
31
+ cursor: pointer;
32
+ .vxe-context-menu--link-prefix,
33
+ .vxe-context-menu--link-suffix {
34
+ min-width: 2em;
35
+ flex-shrink: 0;
36
+ text-align: center;
37
+ padding: 0 0.2em;
38
+ }
39
+ .vxe-context-menu--link-content {
40
+ flex-grow: 1;
41
+ padding: 0 0.2em;
42
+ overflow: hidden;
43
+ text-overflow: ellipsis;
44
+ white-space: nowrap;
45
+ }
64
46
  }
65
47
  .vxe-context-menu--option-wrapper,
66
48
  .vxe-table--context-menu-clild-wrapper {
package/styles/modal.scss CHANGED
@@ -12,6 +12,7 @@
12
12
  color: $vxe-font-color;
13
13
  font-family: $vxe-font-family;
14
14
  transition: top .4s ease-in-out;
15
+ outline: 0;
15
16
  &.is--active {
16
17
  display: block;
17
18
  }
@@ -166,6 +167,7 @@
166
167
  text-align: left;
167
168
  pointer-events: auto;
168
169
  opacity: 0;
170
+ outline: 0;
169
171
  &.is--drag {
170
172
  cursor: move;
171
173
  .vxe-modal--body,
@@ -231,6 +233,7 @@
231
233
  .vxe-modal--body {
232
234
  display: flex;
233
235
  flex-grow: 1;
236
+ outline: 0;
234
237
  }
235
238
  .vxe-modal--header {
236
239
  display: flex;
@@ -92,7 +92,7 @@
92
92
  border-width: 0.1em;
93
93
  border-style: solid;
94
94
  border-color: inherit;
95
- background-color: var(--vxe-ui-layout-background-color);
95
+ background-color: $vxe-layout-background-color;
96
96
  }
97
97
  }
98
98
 
package/styles/pager.scss CHANGED
@@ -152,11 +152,6 @@
152
152
  line-height: 2em;
153
153
  display: inline-block;
154
154
  }
155
- .vxe-pager--jump .vxe-pager--goto,
156
- .vxe-pager--sizes > .vxe-input {
157
- height: 2.15em;
158
- line-height: 2.15em;
159
- }
160
155
  .vxe-pager--sizes > .vxe-select--panel .vxe-select-option {
161
156
  text-align: center;
162
157
  }
@@ -244,18 +239,6 @@
244
239
  }
245
240
  }
246
241
  }
247
- .vxe-pager--jump .vxe-pager--goto {
248
- border-radius: $vxe-border-radius;
249
- border: 1px solid $vxe-input-border-color;
250
- color: $vxe-font-color;
251
- transition: border .2s ease-in-out;
252
- padding: 0 0.4em;
253
- background-color: $vxe-input-background-color;
254
- &:focus {
255
- border: 1px solid $vxe-primary-color;
256
- outline: 0;
257
- }
258
- }
259
242
  .vxe-pager--jump {
260
243
  .vxe-pager--goto-text {
261
244
  margin-right: 0.25em;
@@ -264,8 +247,7 @@
264
247
  margin-left: 0.25em;
265
248
  }
266
249
  .vxe-pager--goto {
267
- width: 3.2em;
268
- text-align: center;
250
+ width: 4em;
269
251
  }
270
252
  }
271
253
  }
@@ -16,6 +16,7 @@
16
16
  padding: 4px 0;
17
17
  color: $vxe-font-color;
18
18
  text-align: left;
19
+ outline: 0;
19
20
  &:not(.is--transfer) {
20
21
  min-width: 100%;
21
22
  }
@@ -39,7 +40,7 @@
39
40
  }
40
41
  }
41
42
  .vxe-pulldown--panel-wrapper {
42
- background-color: var(--vxe-pulldown-panel-background-color);
43
+ background-color: $vxe-pulldown-panel-background-color;
43
44
  }
44
45
 
45
46
  .vxe-pulldown,
@@ -110,6 +110,7 @@
110
110
  position: relative;
111
111
  overflow-x: hidden;
112
112
  overflow-y: auto;
113
+ outline: 0;
113
114
  padding: 4px 0;
114
115
  max-height: 200px;
115
116
  }
package/styles/table.scss CHANGED
@@ -44,6 +44,7 @@
44
44
  .vxe-table--fixed-right-body-wrapper {
45
45
  overflow-y: auto;
46
46
  overflow-x: auto;
47
+ outline: 0;
47
48
  }
48
49
 
49
50
  /*默认的渲染*/
@@ -51,7 +52,7 @@
51
52
  .vxe-table--filter-template {
52
53
  .vxe-default-input,
53
54
  .vxe-default-textarea {
54
- background-color: var(--vxe-ui-layout-background-color);
55
+ background-color: $vxe-layout-background-color;
55
56
  }
56
57
  .vxe-default-input,
57
58
  .vxe-default-textarea,
@@ -59,21 +60,21 @@
59
60
  outline: 0;
60
61
  padding: 0 2px;
61
62
  width: 100%;
62
- color: var(--vxe-ui-font-color);
63
- border-radius: var(--vxe-ui-border-radius);
64
- border: 1px solid var(--vxe-ui-input-border-color);
63
+ color: $vxe-font-color;
64
+ border-radius: $vxe-border-radius;
65
+ border: 1px solid $vxe-input-border-color;
65
66
  &:focus {
66
- border: 1px solid var(--vxe-ui-font-primary-color);
67
+ border: 1px solid $vxe-primary-color;
67
68
  }
68
69
  &[disabled] {
69
70
  cursor: not-allowed;
70
- background-color: var(--vxe-ui-input-disabled-background-color);
71
+ background-color: $vxe-input-disabled-background-color;
71
72
  }
72
73
  }
73
74
  .vxe-default-input,
74
75
  .vxe-default-textarea,
75
76
  .vxe-default-select {
76
- height: var(--vxe-ui-input-height-default);
77
+ height: $vxe-input-height-default;
77
78
  }
78
79
  .vxe-default-input {
79
80
  &[type="date"]::-webkit-inner-spin-button {
@@ -84,7 +85,7 @@
84
85
  height: 24px;
85
86
  }
86
87
  &::placeholder {
87
- color: var(--vxe-ui-input-placeholder-color);
88
+ color: $vxe-input-placeholder-color;
88
89
  }
89
90
  }
90
91
  .vxe-default-textarea {
@@ -900,6 +901,7 @@
900
901
  overflow: hidden;
901
902
  background-color: inherit;
902
903
  transition: 0.3s box-shadow;
904
+ outline: 0;
903
905
  .vxe-table--body-wrapper {
904
906
  overflow-x: hidden;
905
907
  }
@@ -940,6 +942,7 @@
940
942
  &.fixed-right--wrapper {
941
943
  position: absolute;
942
944
  top: 0;
945
+ outline: 0;
943
946
  }
944
947
  &.fixed-left--wrapper {
945
948
  left: 0;
@@ -1099,6 +1102,7 @@
1099
1102
  z-index: 1;
1100
1103
  &.is--ellipsis {
1101
1104
  overflow: auto;
1105
+ outline: 0;
1102
1106
  }
1103
1107
  }
1104
1108
 
@@ -1205,6 +1209,7 @@
1205
1209
  overflow: hidden;
1206
1210
  width: 100%;
1207
1211
  pointer-events: none;
1212
+ outline: 0;
1208
1213
  }
1209
1214
  .vxe-table--empty-block {
1210
1215
  display: none;
@@ -1452,6 +1457,7 @@
1452
1457
  margin-top: -1px;
1453
1458
  &.body--wrapper{
1454
1459
  overflow-x: auto;
1460
+ outline: 0;
1455
1461
  }
1456
1462
  }
1457
1463
 
@@ -20,6 +20,9 @@ $vxe-info-color: #909399 !default;
20
20
  $vxe-warning-color: #e6a23c !default;
21
21
  $vxe-danger-color: #f56c6c !default;
22
22
 
23
+ /*layout*/
24
+ $vxe-layout-background-color: #fff !default;
25
+
23
26
  $vxe-font-lighten-color: lighten($vxe-font-color, 10%) !default;
24
27
  $vxe-primary-lighten-color: lighten($vxe-primary-color, 10%) !default;
25
28
  $vxe-success-lighten-color: lighten($vxe-success-color, 10%) !default;
@@ -102,6 +105,7 @@ $vxe-table-cell-dirty-update-color: #f56c6c !default;
102
105
  $vxe-table-cell-dirty-insert-color: #19A15F !default;
103
106
  $vxe-table-cell-area-border-color: $vxe-primary-color !default;
104
107
  $vxe-table-cell-area-border-width: 1px !default;
108
+ $vxe-table-cell-area-status-border-width: $vxe-table-cell-area-border-width !default;
105
109
  $vxe-table-cell-main-area-extension-border-color: #fff;
106
110
  $vxe-table-cell-main-area-extension-background-color: $vxe-primary-color !default;
107
111
  $vxe-table-cell-extend-area-border-width: 2px !default;
@@ -126,7 +130,7 @@ $vxe-table-fixed-right-scrolling-box-shadow: -8px 0px 10px -5px rgba(0, 0, 0, 0.
126
130
  $vxe-table-filter-panel-background-color: #fff !default;
127
131
 
128
132
  /*menu*/
129
- $vxe-table-menu-item-width: 178px !default;
133
+ $vxe-table-menu-item-width: 198px !default;
130
134
  $vxe-table-menu-background-color: #fff !default;
131
135
 
132
136
  /*loading*/