bkui-vue 0.0.3-beta.1 → 0.0.3-beta.3
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/dist/index.cjs.js +166 -140
- package/dist/index.esm.js +20024 -16244
- package/dist/index.umd.js +166 -140
- package/dist/locale/en.esm.js +1 -1
- package/dist/locale/en.esm.js.map +1 -1
- package/dist/locale/en.umd.js +1 -1
- package/dist/locale/en.umd.js.map +1 -1
- package/dist/locale/zh-cn.esm.js +1 -1
- package/dist/locale/zh-cn.esm.js.map +1 -1
- package/dist/locale/zh-cn.umd.js +1 -1
- package/dist/locale/zh-cn.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/style.variable.css +1 -1
- package/lib/collapse/index.js +9 -9
- package/lib/config-provider/config-provider.d.ts +3 -0
- package/lib/config-provider/index.d.ts +4 -0
- package/lib/config-provider/token.d.ts +1 -0
- package/lib/dialog/dialog.d.ts +2 -2
- package/lib/dialog/index.d.ts +4 -4
- package/lib/dialog/props.d.ts +1 -1
- package/lib/icon/grag-fill.d.ts +4 -0
- package/lib/icon/grag-fill.js +191 -0
- package/lib/icon/index.d.ts +1 -0
- package/lib/icon/index.js +21 -1
- package/lib/info-box/index.d.ts +0 -1
- package/lib/info-box/index.js +17270 -43
- package/lib/info-box/info-box.d.ts +3 -4
- package/lib/locale/index.js +2 -0
- package/lib/locale/lang/en.d.ts +1 -0
- package/lib/modal/index.d.ts +5 -5
- package/lib/modal/index.js +1 -1
- package/lib/modal/modal.d.ts +2 -2
- package/lib/modal/props.mixin.d.ts +1 -1
- package/lib/preset.d.ts +2 -0
- package/lib/shared/index.js +13 -0
- package/lib/shared/vue-types.d.ts +1 -0
- package/lib/sideslider/index.d.ts +4 -4
- package/lib/sideslider/sideslider.d.ts +2 -2
- package/lib/tab/index.js +1 -1
- package/lib/table/events.d.ts +10 -1
- package/lib/table/index.d.ts +39 -0
- package/lib/table/index.js +168 -23
- package/lib/table/plugins/use-draggable.d.ts +17 -0
- package/lib/table/props.d.ts +13 -0
- package/lib/table/table.css +24 -0
- package/lib/table/table.d.ts +15 -0
- package/lib/table/table.less +24 -0
- package/lib/table/table.variable.css +24 -0
- package/lib/table/use-attributes.d.ts +1 -0
- package/lib/table-column/index.js +5 -1
- package/lib/tag-input/index.js +17287 -15
- package/lib/tag-input/tag-render.d.ts +7 -0
- package/lib/tree/index.d.ts +6 -24
- package/lib/tree/index.js +1 -1
- package/lib/tree/props.d.ts +1 -5
- package/lib/tree/tree.d.ts +2 -13
- package/package.json +1 -1
package/lib/table/index.js
CHANGED
@@ -614,7 +614,11 @@ var tableProps = {
|
|
614
614
|
/**
|
615
615
|
* 是否采用flex布局表格
|
616
616
|
*/
|
617
|
-
isFlex: external_shared_namespaceObject.PropTypes.bool.def(true)
|
617
|
+
isFlex: external_shared_namespaceObject.PropTypes.bool.def(true),
|
618
|
+
/**
|
619
|
+
* 是否支持行拖拽排序
|
620
|
+
*/
|
621
|
+
rowDraggable: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.func, external_shared_namespaceObject.PropTypes.bool, external_shared_namespaceObject.PropTypes.object]).def(false)
|
618
622
|
};
|
619
623
|
;// CONCATENATED MODULE: ../../packages/table/src/components/table-column.tsx
|
620
624
|
|
@@ -916,6 +920,7 @@ var EMIT_EVENTS;
|
|
916
920
|
EMIT_EVENTS["CELL_DBL_CLICK"] = "cellDblclick";
|
917
921
|
EMIT_EVENTS["NATIVE_CLICK"] = "click";
|
918
922
|
EMIT_EVENTS["NATIVE_DBL_CLICK"] = "dblclick";
|
923
|
+
EMIT_EVENTS["DRAG_END"] = "dragend";
|
919
924
|
})(EMIT_EVENTS || (EMIT_EVENTS = {}));
|
920
925
|
var EVENT_COL_PICK = function EVENT_COL_PICK(_cols) {
|
921
926
|
return true;
|
@@ -956,7 +961,10 @@ var EVENT_CELL_FN = function EVENT_CELL_FN(_args) {
|
|
956
961
|
var EVENT_SCROLL_FN = function EVENT_SCROLL_FN(_args) {
|
957
962
|
return true;
|
958
963
|
};
|
959
|
-
var
|
964
|
+
var EVENT_DRAGEND_FN = function EVENT_DRAGEND_FN(_args) {
|
965
|
+
return true;
|
966
|
+
};
|
967
|
+
var EMIT_EVENT_TYPES = (_EMIT_EVENT_TYPES = {}, defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.COLUMN_PICK, EVENT_COL_PICK), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.COLUMN_FILTER, EVENT_COL_FILTER), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.COLUMN_SORT, EVENT_COL_SORT), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.COLUMN_FILTER_SAVE, EVENT_COL_FILTER_SAVE), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_CLICK, EVENT_MOUSE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_DBL_CLICK, EVENT_MOUSE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_EXPAND_CLICK, EVENT_EXPAND_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_SELECT, EVENT_ROW_SELECT_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_SELECT_ALL, EVENT_ROW_SELECT_ALL_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_SELECT_CHANGE, EVENT_ROW_SELECT_CHANGE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.PAGE_LIMIT_CHANGE, EVENT_PAGE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.PAGE_VALUE_CHANGE, EVENT_PAGE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.SETTING_CHANGE, EVENT_SETTING_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.SCROLL_BOTTOM, EVENT_SCROLL_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.CELL_CLICK, EVENT_CELL_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.CELL_DBL_CLICK, EVENT_CELL_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_MOUSE_ENTER, EVENT_MOUSE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.ROW_MOUSE_LEAVE, EVENT_MOUSE_FN), defineProperty_defineProperty(_EMIT_EVENT_TYPES, EMIT_EVENTS.DRAG_END, EVENT_DRAGEND_FN), _EMIT_EVENT_TYPES);
|
960
968
|
var CELL_EVENT_TYPES = (_CELL_EVENT_TYPES = {}, defineProperty_defineProperty(_CELL_EVENT_TYPES, EMIT_EVENTS.NATIVE_CLICK, EVENT_MOUSE_FN), defineProperty_defineProperty(_CELL_EVENT_TYPES, EMIT_EVENTS.NATIVE_DBL_CLICK, EVENT_MOUSE_FN), _CELL_EVENT_TYPES);
|
961
969
|
;// CONCATENATED MODULE: external "lodash/isElement"
|
962
970
|
var isElement_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
@@ -3193,7 +3201,9 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
|
|
3193
3201
|
|
3194
3202
|
|
3195
3203
|
|
3204
|
+
|
3196
3205
|
/* harmony default export */ const use_attributes = (function (props) {
|
3206
|
+
var t = (0,external_config_provider_namespaceObject.useLocale)('table');
|
3197
3207
|
var getDefaultSettings = function getDefaultSettings() {
|
3198
3208
|
var _ref, _SETTING_SIZE$size;
|
3199
3209
|
var _props$settings = props.settings,
|
@@ -3265,6 +3275,17 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
|
|
3265
3275
|
}
|
3266
3276
|
return minWidth;
|
3267
3277
|
};
|
3278
|
+
var resolveDraggableColumn = function resolveDraggableColumn() {
|
3279
|
+
if (props.rowDraggable) {
|
3280
|
+
var _props$rowDraggable$w, _props$rowDraggable, _props$rowDraggable$l, _props$rowDraggable2;
|
3281
|
+
formatData.columns.unshift({
|
3282
|
+
minWidth: 50,
|
3283
|
+
width: (_props$rowDraggable$w = (_props$rowDraggable = props.rowDraggable) === null || _props$rowDraggable === void 0 ? void 0 : _props$rowDraggable.width) !== null && _props$rowDraggable$w !== void 0 ? _props$rowDraggable$w : 60,
|
3284
|
+
label: (_props$rowDraggable$l = (_props$rowDraggable2 = props.rowDraggable) === null || _props$rowDraggable2 === void 0 ? void 0 : _props$rowDraggable2.label) !== null && _props$rowDraggable$l !== void 0 ? _props$rowDraggable$l : t.value.sort,
|
3285
|
+
type: 'drag'
|
3286
|
+
});
|
3287
|
+
}
|
3288
|
+
};
|
3268
3289
|
/**
|
3269
3290
|
* Format columns
|
3270
3291
|
* @param columns
|
@@ -3273,9 +3294,10 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
|
|
3273
3294
|
var _formatData$columns;
|
3274
3295
|
formatData.columns.length = 0;
|
3275
3296
|
(_formatData$columns = formatData.columns).push.apply(_formatData$columns, _toConsumableArray(columns));
|
3297
|
+
resolveDraggableColumn();
|
3276
3298
|
var skipColNum = 0;
|
3277
3299
|
var needColSpan = neepColspanOrRowspan(['colspan']);
|
3278
|
-
(columns || []).forEach(function (col, index) {
|
3300
|
+
(formatData.columns || []).forEach(function (col, index) {
|
3279
3301
|
var _Object$assign;
|
3280
3302
|
var _ref4 = needColSpan ? getColumnSpanConfig(col, index, skipColNum) : {
|
3281
3303
|
skipCol: false,
|
@@ -3788,6 +3810,12 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
|
|
3788
3810
|
});
|
3789
3811
|
resolvePageDataBySortList(multiSortColumns);
|
3790
3812
|
};
|
3813
|
+
var changePageRowIndex = function changePageRowIndex(sourceIndex, targetIndex) {
|
3814
|
+
var copy = pageData[sourceIndex];
|
3815
|
+
pageData.splice(targetIndex, 0, copy);
|
3816
|
+
var resolvedIndex = sourceIndex < targetIndex ? sourceIndex : sourceIndex + 1;
|
3817
|
+
pageData.splice(resolvedIndex, 1);
|
3818
|
+
};
|
3791
3819
|
return {
|
3792
3820
|
formatColumns: formatColumns,
|
3793
3821
|
formatDataSchema: formatDataSchema,
|
@@ -3821,6 +3849,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
|
|
3821
3849
|
isCheckedAll: isCheckedAll,
|
3822
3850
|
hasCheckedRow: hasCheckedRow,
|
3823
3851
|
updateSettings: updateSettings,
|
3852
|
+
changePageRowIndex: changePageRowIndex,
|
3824
3853
|
pageData: pageData,
|
3825
3854
|
localPagination: localPagination,
|
3826
3855
|
formatData: formatData
|
@@ -4235,7 +4264,7 @@ const external_checkbox_namespaceObject = external_checkbox_x({ ["BkCheckboxGrou
|
|
4235
4264
|
;// CONCATENATED MODULE: external "../icon"
|
4236
4265
|
var external_icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
4237
4266
|
var external_icon_y = x => () => x
|
4238
|
-
const external_icon_namespaceObject = external_icon_x({ ["DownShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.DownShape, ["Funnel"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.Funnel, ["RightShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.RightShape });
|
4267
|
+
const external_icon_namespaceObject = external_icon_x({ ["DownShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.DownShape, ["Funnel"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.Funnel, ["GragFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.GragFill, ["RightShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.RightShape });
|
4239
4268
|
;// CONCATENATED MODULE: external "../pagination"
|
4240
4269
|
var external_pagination_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
4241
4270
|
var external_pagination_y = x => () => x
|
@@ -4885,6 +4914,115 @@ function _isSlot(s) {
|
|
4885
4914
|
};
|
4886
4915
|
}
|
4887
4916
|
}));
|
4917
|
+
;// CONCATENATED MODULE: ../../packages/table/src/plugins/use-draggable.tsx
|
4918
|
+
/*
|
4919
|
+
* Tencent is pleased to support the open source community by making
|
4920
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
|
4921
|
+
*
|
4922
|
+
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
4923
|
+
*
|
4924
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
|
4925
|
+
*
|
4926
|
+
* License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
|
4927
|
+
*
|
4928
|
+
* ---------------------------------------------------
|
4929
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
4930
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
4931
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
4932
|
+
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4933
|
+
*
|
4934
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
4935
|
+
* the Software.
|
4936
|
+
*
|
4937
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
4938
|
+
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
4939
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
4940
|
+
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
4941
|
+
* IN THE SOFTWARE.
|
4942
|
+
*/
|
4943
|
+
|
4944
|
+
/* harmony default export */ const use_draggable = (function (props, resp, ctx) {
|
4945
|
+
if (!props.rowDraggable) {
|
4946
|
+
return {};
|
4947
|
+
}
|
4948
|
+
var beforeEventFire = function beforeEventFire(fn) {
|
4949
|
+
if (props.rowDraggable) {
|
4950
|
+
fn === null || fn === void 0 ? void 0 : fn();
|
4951
|
+
}
|
4952
|
+
};
|
4953
|
+
var getTargetRow = function getTargetRow(event) {
|
4954
|
+
return event.target.closest('tr');
|
4955
|
+
};
|
4956
|
+
var setTargetRowPlacement = function setTargetRowPlacement(target, event) {
|
4957
|
+
var y = event.y;
|
4958
|
+
var _target$getBoundingCl = target.getBoundingClientRect(),
|
4959
|
+
top = _target$getBoundingCl.top,
|
4960
|
+
bottom = _target$getBoundingCl.bottom;
|
4961
|
+
var position = y - top > bottom - y ? '--bottom' : '--top';
|
4962
|
+
removeDragClass(target);
|
4963
|
+
target.classList.add(position);
|
4964
|
+
};
|
4965
|
+
var removeDragClass = function removeDragClass(target) {
|
4966
|
+
var classList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['--bottom', '--top'];
|
4967
|
+
classList.forEach(function (pos) {
|
4968
|
+
return target.classList.remove(pos);
|
4969
|
+
});
|
4970
|
+
};
|
4971
|
+
var onDragstart = function onDragstart(event) {
|
4972
|
+
beforeEventFire(function () {
|
4973
|
+
var target = getTargetRow(event);
|
4974
|
+
target.classList.add('--drag-start');
|
4975
|
+
event.dataTransfer.setData('text/plain', null);
|
4976
|
+
event.dataTransfer.dropEffect = 'copy';
|
4977
|
+
var rowIndex = event.target.dataset.rowIndex;
|
4978
|
+
event.dataTransfer.setData('data-row-index', rowIndex);
|
4979
|
+
});
|
4980
|
+
};
|
4981
|
+
var onDragenter = function onDragenter(event) {
|
4982
|
+
beforeEventFire(function () {
|
4983
|
+
event.dataTransfer.dropEffect = 'move';
|
4984
|
+
var target = getTargetRow(event);
|
4985
|
+
target.classList.add('--drag-enter');
|
4986
|
+
setTargetRowPlacement(target, event);
|
4987
|
+
});
|
4988
|
+
};
|
4989
|
+
var onDragleave = function onDragleave(event) {
|
4990
|
+
beforeEventFire(function () {
|
4991
|
+
var target = getTargetRow(event);
|
4992
|
+
removeDragClass(target, ['--drag-enter', '--bottom', '--top']);
|
4993
|
+
});
|
4994
|
+
};
|
4995
|
+
var onDragover = function onDragover(event) {
|
4996
|
+
event.preventDefault();
|
4997
|
+
event.dataTransfer.dropEffect = 'move';
|
4998
|
+
var target = getTargetRow(event);
|
4999
|
+
setTargetRowPlacement(target, event);
|
5000
|
+
};
|
5001
|
+
var onDrop = function onDrop(event) {
|
5002
|
+
event.preventDefault();
|
5003
|
+
event.stopPropagation();
|
5004
|
+
var target = getTargetRow(event);
|
5005
|
+
var rowIndex = target.dataset.rowIndex;
|
5006
|
+
var targetIndex = Number(rowIndex);
|
5007
|
+
var sourceIndex = event.dataTransfer.getData('data-row-index');
|
5008
|
+
if (target.classList.contains('--bottom')) {
|
5009
|
+
targetIndex = targetIndex + 1;
|
5010
|
+
}
|
5011
|
+
resp.changePageRowIndex(Number(sourceIndex), targetIndex);
|
5012
|
+
removeDragClass(target, ['--drag-enter', '--bottom', '--top']);
|
5013
|
+
ctx.emit(EMIT_EVENTS.DRAG_END, {
|
5014
|
+
sourceEvent: event,
|
5015
|
+
data: resp.pageData
|
5016
|
+
});
|
5017
|
+
};
|
5018
|
+
return {
|
5019
|
+
onDragenter: onDragenter,
|
5020
|
+
onDragleave: onDragleave,
|
5021
|
+
onDragstart: onDragstart,
|
5022
|
+
onDragover: onDragover,
|
5023
|
+
onDrop: onDrop
|
5024
|
+
};
|
5025
|
+
});
|
4888
5026
|
;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-filter.tsx
|
4889
5027
|
|
4890
5028
|
|
@@ -5645,6 +5783,7 @@ function use_render_objectSpread(target) { for (var i = 1; i < arguments.length;
|
|
5645
5783
|
|
5646
5784
|
|
5647
5785
|
|
5786
|
+
|
5648
5787
|
function use_render_isSlot(s) {
|
5649
5788
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
|
5650
5789
|
}
|
@@ -5788,20 +5927,6 @@ function use_render_isSlot(s) {
|
|
5788
5927
|
};
|
5789
5928
|
var _useFixedColumn = use_fixed_column(props, tableResp, head),
|
5790
5929
|
resolveFixedColumnStyle = _useFixedColumn.resolveFixedColumnStyle;
|
5791
|
-
// const getScrollFix = () => {
|
5792
|
-
// if (styleRef.value.hasScrollY) {
|
5793
|
-
// const fixStyle = {
|
5794
|
-
// width: `${SCROLLY_WIDTH + 2}px`,
|
5795
|
-
// right: '-1px',
|
5796
|
-
// };
|
5797
|
-
// return (
|
5798
|
-
// <th
|
5799
|
-
// style={fixStyle}
|
5800
|
-
// class='column_fixed'
|
5801
|
-
// ></th>
|
5802
|
-
// );
|
5803
|
-
// }
|
5804
|
-
// };
|
5805
5930
|
return (0,external_vue_namespaceObject.createVNode)(external_vue_namespaceObject.Fragment, null, [(0,external_vue_namespaceObject.createVNode)("thead", {
|
5806
5931
|
"style": rowStyle
|
5807
5932
|
}, [(0,external_vue_namespaceObject.createVNode)(table_row, null, {
|
@@ -5871,6 +5996,7 @@ function use_render_isSlot(s) {
|
|
5871
5996
|
skipRow: skipRow
|
5872
5997
|
};
|
5873
5998
|
};
|
5999
|
+
var dragEvents = use_draggable(props, tableResp, context);
|
5874
6000
|
/**
|
5875
6001
|
* 渲染Table Body
|
5876
6002
|
* @returns
|
@@ -5894,12 +6020,16 @@ function use_render_isSlot(s) {
|
|
5894
6020
|
'--row-height': "".concat(getRowHeight(row, rowIndex), "px")
|
5895
6021
|
}]);
|
5896
6022
|
var rowClass = [].concat(_toConsumableArray(formatPropAsArray(props.rowClass, [row, rowIndex])), ["hover-".concat(props.rowHover), rowIndex % 2 === 1 && props.stripe ? 'stripe-row' : '']);
|
5897
|
-
|
6023
|
+
var rowId = tableResp.getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_UID);
|
6024
|
+
return [(0,external_vue_namespaceObject.createVNode)(table_row, {
|
6025
|
+
"key": rowId
|
6026
|
+
}, {
|
5898
6027
|
"default": function _default() {
|
5899
|
-
return [(0,external_vue_namespaceObject.createVNode)("tr", {
|
6028
|
+
return [(0,external_vue_namespaceObject.createVNode)("tr", (0,external_vue_namespaceObject.mergeProps)({
|
5900
6029
|
"style": rowStyle,
|
5901
6030
|
"class": rowClass,
|
5902
6031
|
"key": getRowKeyNull(row, props, rowIndex),
|
6032
|
+
"data-row-index": rowIndex,
|
5903
6033
|
"onClick": function onClick(e) {
|
5904
6034
|
return handleRowClick(e, row, rowIndex, rows);
|
5905
6035
|
},
|
@@ -5911,8 +6041,9 @@ function use_render_isSlot(s) {
|
|
5911
6041
|
},
|
5912
6042
|
"onMouseleave": function onMouseleave(e) {
|
5913
6043
|
return handleRowLeave(e, row, rowIndex, rows);
|
5914
|
-
}
|
5915
|
-
|
6044
|
+
},
|
6045
|
+
"draggable": !!props.rowDraggable
|
6046
|
+
}, dragEvents), [filterColGroups.value.map(function (column, index) {
|
5916
6047
|
var cellStyle = [resolveFixedColumnStyle(column)].concat(_toConsumableArray(formatPropAsArray(props.cellStyle, [column, index, row, rowIndex])));
|
5917
6048
|
var _resolveCellSpan = resolveCellSpan(column, index, row, rowIndex),
|
5918
6049
|
colspan = _resolveCellSpan.colspan,
|
@@ -6125,6 +6256,19 @@ function use_render_isSlot(s) {
|
|
6125
6256
|
}
|
6126
6257
|
}, [renderExpandSlot()]);
|
6127
6258
|
};
|
6259
|
+
var renderDraggableCell = function renderDraggableCell(row, column, index, rows) {
|
6260
|
+
var _props$rowDraggable$r, _props$rowDraggable, _props$rowDraggable$f, _props$rowDraggable2, _props$rowDraggable$i, _props$rowDraggable3;
|
6261
|
+
var renderFn = (_props$rowDraggable$r = (_props$rowDraggable = props.rowDraggable) === null || _props$rowDraggable === void 0 ? void 0 : _props$rowDraggable.render) !== null && _props$rowDraggable$r !== void 0 ? _props$rowDraggable$r : props.rowDraggable;
|
6262
|
+
if (typeof renderFn === 'function') {
|
6263
|
+
return renderFn(row, column, index, rows);
|
6264
|
+
}
|
6265
|
+
var fontSize = (_props$rowDraggable$f = (_props$rowDraggable2 = props.rowDraggable) === null || _props$rowDraggable2 === void 0 ? void 0 : _props$rowDraggable2.fontSize) !== null && _props$rowDraggable$f !== void 0 ? _props$rowDraggable$f : '14px';
|
6266
|
+
var fontIcon = (_props$rowDraggable$i = (_props$rowDraggable3 = props.rowDraggable) === null || _props$rowDraggable3 === void 0 ? void 0 : _props$rowDraggable3.icon) !== null && _props$rowDraggable$i !== void 0 ? _props$rowDraggable$i : (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.GragFill, {
|
6267
|
+
"class": "drag-cell",
|
6268
|
+
"style": "'--font-size: ".concat(fontSize, ";'")
|
6269
|
+
}, null);
|
6270
|
+
return fontIcon;
|
6271
|
+
};
|
6128
6272
|
/**
|
6129
6273
|
* 渲染表格Cell内容
|
6130
6274
|
* @param row 当前行
|
@@ -6169,7 +6313,8 @@ function use_render_isSlot(s) {
|
|
6169
6313
|
},
|
6170
6314
|
selection: function selection(row, _column, index, _rows) {
|
6171
6315
|
return renderCheckboxColumn(row, index);
|
6172
|
-
}
|
6316
|
+
},
|
6317
|
+
drag: renderDraggableCell
|
6173
6318
|
};
|
6174
6319
|
return (_renderFn$column$type = (_renderFn$column$type2 = renderFn[column.type]) === null || _renderFn$column$type2 === void 0 ? void 0 : _renderFn$column$type2.call(renderFn, row, column, index, rows)) !== null && _renderFn$column$type !== void 0 ? _renderFn$column$type : defaultFn();
|
6175
6320
|
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { SetupContext } from 'vue';
|
2
|
+
import { TablePropTypes } from '../props';
|
3
|
+
import { ITableResponse } from '../use-attributes';
|
4
|
+
declare const _default: (props: TablePropTypes, resp: ITableResponse, ctx: SetupContext<any>) => {
|
5
|
+
onDragenter?: undefined;
|
6
|
+
onDragleave?: undefined;
|
7
|
+
onDragstart?: undefined;
|
8
|
+
onDragover?: undefined;
|
9
|
+
onDrop?: undefined;
|
10
|
+
} | {
|
11
|
+
onDragenter: (event: DragEvent) => void;
|
12
|
+
onDragleave: (event: DragEvent) => void;
|
13
|
+
onDragstart: (event: DragEvent) => void;
|
14
|
+
onDragover: (event: DragEvent) => void;
|
15
|
+
onDrop: (event: DragEvent) => void;
|
16
|
+
};
|
17
|
+
export default _default;
|
package/lib/table/props.d.ts
CHANGED
@@ -147,6 +147,13 @@ export type IColumnExplain = {
|
|
147
147
|
content: LabelFunctionString;
|
148
148
|
head: LabelFunctionString | boolean;
|
149
149
|
} | boolean;
|
150
|
+
export type IDraggableRowOption = {
|
151
|
+
label: (() => string) | string;
|
152
|
+
render?: () => HTMLElement | JSX.Element;
|
153
|
+
fontSize?: number;
|
154
|
+
icon?: JSX.Element;
|
155
|
+
width?: number;
|
156
|
+
};
|
150
157
|
export type Column = {
|
151
158
|
label: LabelFunctionString;
|
152
159
|
field?: LabelFunctionString;
|
@@ -535,5 +542,11 @@ export declare const tableProps: {
|
|
535
542
|
} & {
|
536
543
|
default: boolean;
|
537
544
|
};
|
545
|
+
/**
|
546
|
+
* 是否支持行拖拽排序
|
547
|
+
*/
|
548
|
+
rowDraggable: import("vue-types").VueTypeDef<any> & {
|
549
|
+
default: any;
|
550
|
+
};
|
538
551
|
};
|
539
552
|
export {};
|
package/lib/table/table.css
CHANGED
@@ -1109,6 +1109,13 @@
|
|
1109
1109
|
text-overflow: ellipsis;
|
1110
1110
|
white-space: nowrap;
|
1111
1111
|
}
|
1112
|
+
.bk-table .bk-table-head table th .cell .drag-cell,
|
1113
|
+
.bk-table .bk-table-body table th .cell .drag-cell,
|
1114
|
+
.bk-table .bk-table-head table td .cell .drag-cell,
|
1115
|
+
.bk-table .bk-table-body table td .cell .drag-cell {
|
1116
|
+
font-size: 14px;
|
1117
|
+
height: 100%;
|
1118
|
+
}
|
1112
1119
|
.bk-table .bk-table-head table th .cell.has-sort,
|
1113
1120
|
.bk-table .bk-table-body table th .cell.has-sort,
|
1114
1121
|
.bk-table .bk-table-head table td .cell.has-sort,
|
@@ -1267,10 +1274,27 @@
|
|
1267
1274
|
box-sizing: border-box;
|
1268
1275
|
align-items: center;
|
1269
1276
|
}
|
1277
|
+
.bk-table .bk-table-head table tbody tr td .cell.drag,
|
1278
|
+
.bk-table .bk-table-body table tbody tr td .cell.drag {
|
1279
|
+
cursor: move;
|
1280
|
+
text-align: center;
|
1281
|
+
}
|
1270
1282
|
.bk-table .bk-table-head table tbody tr:hover.hover-highlight td:not(.empty-cell),
|
1271
1283
|
.bk-table .bk-table-body table tbody tr:hover.hover-highlight td:not(.empty-cell) {
|
1272
1284
|
background: #f5f7fa;
|
1273
1285
|
}
|
1286
|
+
.bk-table .bk-table-head table tbody tr.--drag-enter.--bottom,
|
1287
|
+
.bk-table .bk-table-body table tbody tr.--drag-enter.--bottom {
|
1288
|
+
border-bottom: solid 1px #3785ff;
|
1289
|
+
}
|
1290
|
+
.bk-table .bk-table-head table tbody tr.--drag-enter.--top,
|
1291
|
+
.bk-table .bk-table-body table tbody tr.--drag-enter.--top {
|
1292
|
+
border-top: solid 1px #3785ff;
|
1293
|
+
}
|
1294
|
+
.bk-table .bk-table-head table tbody tr.--drag-start,
|
1295
|
+
.bk-table .bk-table-body table tbody tr.--drag-start {
|
1296
|
+
background: #fff;
|
1297
|
+
}
|
1274
1298
|
.bk-table .bk-table-head {
|
1275
1299
|
position: relative;
|
1276
1300
|
z-index: 2;
|
package/lib/table/table.d.ts
CHANGED
@@ -151,6 +151,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
151
151
|
} & {
|
152
152
|
default: boolean;
|
153
153
|
};
|
154
|
+
rowDraggable: import("vue-types").VueTypeDef<any> & {
|
155
|
+
default: any;
|
156
|
+
};
|
154
157
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
155
158
|
columnPick: (_cols: import("./props").IColumnActive[]) => boolean;
|
156
159
|
columnFilter: (_args: {
|
@@ -230,6 +233,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
230
233
|
}) => boolean;
|
231
234
|
rowMouseEnter: (_e: MouseEvent, _row: any, _index: number, _rows: any[], _this: any) => boolean;
|
232
235
|
rowMouseLeave: (_e: MouseEvent, _row: any, _index: number, _rows: any[], _this: any) => boolean;
|
236
|
+
dragend: (_args: {
|
237
|
+
sourceEvent: DragEvent;
|
238
|
+
data: any[];
|
239
|
+
}) => boolean;
|
233
240
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
234
241
|
data: import("vue-types").VueTypeDef<any[]> & {
|
235
242
|
default: () => any[];
|
@@ -382,7 +389,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
382
389
|
} & {
|
383
390
|
default: boolean;
|
384
391
|
};
|
392
|
+
rowDraggable: import("vue-types").VueTypeDef<any> & {
|
393
|
+
default: any;
|
394
|
+
};
|
385
395
|
}>> & {
|
396
|
+
onDragend?: (_args: {
|
397
|
+
sourceEvent: DragEvent;
|
398
|
+
data: any[];
|
399
|
+
}) => any;
|
386
400
|
onSelect?: (_args: {
|
387
401
|
row: any;
|
388
402
|
index: Number;
|
@@ -502,5 +516,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
502
516
|
observerResize: boolean;
|
503
517
|
prependStyle: import("vue").CSSProperties;
|
504
518
|
isFlex: boolean;
|
519
|
+
rowDraggable: any;
|
505
520
|
}, {}>;
|
506
521
|
export default _default;
|
package/lib/table/table.less
CHANGED
@@ -145,6 +145,11 @@
|
|
145
145
|
text-overflow: ellipsis;
|
146
146
|
white-space: nowrap;
|
147
147
|
|
148
|
+
.drag-cell {
|
149
|
+
font-size: 14px;
|
150
|
+
height: 100%;
|
151
|
+
}
|
152
|
+
|
148
153
|
&.has-sort {
|
149
154
|
cursor: pointer;
|
150
155
|
}
|
@@ -288,6 +293,11 @@
|
|
288
293
|
line-height: calc(var(--row-height) - 1px);
|
289
294
|
box-sizing: border-box;
|
290
295
|
align-items: center;
|
296
|
+
|
297
|
+
&.drag {
|
298
|
+
cursor: move;
|
299
|
+
text-align: center;
|
300
|
+
}
|
291
301
|
}
|
292
302
|
}
|
293
303
|
|
@@ -300,6 +310,20 @@
|
|
300
310
|
}
|
301
311
|
}
|
302
312
|
}
|
313
|
+
|
314
|
+
&.--drag-enter {
|
315
|
+
&.--bottom {
|
316
|
+
border-bottom: solid 1px #3785ff;
|
317
|
+
}
|
318
|
+
|
319
|
+
&.--top {
|
320
|
+
border-top: solid 1px #3785ff;
|
321
|
+
}
|
322
|
+
}
|
323
|
+
|
324
|
+
&.--drag-start {
|
325
|
+
background: #fff;
|
326
|
+
}
|
303
327
|
}
|
304
328
|
}
|
305
329
|
}
|
@@ -1235,6 +1235,13 @@
|
|
1235
1235
|
text-overflow: ellipsis;
|
1236
1236
|
white-space: nowrap;
|
1237
1237
|
}
|
1238
|
+
.bk-table .bk-table-head table th .cell .drag-cell,
|
1239
|
+
.bk-table .bk-table-body table th .cell .drag-cell,
|
1240
|
+
.bk-table .bk-table-head table td .cell .drag-cell,
|
1241
|
+
.bk-table .bk-table-body table td .cell .drag-cell {
|
1242
|
+
font-size: 14px;
|
1243
|
+
height: 100%;
|
1244
|
+
}
|
1238
1245
|
.bk-table .bk-table-head table th .cell.has-sort,
|
1239
1246
|
.bk-table .bk-table-body table th .cell.has-sort,
|
1240
1247
|
.bk-table .bk-table-head table td .cell.has-sort,
|
@@ -1393,10 +1400,27 @@
|
|
1393
1400
|
box-sizing: border-box;
|
1394
1401
|
align-items: center;
|
1395
1402
|
}
|
1403
|
+
.bk-table .bk-table-head table tbody tr td .cell.drag,
|
1404
|
+
.bk-table .bk-table-body table tbody tr td .cell.drag {
|
1405
|
+
cursor: move;
|
1406
|
+
text-align: center;
|
1407
|
+
}
|
1396
1408
|
.bk-table .bk-table-head table tbody tr:hover.hover-highlight td:not(.empty-cell),
|
1397
1409
|
.bk-table .bk-table-body table tbody tr:hover.hover-highlight td:not(.empty-cell) {
|
1398
1410
|
background: #f5f7fa;
|
1399
1411
|
}
|
1412
|
+
.bk-table .bk-table-head table tbody tr.--drag-enter.--bottom,
|
1413
|
+
.bk-table .bk-table-body table tbody tr.--drag-enter.--bottom {
|
1414
|
+
border-bottom: solid 1px #3785ff;
|
1415
|
+
}
|
1416
|
+
.bk-table .bk-table-head table tbody tr.--drag-enter.--top,
|
1417
|
+
.bk-table .bk-table-body table tbody tr.--drag-enter.--top {
|
1418
|
+
border-top: solid 1px #3785ff;
|
1419
|
+
}
|
1420
|
+
.bk-table .bk-table-head table tbody tr.--drag-start,
|
1421
|
+
.bk-table .bk-table-body table tbody tr.--drag-start {
|
1422
|
+
background: #fff;
|
1423
|
+
}
|
1400
1424
|
.bk-table .bk-table-head {
|
1401
1425
|
position: relative;
|
1402
1426
|
z-index: 2;
|
@@ -51,6 +51,7 @@ export type ITableResponse = {
|
|
51
51
|
setRowSelectionAll: (val: boolean) => void;
|
52
52
|
setRowIndeterminate: () => void;
|
53
53
|
updateSettings: (settings?: Settings, rowHeight?: number) => void;
|
54
|
+
changePageRowIndex: (sourceIndex: number, targetIndex: number) => void;
|
54
55
|
pageData: any[];
|
55
56
|
localPagination: any;
|
56
57
|
formatData: ITableFormatData;
|
@@ -585,7 +585,11 @@ var tableProps = {
|
|
585
585
|
/**
|
586
586
|
* 是否采用flex布局表格
|
587
587
|
*/
|
588
|
-
isFlex: external_shared_namespaceObject.PropTypes.bool.def(true)
|
588
|
+
isFlex: external_shared_namespaceObject.PropTypes.bool.def(true),
|
589
|
+
/**
|
590
|
+
* 是否支持行拖拽排序
|
591
|
+
*/
|
592
|
+
rowDraggable: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.func, external_shared_namespaceObject.PropTypes.bool, external_shared_namespaceObject.PropTypes.object]).def(false)
|
589
593
|
};
|
590
594
|
;// CONCATENATED MODULE: ../../packages/table/src/components/table-column.tsx
|
591
595
|
|