vxe-table 4.5.0-beta.11 → 4.5.0-beta.13
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.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/es/footer/src/footer.js +5 -1
- package/es/form/src/form.js +27 -5
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +4 -1
- package/es/locale/lang/en-US.js +4 -0
- package/es/locale/lang/es-ES.js +5 -0
- package/es/locale/lang/ja-JP.js +5 -0
- package/es/locale/lang/zh-CN.js +5 -0
- package/es/locale/lang/zh-TC.js +5 -0
- package/es/menu/src/hooks.js +3 -3
- package/es/select/src/select.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +7 -3
- package/es/table/src/table.js +30 -7
- package/es/table/style.css +14 -3
- package/es/textarea/src/textarea.js +4 -1
- package/es/tools/log.js +1 -1
- package/es/tooltip/style.css +0 -6
- package/es/v-x-e-table/index.js +4 -1
- package/es/v-x-e-table/src/conf.js +4 -1
- package/es/v-x-e-table/src/menus.js +48 -2
- package/es/v-x-e-table/src/store.js +4 -1
- package/es/v-x-e-table/src/validators.js +5 -0
- package/es/validator/src/hook.js +100 -22
- package/es/vxe-table/style.css +14 -3
- package/es/vxe-tooltip/style.css +0 -6
- package/lib/footer/src/footer.js +6 -1
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form.js +24 -4
- package/lib/form/src/form.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +271 -48
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +6 -1
- package/lib/input/src/input.min.js +1 -1
- package/lib/locale/lang/en-US.js +4 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +4 -0
- package/lib/locale/lang/es-ES.js +5 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +5 -0
- package/lib/locale/lang/ja-JP.js +5 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +5 -0
- package/lib/locale/lang/zh-CN.js +5 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +5 -0
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +5 -0
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +5 -0
- package/lib/locale/lang/zh-TC.js +5 -0
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +5 -0
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +5 -0
- package/lib/menu/src/hooks.js +3 -3
- package/lib/menu/src/hooks.min.js +1 -1
- package/lib/select/src/select.js +6 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +8 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +38 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +14 -3
- package/lib/table/style/style.min.css +1 -1
- package/lib/textarea/src/textarea.js +6 -1
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/tooltip/style/style.css +0 -6
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/v-x-e-table/index.js +14 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +4 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/menus.js +48 -2
- package/lib/v-x-e-table/src/menus.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +4 -1
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/v-x-e-table/src/validators.js +15 -0
- package/lib/v-x-e-table/src/validators.min.js +1 -0
- package/lib/validator/src/hook.js +94 -20
- package/lib/validator/src/hook.min.js +1 -1
- package/lib/vxe-table/style/style.css +14 -3
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +0 -6
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/footer/src/footer.ts +5 -1
- package/packages/form/src/form.ts +24 -5
- package/packages/input/src/input.ts +4 -1
- package/packages/locale/lang/en-US.ts +4 -0
- package/packages/locale/lang/es-ES.ts +5 -0
- package/packages/locale/lang/ja-JP.ts +5 -0
- package/packages/locale/lang/zh-CN.ts +5 -0
- package/packages/locale/lang/zh-TC.ts +5 -0
- package/packages/menu/src/hooks.ts +3 -3
- package/packages/select/src/select.ts +4 -1
- package/packages/table/src/body.ts +7 -3
- package/packages/table/src/table.ts +34 -7
- package/packages/textarea/src/textarea.ts +4 -1
- package/packages/v-x-e-table/index.ts +3 -0
- package/packages/v-x-e-table/src/conf.ts +4 -1
- package/packages/v-x-e-table/src/menus.ts +52 -2
- package/packages/v-x-e-table/src/store.ts +3 -1
- package/packages/v-x-e-table/src/validators.ts +9 -0
- package/packages/validator/src/hook.ts +117 -36
- package/styles/cssvar.scss +1 -2
- package/styles/table.scss +27 -6
- package/styles/tooltip.scss +0 -8
- package/styles/variable.scss +1 -2
- package/types/form.d.ts +9 -12
- package/types/table.d.ts +20 -1
- package/types/v-x-e-table/index.d.ts +8 -1
- package/types/v-x-e-table/menus.d.ts +19 -7
- package/types/v-x-e-table/validators.d.ts +30 -0
- package/types/validator.d.ts +14 -1
- /package/es/icon/style/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
- /package/es/icon/style/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
- /package/es/icon/style/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
- /package/es/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
- /package/es/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
- /package/es/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
- /package/lib/icon/style/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
- /package/lib/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
- /package/lib/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
- /package/lib/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
package/es/table/src/body.js
CHANGED
|
@@ -44,7 +44,7 @@ export default defineComponent({
|
|
|
44
44
|
var $xetable = inject('$xetable', {});
|
|
45
45
|
var xesize = inject('xesize', null);
|
|
46
46
|
var xID = $xetable.xID, tableProps = $xetable.props, tableContext = $xetable.context, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
|
|
47
|
-
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody;
|
|
47
|
+
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody, refValidTooltip = _a.refValidTooltip;
|
|
48
48
|
var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeExpandOpts = _b.computeExpandOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts, computeColumnOpts = _b.computeColumnOpts;
|
|
49
49
|
var refElem = ref();
|
|
50
50
|
var refBodyTable = ref();
|
|
@@ -130,7 +130,7 @@ export default defineComponent({
|
|
|
130
130
|
*/
|
|
131
131
|
var renderColumn = function (seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
|
|
132
132
|
var _a;
|
|
133
|
-
var columnKey = tableProps.columnKey, allColumnOverflow = tableProps.showOverflow, allCellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
|
|
133
|
+
var columnKey = tableProps.columnKey, height = tableProps.height, allColumnOverflow = tableProps.showOverflow, allCellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
|
|
134
134
|
var tableData = tableReactData.tableData, overflowX = tableReactData.overflowX, scrollYLoad = tableReactData.scrollYLoad, currentColumn = tableReactData.currentColumn, mergeList = tableReactData.mergeList, editStore = tableReactData.editStore, isAllOverflow = tableReactData.isAllOverflow, validErrorMaps = tableReactData.validErrorMaps;
|
|
135
135
|
var afterFullData = tableInternalData.afterFullData;
|
|
136
136
|
var validOpts = computeValidOpts.value;
|
|
@@ -162,7 +162,7 @@ export default defineComponent({
|
|
|
162
162
|
var tdOns = {};
|
|
163
163
|
var cellAlign = align || allAlign;
|
|
164
164
|
var errorValidItem = validErrorMaps["".concat(rowid, ":").concat(column.id)];
|
|
165
|
-
var showValidTip = editRules && validOpts.showMessage;
|
|
165
|
+
var showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? (height || tableData.length > 1) : validOpts.message === 'inline');
|
|
166
166
|
var attrs = { colid: column.id };
|
|
167
167
|
var params = { $table: $xetable, $grid: $xetable.xegrid, seq: seq, rowid: rowid, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, level: rowLevel, visibleData: afterFullData, data: tableData, items: items };
|
|
168
168
|
// 虚拟滚动不支持动态高度
|
|
@@ -486,6 +486,7 @@ export default defineComponent({
|
|
|
486
486
|
var tableFooter = refTableFooter.value;
|
|
487
487
|
var leftBody = refTableLeftBody.value;
|
|
488
488
|
var rightBody = refTableRightBody.value;
|
|
489
|
+
var validTip = refValidTooltip.value;
|
|
489
490
|
var scrollBodyElem = refElem.value;
|
|
490
491
|
var headerElem = tableHeader ? tableHeader.$el : null;
|
|
491
492
|
var footerElem = tableFooter ? tableFooter.$el : null;
|
|
@@ -538,6 +539,9 @@ export default defineComponent({
|
|
|
538
539
|
if (scrollYLoad && isRollY) {
|
|
539
540
|
$xetable.triggerScrollYEvent(evnt);
|
|
540
541
|
}
|
|
542
|
+
if (isRollX && validTip && validTip.reactData.visible) {
|
|
543
|
+
validTip.updatePlacement();
|
|
544
|
+
}
|
|
541
545
|
$xetable.dispatchEvent('scroll', {
|
|
542
546
|
type: renderType,
|
|
543
547
|
fixed: fixedType,
|
package/es/table/src/table.js
CHANGED
|
@@ -316,6 +316,7 @@ export default defineComponent({
|
|
|
316
316
|
var refElem = ref();
|
|
317
317
|
var refTooltip = ref();
|
|
318
318
|
var refCommTooltip = ref();
|
|
319
|
+
var refValidTooltip = ref();
|
|
319
320
|
var refTableFilter = ref();
|
|
320
321
|
var refTableMenu = ref();
|
|
321
322
|
var refTableHeader = ref();
|
|
@@ -380,6 +381,10 @@ export default defineComponent({
|
|
|
380
381
|
var tooltipOpts = computeTooltipOpts.value;
|
|
381
382
|
return __assign(__assign({}, tooltipOpts), tooltipStore.currOpts);
|
|
382
383
|
});
|
|
384
|
+
var computeValidTipOpts = computed(function () {
|
|
385
|
+
var tooltipOpts = computeTooltipOpts.value;
|
|
386
|
+
return Object.assign({ isArrow: false }, tooltipOpts);
|
|
387
|
+
});
|
|
383
388
|
var computeEditOpts = computed(function () {
|
|
384
389
|
return Object.assign({}, GlobalConfig.table.editConfig, props.editConfig);
|
|
385
390
|
});
|
|
@@ -519,6 +524,7 @@ export default defineComponent({
|
|
|
519
524
|
var refMaps = {
|
|
520
525
|
refElem: refElem,
|
|
521
526
|
refTooltip: refTooltip,
|
|
527
|
+
refValidTooltip: refValidTooltip,
|
|
522
528
|
refTableFilter: refTableFilter,
|
|
523
529
|
refTableMenu: refTableMenu,
|
|
524
530
|
refTableHeader: refTableHeader,
|
|
@@ -4126,14 +4132,14 @@ export default defineComponent({
|
|
|
4126
4132
|
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
|
|
4127
4133
|
* 如果单元格配置了校验规则,则会进行校验
|
|
4128
4134
|
*/
|
|
4129
|
-
updateStatus: function (
|
|
4135
|
+
updateStatus: function (slotParams, cellValue) {
|
|
4130
4136
|
var customVal = !XEUtils.isUndefined(cellValue);
|
|
4131
4137
|
return nextTick().then(function () {
|
|
4132
4138
|
var editRules = props.editRules;
|
|
4133
4139
|
var validStore = reactData.validStore;
|
|
4134
4140
|
var tableBody = refTableBody.value;
|
|
4135
|
-
if (
|
|
4136
|
-
var row_1 =
|
|
4141
|
+
if (slotParams && tableBody && editRules) {
|
|
4142
|
+
var row_1 = slotParams.row, column_3 = slotParams.column;
|
|
4137
4143
|
var type = 'change';
|
|
4138
4144
|
if ($xetable.hasCellRules) {
|
|
4139
4145
|
if ($xetable.hasCellRules(type, row_1, column_3)) {
|
|
@@ -4263,10 +4269,12 @@ export default defineComponent({
|
|
|
4263
4269
|
*/
|
|
4264
4270
|
var handleGlobalMousedownEvent = function (evnt) {
|
|
4265
4271
|
var editStore = reactData.editStore, ctxMenuStore = reactData.ctxMenuStore, filterStore = reactData.filterStore;
|
|
4266
|
-
var mouseConfig = props.mouseConfig;
|
|
4272
|
+
var mouseConfig = props.mouseConfig, editRules = props.editRules;
|
|
4267
4273
|
var el = refElem.value;
|
|
4268
4274
|
var editOpts = computeEditOpts.value;
|
|
4275
|
+
var validOpts = computeValidOpts.value;
|
|
4269
4276
|
var actived = editStore.actived;
|
|
4277
|
+
var $validTooltip = refValidTooltip.value;
|
|
4270
4278
|
var tableFilter = refTableFilter.value;
|
|
4271
4279
|
var tableMenu = refTableMenu.value;
|
|
4272
4280
|
if (tableFilter) {
|
|
@@ -4288,7 +4296,10 @@ export default defineComponent({
|
|
|
4288
4296
|
// 如果是激活状态,点击了单元格之外
|
|
4289
4297
|
var cell = actived.args.cell;
|
|
4290
4298
|
if ((!cell || !getEventTargetNode(evnt, cell).flag)) {
|
|
4291
|
-
if (
|
|
4299
|
+
if ($validTooltip && getEventTargetNode(evnt, $validTooltip.$el).flag) {
|
|
4300
|
+
// 如果是激活状态,且点击了校验提示框
|
|
4301
|
+
}
|
|
4302
|
+
else if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
|
|
4292
4303
|
// 如果是激活状态,点击了单元格之外
|
|
4293
4304
|
if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-clear').flag) {
|
|
4294
4305
|
// 如果手动调用了激活单元格,避免触发源被移除后导致重复关闭
|
|
@@ -4349,8 +4360,13 @@ export default defineComponent({
|
|
|
4349
4360
|
$xetable.closeMenu();
|
|
4350
4361
|
}
|
|
4351
4362
|
}
|
|
4363
|
+
var isActivated = getEventTargetNode(evnt, $xegrid ? $xegrid.getRefMaps().refElem.value : el).flag;
|
|
4364
|
+
// 如果存在校验,点击了表格之外则清除
|
|
4365
|
+
if (!isActivated && editRules && validOpts.autoClear) {
|
|
4366
|
+
reactData.validErrorMaps = {};
|
|
4367
|
+
}
|
|
4352
4368
|
// 最后激活的表格
|
|
4353
|
-
internalData.isActivated =
|
|
4369
|
+
internalData.isActivated = isActivated;
|
|
4354
4370
|
};
|
|
4355
4371
|
/**
|
|
4356
4372
|
* 窗口失焦事件处理
|
|
@@ -6298,23 +6314,26 @@ export default defineComponent({
|
|
|
6298
6314
|
});
|
|
6299
6315
|
var renderVN = function () {
|
|
6300
6316
|
var _a;
|
|
6301
|
-
var loading = props.loading, stripe = props.stripe, showHeader = props.showHeader, treeConfig = props.treeConfig, mouseConfig = props.mouseConfig, showFooter = props.showFooter, highlightCell = props.highlightCell, highlightHoverRow = props.highlightHoverRow, highlightHoverColumn = props.highlightHoverColumn, editConfig = props.editConfig;
|
|
6317
|
+
var loading = props.loading, stripe = props.stripe, showHeader = props.showHeader, height = props.height, treeConfig = props.treeConfig, mouseConfig = props.mouseConfig, showFooter = props.showFooter, highlightCell = props.highlightCell, highlightHoverRow = props.highlightHoverRow, highlightHoverColumn = props.highlightHoverColumn, editConfig = props.editConfig, editRules = props.editRules;
|
|
6302
6318
|
var isGroup = reactData.isGroup, overflowX = reactData.overflowX, overflowY = reactData.overflowY, scrollXLoad = reactData.scrollXLoad, scrollYLoad = reactData.scrollYLoad, scrollbarHeight = reactData.scrollbarHeight, tableData = reactData.tableData, tableColumn = reactData.tableColumn, tableGroupColumn = reactData.tableGroupColumn, footerTableData = reactData.footerTableData, initStore = reactData.initStore, columnStore = reactData.columnStore, filterStore = reactData.filterStore;
|
|
6303
6319
|
var leftList = columnStore.leftList, rightList = columnStore.rightList;
|
|
6304
6320
|
var loadingSlot = slots.loading;
|
|
6305
6321
|
var tipConfig = computeTipConfig.value;
|
|
6322
|
+
var validOpts = computeValidOpts.value;
|
|
6306
6323
|
var treeOpts = computeTreeOpts.value;
|
|
6307
6324
|
var rowOpts = computeRowOpts.value;
|
|
6308
6325
|
var columnOpts = computeColumnOpts.value;
|
|
6309
6326
|
var vSize = computeSize.value;
|
|
6310
6327
|
var tableBorder = computeTableBorder.value;
|
|
6311
6328
|
var mouseOpts = computeMouseOpts.value;
|
|
6329
|
+
var validTipOpts = computeValidTipOpts.value;
|
|
6312
6330
|
var loadingOpts = computeLoadingOpts.value;
|
|
6313
6331
|
var isMenu = computeIsMenu.value;
|
|
6314
6332
|
return h('div', {
|
|
6315
6333
|
ref: refElem,
|
|
6316
6334
|
class: ['vxe-table', 'vxe-table--render-default', "tid_".concat(xID), "border--".concat(tableBorder), (_a = {},
|
|
6317
6335
|
_a["size--".concat(vSize)] = vSize,
|
|
6336
|
+
_a["vaild-msg--".concat(validOpts.msgMode)] = !!editRules,
|
|
6318
6337
|
_a['vxe-editable'] = !!editConfig,
|
|
6319
6338
|
_a['cell--highlight'] = highlightCell,
|
|
6320
6339
|
_a['cell--selected'] = mouseConfig && mouseOpts.selected,
|
|
@@ -6463,6 +6482,10 @@ export default defineComponent({
|
|
|
6463
6482
|
isArrow: false,
|
|
6464
6483
|
enterable: false
|
|
6465
6484
|
}) : createCommentVNode(),
|
|
6485
|
+
/**
|
|
6486
|
+
* 校验提示
|
|
6487
|
+
*/
|
|
6488
|
+
hasUseTooltip && props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip') ? h(resolveComponent('vxe-tooltip'), __assign({ ref: refValidTooltip, class: 'vxe-table--valid-error' }, (validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {}))) : createCommentVNode(),
|
|
6466
6489
|
/**
|
|
6467
6490
|
* 工具提示
|
|
6468
6491
|
*/
|
package/es/table/style.css
CHANGED
|
@@ -1238,6 +1238,7 @@
|
|
|
1238
1238
|
display: inline-block;
|
|
1239
1239
|
border-radius: var(--vxe-border-radius);
|
|
1240
1240
|
color: var(--vxe-table-validate-error-color);
|
|
1241
|
+
background-color: var(--vxe-table-validate-error-background-color);
|
|
1241
1242
|
pointer-events: auto;
|
|
1242
1243
|
}
|
|
1243
1244
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
|
|
@@ -1248,7 +1249,10 @@
|
|
|
1248
1249
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input > .vxe-input--inner {
|
|
1249
1250
|
border-color: var(--vxe-table-validate-error-color);
|
|
1250
1251
|
}
|
|
1251
|
-
.vxe-table--render-default .vxe-body--row:last-child .vxe-cell--valid {
|
|
1252
|
+
.vxe-table--render-default.vaild-msg--single .vxe-body--row:last-child .vxe-cell--valid {
|
|
1253
|
+
bottom: 100%;
|
|
1254
|
+
}
|
|
1255
|
+
.vxe-table--render-default.vaild-msg--full .vxe-body--row:last-child .vxe-cell--valid {
|
|
1252
1256
|
top: calc(100% - 1.3em);
|
|
1253
1257
|
}
|
|
1254
1258
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column {
|
|
@@ -1256,8 +1260,8 @@
|
|
|
1256
1260
|
}
|
|
1257
1261
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column:before {
|
|
1258
1262
|
content: "";
|
|
1259
|
-
top: var(--vxe-table-cell-dirty-width);
|
|
1260
|
-
left: var(--vxe-table-cell-dirty-width);
|
|
1263
|
+
top: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1264
|
+
left: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1261
1265
|
position: absolute;
|
|
1262
1266
|
border-width: var(--vxe-table-cell-dirty-width);
|
|
1263
1267
|
border-style: solid;
|
|
@@ -1308,6 +1312,13 @@
|
|
|
1308
1312
|
padding: 0;
|
|
1309
1313
|
}
|
|
1310
1314
|
|
|
1315
|
+
/*valid error*/
|
|
1316
|
+
div.vxe-table--tooltip-wrapper.vxe-table--valid-error {
|
|
1317
|
+
padding: 0;
|
|
1318
|
+
color: var(--vxe-table-validate-error-color);
|
|
1319
|
+
background-color: var(--vxe-table-validate-error-background-color);
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1311
1322
|
/*footer*/
|
|
1312
1323
|
.vxe-table--footer-wrapper {
|
|
1313
1324
|
color: var(--vxe-table-footer-font-color);
|
|
@@ -13,7 +13,10 @@ export default defineComponent({
|
|
|
13
13
|
name: String,
|
|
14
14
|
readonly: Boolean,
|
|
15
15
|
disabled: Boolean,
|
|
16
|
-
placeholder:
|
|
16
|
+
placeholder: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: function () { return XEUtils.eqNull(GlobalConfig.textarea.placeholder) ? GlobalConfig.i18n('vxe.base.pleaseInput') : GlobalConfig.textarea.placeholder; }
|
|
19
|
+
},
|
|
17
20
|
maxlength: [String, Number],
|
|
18
21
|
rows: { type: [String, Number], default: 2 },
|
|
19
22
|
cols: { type: [String, Number], default: null },
|
package/es/tools/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import GlobalConfig from '../v-x-e-table/src/conf';
|
|
2
2
|
export function getLog(message, params) {
|
|
3
|
-
return "[vxe-table v".concat("4.5.0-beta.
|
|
3
|
+
return "[vxe-table v".concat("4.5.0-beta.13", "] ").concat(GlobalConfig.i18n(message, params));
|
|
4
4
|
}
|
|
5
5
|
function outLog(type) {
|
|
6
6
|
return function (message, params) {
|
package/es/tooltip/style.css
CHANGED
|
@@ -126,10 +126,4 @@
|
|
|
126
126
|
}
|
|
127
127
|
.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow:before {
|
|
128
128
|
border-bottom-color: var(--vxe-tooltip-dark-background-color);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/*valid error*/
|
|
132
|
-
.vxe-table--tooltip-wrapper.vxe-table--valid-error {
|
|
133
|
-
background-color: var(--vxe-tooltip-validate-error-background-color);
|
|
134
|
-
color: var(--vxe-tooltip-validate-error-color);
|
|
135
129
|
}
|
package/es/v-x-e-table/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { renderer } from './src/renderer';
|
|
|
5
5
|
import { commands } from './src/commands';
|
|
6
6
|
import { menus } from './src/menus';
|
|
7
7
|
import { formats } from './src/formats';
|
|
8
|
+
import { validators } from './src/validators';
|
|
8
9
|
import { hooks } from './src/hooks';
|
|
9
10
|
import { setup } from './src/setup';
|
|
10
11
|
import { getLastZIndex, nextZIndex } from '../tools/utils';
|
|
@@ -83,12 +84,13 @@ export var config = new VXETableConfig();
|
|
|
83
84
|
export var v = 'v4';
|
|
84
85
|
export var VXETable = {
|
|
85
86
|
v: v,
|
|
86
|
-
version: "4.5.0-beta.
|
|
87
|
+
version: "4.5.0-beta.13",
|
|
87
88
|
setup: setup,
|
|
88
89
|
interceptor: interceptor,
|
|
89
90
|
renderer: renderer,
|
|
90
91
|
commands: commands,
|
|
91
92
|
formats: formats,
|
|
93
|
+
validators: validators,
|
|
92
94
|
menus: menus,
|
|
93
95
|
hooks: hooks,
|
|
94
96
|
config: config,
|
|
@@ -101,6 +103,7 @@ export * from './src/renderer';
|
|
|
101
103
|
export * from './src/commands';
|
|
102
104
|
export * from './src/menus';
|
|
103
105
|
export * from './src/formats';
|
|
106
|
+
export * from './src/validators';
|
|
104
107
|
export * from './src/hooks';
|
|
105
108
|
export * from './src/setup';
|
|
106
109
|
export default VXETable;
|
|
@@ -1,5 +1,51 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { warnLog } from '../../tools/log';
|
|
3
|
+
var VXEMenusStore = /** @class */ (function () {
|
|
4
|
+
function VXEMenusStore() {
|
|
5
|
+
this.store = {};
|
|
6
|
+
}
|
|
7
|
+
VXEMenusStore.prototype.mixin = function (options) {
|
|
8
|
+
var _this = this;
|
|
9
|
+
XEUtils.each(options, function (item, key) {
|
|
10
|
+
_this.add(key, item);
|
|
11
|
+
});
|
|
12
|
+
return this;
|
|
13
|
+
};
|
|
14
|
+
VXEMenusStore.prototype.has = function (name) {
|
|
15
|
+
return !!this.get(name);
|
|
16
|
+
};
|
|
17
|
+
VXEMenusStore.prototype.get = function (name) {
|
|
18
|
+
return this.store[name];
|
|
19
|
+
};
|
|
20
|
+
VXEMenusStore.prototype.add = function (name, render) {
|
|
21
|
+
var conf = this.store[name];
|
|
22
|
+
// 兼容
|
|
23
|
+
if (XEUtils.isFunction(render)) {
|
|
24
|
+
render = {
|
|
25
|
+
menuMethod: render
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
// 检测是否覆盖
|
|
29
|
+
if (process.env.NODE_ENV === 'development') {
|
|
30
|
+
var confKeys_1 = XEUtils.keys(conf);
|
|
31
|
+
XEUtils.each(render, function (item, key) {
|
|
32
|
+
if (confKeys_1.includes(key)) {
|
|
33
|
+
warnLog('vxe.error.coverProp', [name, key]);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
this.store[name] = conf ? XEUtils.merge(conf, render) : render;
|
|
38
|
+
return this;
|
|
39
|
+
};
|
|
40
|
+
VXEMenusStore.prototype.delete = function (name) {
|
|
41
|
+
delete this.store[name];
|
|
42
|
+
};
|
|
43
|
+
VXEMenusStore.prototype.forEach = function (callback) {
|
|
44
|
+
XEUtils.objectEach(this.store, callback);
|
|
45
|
+
};
|
|
46
|
+
return VXEMenusStore;
|
|
47
|
+
}());
|
|
48
|
+
export var menus = new VXEMenusStore();
|
|
3
49
|
if (process.env.NODE_ENV === 'development') {
|
|
4
50
|
Object.assign(menus, { _name: 'Menus' });
|
|
5
51
|
}
|
|
@@ -8,7 +8,10 @@ var Store = /** @class */ (function () {
|
|
|
8
8
|
this.store = {};
|
|
9
9
|
}
|
|
10
10
|
Store.prototype.mixin = function (options) {
|
|
11
|
-
|
|
11
|
+
var _this = this;
|
|
12
|
+
XEUtils.each(options, function (item, key) {
|
|
13
|
+
_this.add(key, item);
|
|
14
|
+
});
|
|
12
15
|
return this;
|
|
13
16
|
};
|
|
14
17
|
Store.prototype.has = function (name) {
|
package/es/validator/src/hook.js
CHANGED
|
@@ -12,8 +12,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
import { nextTick } from 'vue';
|
|
13
13
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
14
14
|
import XEUtils from 'xe-utils';
|
|
15
|
+
import { VXETable } from '../../v-x-e-table';
|
|
15
16
|
import { getFuncText, eqEmptyValue } from '../../tools/utils';
|
|
16
17
|
import { scrollToView } from '../../tools/dom';
|
|
18
|
+
import { errLog, warnLog } from '../../tools/log';
|
|
17
19
|
import { handleFieldOrColumn, getRowid } from '../../table/src/util';
|
|
18
20
|
/**
|
|
19
21
|
* 校验规则
|
|
@@ -56,6 +58,7 @@ var tableValidatorMethodKeys = ['fullValidate', 'validate', 'clearValidate'];
|
|
|
56
58
|
var validatorHook = {
|
|
57
59
|
setupTable: function ($xetable) {
|
|
58
60
|
var props = $xetable.props, reactData = $xetable.reactData, internalData = $xetable.internalData;
|
|
61
|
+
var refValidTooltip = $xetable.getRefMaps().refValidTooltip;
|
|
59
62
|
var _a = $xetable.getComputeMaps(), computeValidOpts = _a.computeValidOpts, computeTreeOpts = _a.computeTreeOpts, computeEditOpts = _a.computeEditOpts;
|
|
60
63
|
var validatorMethods = {};
|
|
61
64
|
var validatorPrivateMethods = {};
|
|
@@ -77,6 +80,19 @@ var validatorHook = {
|
|
|
77
80
|
}
|
|
78
81
|
});
|
|
79
82
|
};
|
|
83
|
+
var handleErrMsgMode = function (validErrMaps) {
|
|
84
|
+
var validOpts = computeValidOpts.value;
|
|
85
|
+
if (validOpts.msgMode === 'single') {
|
|
86
|
+
var keys = Object.keys(validErrMaps);
|
|
87
|
+
var resMaps = validErrMaps;
|
|
88
|
+
if (keys.length) {
|
|
89
|
+
var firstKey = keys[0];
|
|
90
|
+
resMaps[firstKey] = validErrMaps[firstKey];
|
|
91
|
+
}
|
|
92
|
+
return resMaps;
|
|
93
|
+
}
|
|
94
|
+
return validErrMaps;
|
|
95
|
+
};
|
|
80
96
|
/**
|
|
81
97
|
* 对表格数据进行校验
|
|
82
98
|
* 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改
|
|
@@ -165,7 +181,7 @@ var validatorHook = {
|
|
|
165
181
|
}
|
|
166
182
|
return Promise.all(rowValids).then(function () {
|
|
167
183
|
var ruleProps = Object.keys(validRest);
|
|
168
|
-
reactData.validErrorMaps = validErrMaps;
|
|
184
|
+
reactData.validErrorMaps = handleErrMsgMode(validErrMaps);
|
|
169
185
|
return nextTick().then(function () {
|
|
170
186
|
if (ruleProps.length) {
|
|
171
187
|
return Promise.reject(validRest[ruleProps[0]][0]);
|
|
@@ -206,7 +222,6 @@ var validatorHook = {
|
|
|
206
222
|
var row = firstErrParams.row;
|
|
207
223
|
var rowIndex = afterFullData.indexOf(row);
|
|
208
224
|
var locatRow = rowIndex > 0 ? afterFullData[rowIndex - 1] : row;
|
|
209
|
-
reactData.validErrorMaps = validErrMaps;
|
|
210
225
|
if (validOpts.autoPos === false) {
|
|
211
226
|
finish();
|
|
212
227
|
}
|
|
@@ -221,7 +236,9 @@ var validatorHook = {
|
|
|
221
236
|
});
|
|
222
237
|
});
|
|
223
238
|
}
|
|
224
|
-
|
|
239
|
+
else {
|
|
240
|
+
reactData.validErrorMaps = {};
|
|
241
|
+
}
|
|
225
242
|
return nextTick().then(function () {
|
|
226
243
|
if (cb) {
|
|
227
244
|
cb();
|
|
@@ -242,11 +259,22 @@ var validatorHook = {
|
|
|
242
259
|
return beginValidate(rows, cb);
|
|
243
260
|
},
|
|
244
261
|
clearValidate: function (rows, fieldOrColumn) {
|
|
262
|
+
var validErrorMaps = reactData.validErrorMaps;
|
|
263
|
+
var validTip = refValidTooltip.value;
|
|
264
|
+
var validOpts = computeValidOpts.value;
|
|
245
265
|
var rowList = XEUtils.isArray(rows) ? rows : (rows ? [rows] : []);
|
|
246
266
|
var colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : (fieldOrColumn ? [fieldOrColumn] : []).map(function (column) { return handleFieldOrColumn($xetable, column); }));
|
|
247
267
|
var validErrMaps = {};
|
|
268
|
+
if (validTip && validTip.reactData.visible) {
|
|
269
|
+
validTip.close();
|
|
270
|
+
}
|
|
271
|
+
// 如果是单个提示模式
|
|
272
|
+
if (validOpts.msgMode === 'single') {
|
|
273
|
+
reactData.validErrorMaps = {};
|
|
274
|
+
return nextTick();
|
|
275
|
+
}
|
|
248
276
|
if (rowList.length && colList.length) {
|
|
249
|
-
validErrMaps = Object.assign({},
|
|
277
|
+
validErrMaps = Object.assign({}, validErrorMaps);
|
|
250
278
|
rowList.forEach(function (row) {
|
|
251
279
|
colList.forEach(function (column) {
|
|
252
280
|
var vaildKey = "".concat(getRowid($xetable, row), ":").concat(column.id);
|
|
@@ -258,7 +286,7 @@ var validatorHook = {
|
|
|
258
286
|
}
|
|
259
287
|
else if (rowList.length) {
|
|
260
288
|
var rowidList_1 = rowList.map(function (row) { return "".concat(getRowid($xetable, row)); });
|
|
261
|
-
XEUtils.each(
|
|
289
|
+
XEUtils.each(validErrorMaps, function (item, key) {
|
|
262
290
|
if (rowidList_1.indexOf(key.split(':')[0]) > -1) {
|
|
263
291
|
validErrMaps[key] = item;
|
|
264
292
|
}
|
|
@@ -266,7 +294,7 @@ var validatorHook = {
|
|
|
266
294
|
}
|
|
267
295
|
else if (colList.length) {
|
|
268
296
|
var colidList_1 = colList.map(function (column) { return "".concat(column.id); });
|
|
269
|
-
XEUtils.each(
|
|
297
|
+
XEUtils.each(validErrorMaps, function (item, key) {
|
|
270
298
|
if (colidList_1.indexOf(key.split(':')[1]) > -1) {
|
|
271
299
|
validErrMaps[key] = item;
|
|
272
300
|
}
|
|
@@ -323,10 +351,10 @@ var validatorHook = {
|
|
|
323
351
|
if (rules_1) {
|
|
324
352
|
var cellValue_1 = XEUtils.isUndefined(val) ? XEUtils.get(row, field) : val;
|
|
325
353
|
rules_1.forEach(function (rule) {
|
|
326
|
-
var type = rule.type, trigger = rule.trigger, required = rule.required;
|
|
354
|
+
var type = rule.type, trigger = rule.trigger, required = rule.required, validator = rule.validator;
|
|
327
355
|
if (validType === 'all' || !trigger || validType === trigger) {
|
|
328
|
-
if (
|
|
329
|
-
var
|
|
356
|
+
if (validator) {
|
|
357
|
+
var validParams = {
|
|
330
358
|
cellValue: cellValue_1,
|
|
331
359
|
rule: rule,
|
|
332
360
|
rules: rules_1,
|
|
@@ -334,9 +362,32 @@ var validatorHook = {
|
|
|
334
362
|
rowIndex: $xetable.getRowIndex(row),
|
|
335
363
|
column: column,
|
|
336
364
|
columnIndex: $xetable.getColumnIndex(column),
|
|
337
|
-
field: column.
|
|
338
|
-
$table: $xetable
|
|
339
|
-
|
|
365
|
+
field: column.field,
|
|
366
|
+
$table: $xetable,
|
|
367
|
+
$grid: $xetable.xegrid
|
|
368
|
+
};
|
|
369
|
+
var customValid = void 0;
|
|
370
|
+
if (XEUtils.isString(validator)) {
|
|
371
|
+
var gvItem = VXETable.validators.get(validator);
|
|
372
|
+
if (gvItem) {
|
|
373
|
+
if (gvItem.cellValidatorMethod) {
|
|
374
|
+
customValid = gvItem.cellValidatorMethod(validParams);
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
if (process.env.NODE_ENV === 'development') {
|
|
378
|
+
warnLog('vxe.error.notValidators', [validator]);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
if (process.env.NODE_ENV === 'development') {
|
|
384
|
+
errLog('vxe.error.notValidators', [validator]);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
customValid = validator(validParams);
|
|
390
|
+
}
|
|
340
391
|
if (customValid) {
|
|
341
392
|
if (XEUtils.isError(customValid)) {
|
|
342
393
|
validRuleErr = true;
|
|
@@ -397,6 +448,12 @@ var validatorHook = {
|
|
|
397
448
|
var editStore = reactData.editStore;
|
|
398
449
|
var actived = editStore.actived;
|
|
399
450
|
var editOpts = computeEditOpts.value;
|
|
451
|
+
var validOpts = computeValidOpts.value;
|
|
452
|
+
// 检查清除校验消息
|
|
453
|
+
if (editRules && validOpts.msgMode === 'single') {
|
|
454
|
+
reactData.validErrorMaps = {};
|
|
455
|
+
}
|
|
456
|
+
// 校验单元格
|
|
400
457
|
if (editConfig && editRules && actived.row) {
|
|
401
458
|
var _a = actived.args, row_1 = _a.row, column_1 = _a.column, cell_1 = _a.cell;
|
|
402
459
|
if (validatorPrivateMethods.hasCellRules(type, row_1, column_1)) {
|
|
@@ -422,18 +479,39 @@ var validatorHook = {
|
|
|
422
479
|
* 弹出校验错误提示
|
|
423
480
|
*/
|
|
424
481
|
showValidTooltip: function (params) {
|
|
425
|
-
var _a;
|
|
426
|
-
var
|
|
482
|
+
var _a, _b;
|
|
483
|
+
var height = props.height;
|
|
484
|
+
var tableData = reactData.tableData, validStore = reactData.validStore, validErrorMaps = reactData.validErrorMaps;
|
|
485
|
+
var validOpts = computeValidOpts.value;
|
|
486
|
+
var validTip = refValidTooltip.value;
|
|
427
487
|
validStore.visible = true;
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
488
|
+
if (validOpts.msgMode === 'single') {
|
|
489
|
+
reactData.validErrorMaps = (_a = {},
|
|
490
|
+
_a["".concat(getRowid($xetable, params.row), ":").concat(params.column.id)] = {
|
|
491
|
+
column: params.column,
|
|
492
|
+
row: params.row,
|
|
493
|
+
rule: params.rule,
|
|
494
|
+
content: params.rule.content
|
|
495
|
+
},
|
|
496
|
+
_a);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
reactData.validErrorMaps = Object.assign({}, validErrorMaps, (_b = {},
|
|
500
|
+
_b["".concat(getRowid($xetable, params.row), ":").concat(params.column.id)] = {
|
|
501
|
+
column: params.column,
|
|
502
|
+
row: params.row,
|
|
503
|
+
rule: params.rule,
|
|
504
|
+
content: params.rule.content
|
|
505
|
+
},
|
|
506
|
+
_b));
|
|
507
|
+
}
|
|
436
508
|
$xetable.dispatchEvent('valid-error', params, null);
|
|
509
|
+
if (validTip) {
|
|
510
|
+
var cell = params.cell;
|
|
511
|
+
if (validTip && (validOpts.message === 'tooltip' || (validOpts.message === 'default' && !height && tableData.length < 2))) {
|
|
512
|
+
return validTip.open(cell, params.rule.content);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
437
515
|
return nextTick();
|
|
438
516
|
}
|
|
439
517
|
};
|
package/es/vxe-table/style.css
CHANGED
|
@@ -1238,6 +1238,7 @@
|
|
|
1238
1238
|
display: inline-block;
|
|
1239
1239
|
border-radius: var(--vxe-border-radius);
|
|
1240
1240
|
color: var(--vxe-table-validate-error-color);
|
|
1241
|
+
background-color: var(--vxe-table-validate-error-background-color);
|
|
1241
1242
|
pointer-events: auto;
|
|
1242
1243
|
}
|
|
1243
1244
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
|
|
@@ -1248,7 +1249,10 @@
|
|
|
1248
1249
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input > .vxe-input--inner {
|
|
1249
1250
|
border-color: var(--vxe-table-validate-error-color);
|
|
1250
1251
|
}
|
|
1251
|
-
.vxe-table--render-default .vxe-body--row:last-child .vxe-cell--valid {
|
|
1252
|
+
.vxe-table--render-default.vaild-msg--single .vxe-body--row:last-child .vxe-cell--valid {
|
|
1253
|
+
bottom: 100%;
|
|
1254
|
+
}
|
|
1255
|
+
.vxe-table--render-default.vaild-msg--full .vxe-body--row:last-child .vxe-cell--valid {
|
|
1252
1256
|
top: calc(100% - 1.3em);
|
|
1253
1257
|
}
|
|
1254
1258
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column {
|
|
@@ -1256,8 +1260,8 @@
|
|
|
1256
1260
|
}
|
|
1257
1261
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column:before {
|
|
1258
1262
|
content: "";
|
|
1259
|
-
top: var(--vxe-table-cell-dirty-width);
|
|
1260
|
-
left: var(--vxe-table-cell-dirty-width);
|
|
1263
|
+
top: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1264
|
+
left: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1261
1265
|
position: absolute;
|
|
1262
1266
|
border-width: var(--vxe-table-cell-dirty-width);
|
|
1263
1267
|
border-style: solid;
|
|
@@ -1308,6 +1312,13 @@
|
|
|
1308
1312
|
padding: 0;
|
|
1309
1313
|
}
|
|
1310
1314
|
|
|
1315
|
+
/*valid error*/
|
|
1316
|
+
div.vxe-table--tooltip-wrapper.vxe-table--valid-error {
|
|
1317
|
+
padding: 0;
|
|
1318
|
+
color: var(--vxe-table-validate-error-color);
|
|
1319
|
+
background-color: var(--vxe-table-validate-error-background-color);
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1311
1322
|
/*footer*/
|
|
1312
1323
|
.vxe-table--footer-wrapper {
|
|
1313
1324
|
color: var(--vxe-table-footer-font-color);
|
package/es/vxe-tooltip/style.css
CHANGED
|
@@ -126,10 +126,4 @@
|
|
|
126
126
|
}
|
|
127
127
|
.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow:before {
|
|
128
128
|
border-bottom-color: var(--vxe-tooltip-dark-background-color);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/*valid error*/
|
|
132
|
-
.vxe-table--tooltip-wrapper.vxe-table--valid-error {
|
|
133
|
-
background-color: var(--vxe-tooltip-validate-error-background-color);
|
|
134
|
-
color: var(--vxe-tooltip-validate-error-color);
|
|
135
129
|
}
|