bkui-vue 2.0.1-beta.44 → 2.0.1-beta.46

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.
@@ -17775,9 +17775,7 @@ var tableProps = {
17775
17775
  /**
17776
17776
  * 单元格数据为空展示
17777
17777
  */
17778
- emptyCellText: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string, shared_namespaceObject.PropTypes.func.def(function () {
17779
- return '';
17780
- })]).def(''),
17778
+ emptyCellText: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string, shared_namespaceObject.PropTypes.func]).def(''),
17781
17779
  /**
17782
17780
  * 判定单元格是否为空
17783
17781
  * 支持数组:判定条件为 arr.some(item => item === cellText)
@@ -23261,7 +23259,7 @@ function use_render_isSlot(s) {
23261
23259
  var renderAppendLastRow = function renderAppendLastRow() {
23262
23260
  var rowId = 'append-last-row';
23263
23261
  var rowStyle = [].concat(_toConsumableArray(formatPropAsArray(props.rowStyle, [])), [{
23264
- '--row-height': "".concat(getRowHeight(null, null), "px")
23262
+ '--row-height': "".concat(getRowHeight(null, null, 'append-last-row'), "px")
23265
23263
  }]);
23266
23264
  if (props.appendLastRow.type === 'default') {
23267
23265
  if (ctx.slots.appendLastRow) {
@@ -23315,9 +23313,13 @@ function use_render_isSlot(s) {
23315
23313
  return result;
23316
23314
  }), renderAppendLastRow()]);
23317
23315
  };
23318
- var getRowHeight = function getRowHeight(row, rowIndex) {
23316
+ var getRowHeight = function getRowHeight(row, rowIndex, type) {
23319
23317
  if (typeof props.rowHeight === 'function' || /^\d+/.test("".concat(props.rowHeight))) {
23320
- return resolvePropVal(props, 'rowHeight', ['tbody', row, rowIndex]);
23318
+ return resolvePropVal(props, 'rowHeight', [{
23319
+ index: rowIndex,
23320
+ type: type !== null && type !== void 0 ? type : 'tbody',
23321
+ row: row
23322
+ }]);
23321
23323
  }
23322
23324
  var _settings$options = settings.options,
23323
23325
  size = _settings$options.size,
@@ -24155,6 +24157,79 @@ var useSettings = function useSettings(props, ctx, columns, afterSetting) {
24155
24157
  immediate: true,
24156
24158
  deep: true
24157
24159
  });
24160
+ var getRenderContent = function getRenderContent() {
24161
+ var _slot2;
24162
+ var _ctx$slots$settings, _ctx$slots$settings2, _ctx$slots, _ctx$slots$setting, _ctx$slots2;
24163
+ return (_ctx$slots$settings = (_ctx$slots$settings2 = (_ctx$slots = ctx.slots).settings) === null || _ctx$slots$settings2 === void 0 ? void 0 : _ctx$slots$settings2.call(_ctx$slots)) !== null && _ctx$slots$settings !== void 0 ? _ctx$slots$settings : (0,external_vue_namespaceObject.createVNode)(external_vue_namespaceObject.Fragment, null, [(0,external_vue_namespaceObject.createVNode)("div", {
24164
+ "class": "setting-head"
24165
+ }, [(0,external_vue_namespaceObject.createVNode)("span", {
24166
+ "class": "head-title"
24167
+ }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
24168
+ "class": "icon-close-action",
24169
+ "onClick": handleCancelClick
24170
+ }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
24171
+ "class": "setting-body"
24172
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
24173
+ "class": "setting-body-title"
24174
+ }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
24175
+ "class": "field-setting-label"
24176
+ }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
24177
+ "class": "limit"
24178
+ }, [t.value.setting.fields.subtitle(options.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
24179
+ "class": "check-all",
24180
+ "onClick": handleCheckAllClick
24181
+ }, [(0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
24182
+ "indeterminate": Boolean(indeterminate.value),
24183
+ "label": t.value.setting.fields.selectAll,
24184
+ "modelValue": checkedFields.value.length > 0
24185
+ }, {
24186
+ "default": function _default() {
24187
+ return [t.value.setting.fields.selectAll];
24188
+ }
24189
+ })])]), (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject.BkCheckboxGroup, {
24190
+ "class": "setting-body-fields",
24191
+ "modelValue": checkedFields.value,
24192
+ "onUpdate:modelValue": function onUpdateModelValue($event) {
24193
+ return checkedFields.value = $event;
24194
+ }
24195
+ }, use_settings_isSlot(_slot2 = renderFields.value.map(function (item, index) {
24196
+ var _slot;
24197
+ return (0,external_vue_namespaceObject.createVNode)("div", {
24198
+ "class": "field-item"
24199
+ }, [(0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
24200
+ "checked": checkedFields.value.includes(resolvedColVal(item, index)),
24201
+ "disabled": isItemReadonly(item, index),
24202
+ "label": resolvedColVal(item, index)
24203
+ }, use_settings_isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
24204
+ "default": function _default() {
24205
+ return [_slot];
24206
+ }
24207
+ })]);
24208
+ })) ? _slot2 : {
24209
+ "default": function _default() {
24210
+ return [_slot2];
24211
+ }
24212
+ }), (_ctx$slots$setting = (_ctx$slots2 = ctx.slots).setting) === null || _ctx$slots$setting === void 0 ? void 0 : _ctx$slots$setting.call(_ctx$slots2), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
24213
+ "class": "setting-body-line-height"
24214
+ }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
24215
+ "class": "setting-footer"
24216
+ }, [(0,external_vue_namespaceObject.createVNode)(button_namespaceObject["default"], {
24217
+ "style": buttonStyle,
24218
+ "theme": "primary",
24219
+ "onClick": handleSaveClick
24220
+ }, {
24221
+ "default": function _default() {
24222
+ return [t.value.setting.options.ok];
24223
+ }
24224
+ }), (0,external_vue_namespaceObject.createVNode)(button_namespaceObject["default"], {
24225
+ "style": buttonStyle,
24226
+ "onClick": handleCancelClick
24227
+ }, {
24228
+ "default": function _default() {
24229
+ return [t.value.setting.options.cancel];
24230
+ }
24231
+ })])]);
24232
+ };
24158
24233
  var renderSettings = function renderSettings() {
24159
24234
  var _options$trigger;
24160
24235
  if (!props.settings) {
@@ -24178,79 +24253,9 @@ var useSettings = function useSettings(props, ctx, columns, afterSetting) {
24178
24253
  }, null)]);
24179
24254
  },
24180
24255
  content: function content() {
24181
- var _ctx$slots$setting, _ctx$slots;
24182
- var _slot2;
24183
24256
  return (0,external_vue_namespaceObject.createVNode)("div", {
24184
24257
  "class": "setting-content"
24185
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
24186
- "class": "setting-head"
24187
- }, [(0,external_vue_namespaceObject.createVNode)("span", {
24188
- "class": "head-title"
24189
- }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
24190
- "class": "icon-close-action",
24191
- "onClick": handleCancelClick
24192
- }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
24193
- "class": "setting-body"
24194
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
24195
- "class": "setting-body-title"
24196
- }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
24197
- "class": "field-setting-label"
24198
- }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
24199
- "class": "limit"
24200
- }, [t.value.setting.fields.subtitle(options.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
24201
- "class": "check-all",
24202
- "onClick": handleCheckAllClick
24203
- }, [(0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
24204
- "indeterminate": Boolean(indeterminate.value),
24205
- "label": t.value.setting.fields.selectAll,
24206
- "modelValue": checkedFields.value.length > 0
24207
- }, {
24208
- "default": function _default() {
24209
- return [t.value.setting.fields.selectAll];
24210
- }
24211
- })])]), (0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject.BkCheckboxGroup, {
24212
- "class": "setting-body-fields",
24213
- "modelValue": checkedFields.value,
24214
- "onUpdate:modelValue": function onUpdateModelValue($event) {
24215
- return checkedFields.value = $event;
24216
- }
24217
- }, use_settings_isSlot(_slot2 = renderFields.value.map(function (item, index) {
24218
- var _slot;
24219
- return (0,external_vue_namespaceObject.createVNode)("div", {
24220
- "class": "field-item"
24221
- }, [(0,external_vue_namespaceObject.createVNode)(checkbox_namespaceObject["default"], {
24222
- "checked": checkedFields.value.includes(resolvedColVal(item, index)),
24223
- "disabled": isItemReadonly(item, index),
24224
- "label": resolvedColVal(item, index)
24225
- }, use_settings_isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
24226
- "default": function _default() {
24227
- return [_slot];
24228
- }
24229
- })]);
24230
- })) ? _slot2 : {
24231
- "default": function _default() {
24232
- return [_slot2];
24233
- }
24234
- }), (_ctx$slots$setting = (_ctx$slots = ctx.slots).setting) === null || _ctx$slots$setting === void 0 ? void 0 : _ctx$slots$setting.call(_ctx$slots), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
24235
- "class": "setting-body-line-height"
24236
- }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
24237
- "class": "setting-footer"
24238
- }, [(0,external_vue_namespaceObject.createVNode)(button_namespaceObject["default"], {
24239
- "style": buttonStyle,
24240
- "theme": "primary",
24241
- "onClick": handleSaveClick
24242
- }, {
24243
- "default": function _default() {
24244
- return [t.value.setting.options.ok];
24245
- }
24246
- }), (0,external_vue_namespaceObject.createVNode)(button_namespaceObject["default"], {
24247
- "style": buttonStyle,
24248
- "onClick": handleCancelClick
24249
- }, {
24250
- "default": function _default() {
24251
- return [t.value.setting.options.cancel];
24252
- }
24253
- })])]);
24258
+ }, [getRenderContent()]);
24254
24259
  }
24255
24260
  });
24256
24261
  };
@@ -1303,6 +1303,10 @@
1303
1303
  table-layout: fixed;
1304
1304
  align-self: flex-start;
1305
1305
  }
1306
+ .bk-table .bk-table-head table.bk-table-col-resizing th,
1307
+ .bk-table .bk-table-body table.bk-table-col-resizing th {
1308
+ cursor: col-resize !important;
1309
+ }
1306
1310
  .bk-table .bk-table-head table th,
1307
1311
  .bk-table .bk-table-body table th,
1308
1312
  .bk-table .bk-table-head table td,
@@ -103,6 +103,12 @@
103
103
  table-layout: fixed;
104
104
  align-self: flex-start;
105
105
 
106
+ &.@{bk-prefix}-table-col-resizing {
107
+ th {
108
+ cursor: col-resize !important;
109
+ }
110
+ }
111
+
106
112
  th,
107
113
  td {
108
114
  height: var(--row-height);
@@ -1693,6 +1693,10 @@
1693
1693
  table-layout: fixed;
1694
1694
  align-self: flex-start;
1695
1695
  }
1696
+ .bk-table .bk-table-head table.bk-table-col-resizing th,
1697
+ .bk-table .bk-table-body table.bk-table-col-resizing th {
1698
+ cursor: col-resize !important;
1699
+ }
1696
1700
  .bk-table .bk-table-head table th,
1697
1701
  .bk-table .bk-table-body table th,
1698
1702
  .bk-table .bk-table-head table td,
@@ -17750,9 +17750,7 @@ var tableProps = {
17750
17750
  /**
17751
17751
  * 单元格数据为空展示
17752
17752
  */
17753
- emptyCellText: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string, shared_namespaceObject.PropTypes.func.def(function () {
17754
- return '';
17755
- })]).def(''),
17753
+ emptyCellText: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string, shared_namespaceObject.PropTypes.func]).def(''),
17756
17754
  /**
17757
17755
  * 判定单元格是否为空
17758
17756
  * 支持数组:判定条件为 arr.some(item => item === cellText)
@@ -17711,9 +17711,14 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
17711
17711
  var diffHeight = 0;
17712
17712
  var lastHeight = 0;
17713
17713
  for (; startIndex < maxCount; startIndex++) {
17714
- lastHeight = callback(startIndex, [startIndex * groupItemCount, (startIndex + 1) * groupItemCount, 'virtual']);
17714
+ lastHeight = callback({
17715
+ index: startIndex,
17716
+ items: [startIndex * groupItemCount, (startIndex + 1) * groupItemCount],
17717
+ type: 'virtual'
17718
+ });
17715
17719
  if (height + lastHeight > maxHeight) {
17716
17720
  diffHeight = maxHeight - height;
17721
+ startIndex = startIndex + Math.round(diffHeight / lastHeight);
17717
17722
  break;
17718
17723
  }
17719
17724
  height += lastHeight;
@@ -18083,6 +18088,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18083
18088
  var listLength = (0,external_vue_namespaceObject.ref)(0);
18084
18089
  /** 实际高度,根据行高和总行数计算出来的实际高度 */
18085
18090
  var innerHeight = (0,external_vue_namespaceObject.ref)(0);
18091
+ var contentHeight = (0,external_vue_namespaceObject.ref)(0);
18086
18092
  var virtualRoot = (0,external_vue_namespaceObject.ref)(null);
18087
18093
  var _useScrollbar = use_scrollbar(props),
18088
18094
  init = _useScrollbar.init,
@@ -18101,6 +18107,30 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18101
18107
  groupItemCount: props.groupItemCount
18102
18108
  });
18103
18109
  var calcList = (0,external_vue_namespaceObject.ref)([]);
18110
+ var getLastPageIndex = function getLastPageIndex() {
18111
+ // @ts-ignore
18112
+ var elHeight = virtualRoot.value.offsetHeight;
18113
+ var startIndex = listLength.value;
18114
+ var rowsHeight = 0;
18115
+ var lastHeight = 0;
18116
+ var diffHeight = 0;
18117
+ for (; startIndex > 0; startIndex--) {
18118
+ lastHeight = props.lineHeight({
18119
+ index: startIndex,
18120
+ items: [startIndex, startIndex * props.groupItemCount],
18121
+ type: 'virtual'
18122
+ });
18123
+ rowsHeight = rowsHeight + lastHeight;
18124
+ if (rowsHeight > elHeight) {
18125
+ diffHeight = rowsHeight - elHeight;
18126
+ break;
18127
+ }
18128
+ }
18129
+ return {
18130
+ diffHeight: diffHeight,
18131
+ startIndex: startIndex
18132
+ };
18133
+ };
18104
18134
  /** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
18105
18135
  var handleScrollCallback = function handleScrollCallback(event, startIndex, endIndex, scrollTop, translateY, scrollLeft, pos) {
18106
18136
  var translateX = scrollLeft;
@@ -18118,13 +18148,17 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18118
18148
  var total = localList.value.length;
18119
18149
  if (total < end) {
18120
18150
  end = total;
18121
- start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18122
- start = start < 0 ? 0 : start;
18123
- }
18124
- if (end > total) {
18125
- end = total;
18126
- start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18151
+ if (typeof props.lineHeight === 'function') {
18152
+ start = getLastPageIndex().startIndex;
18153
+ } else {
18154
+ start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18155
+ start = start < 0 ? 0 : start;
18156
+ }
18127
18157
  }
18158
+ // if (end > total) {
18159
+ // end = total;
18160
+ // start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18161
+ // }
18128
18162
  var value = localList.value.slice(start, end);
18129
18163
  calcList.value = value;
18130
18164
  if (event) {
@@ -18172,7 +18206,11 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18172
18206
  innerHeight.value = 0;
18173
18207
  var fnValue = 0;
18174
18208
  for (var i = 0; i < listLength.value; i++) {
18175
- var fnVal = props.lineHeight.call(_this, i, list.slice(i * props.groupItemCount, props.groupItemCount));
18209
+ var fnVal = props.lineHeight.apply(_this, [{
18210
+ index: i,
18211
+ type: 'virtual',
18212
+ items: [i * props.groupItemCount, props.groupItemCount]
18213
+ }]);
18176
18214
  fnValue += typeof fnVal === 'number' ? fnVal : 0;
18177
18215
  }
18178
18216
  innerHeight.value = fnValue;
@@ -18182,6 +18220,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18182
18220
  } else {
18183
18221
  innerHeight.value = props.abosuteHeight;
18184
18222
  }
18223
+ setContentHeight();
18185
18224
  };
18186
18225
  /** 列表数据重置之后的处理事项 */
18187
18226
  var afterListDataReset = function afterListDataReset() {
@@ -18220,9 +18259,9 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18220
18259
  minHeight: props.minHeight ? "".concat(props.minHeight, "px") : false
18221
18260
  }, props.scrollPosition === 'container' ? innerContentStyle.value : {}), props.wrapperStyle);
18222
18261
  });
18223
- var contentHeight = (0,external_vue_namespaceObject.computed)(function () {
18224
- return innerHeight.value < props.minHeight ? props.minHeight : innerHeight.value;
18225
- });
18262
+ var setContentHeight = function setContentHeight() {
18263
+ contentHeight.value = innerHeight.value < props.minHeight ? props.minHeight : innerHeight.value;
18264
+ };
18226
18265
  var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
18227
18266
  resolveClassName = _usePrefix.resolveClassName;
18228
18267
  /** 外层样式列表 */
@@ -18247,7 +18286,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18247
18286
  var _useFixTop = use_fix_top(props, scrollTo),
18248
18287
  fixToTop = _useFixTop.fixToTop;
18249
18288
  (0,external_vue_namespaceObject.watch)(function () {
18250
- return [contentHeight.value, props.list];
18289
+ return [props.list];
18251
18290
  }, function () {
18252
18291
  var _instance3;
18253
18292
  (_instance3 = instance) === null || _instance3 === void 0 || _instance3.setBinding(binding);
@@ -1,4 +1,8 @@
1
- export declare function getMatchedIndex(maxCount: number, maxHeight: number, groupItemCount: number, callback: (index: number, items: (number | string)[]) => 0): {
1
+ export declare function getMatchedIndex(maxCount: number, maxHeight: number, groupItemCount: number, callback: (agrs: {
2
+ index: number;
3
+ items: number[];
4
+ type: string;
5
+ }) => 0): {
2
6
  startIndex: number;
3
7
  height: number;
4
8
  diffHeight: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "2.0.1-beta.44",
3
+ "version": "2.0.1-beta.46",
4
4
  "workspaces": [
5
5
  "packages/**",
6
6
  "scripts/cli",