bkui-vue 0.0.3-beta.2-3 → 0.0.3-beta.2-5

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.
@@ -172,6 +172,7 @@ declare const _default: import("vue").DefineComponent<{
172
172
  mode?: "auto" | "static";
173
173
  popoverOption?: any;
174
174
  resizerWay?: import("../props").ResizerWay;
175
+ showHead?: boolean;
175
176
  };
176
177
  field: import("../props").LabelFunctionString;
177
178
  prop?: import("../props").LabelFunctionString;
@@ -42,6 +42,9 @@ declare const BkTable: {
42
42
  } & {
43
43
  default: boolean;
44
44
  };
45
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
46
+ default: () => any[];
47
+ };
45
48
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
46
49
  default: () => import("./props").Thead;
47
50
  };
@@ -363,6 +366,9 @@ declare const BkTable: {
363
366
  } & {
364
367
  default: boolean;
365
368
  };
369
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
370
+ default: () => any[];
371
+ };
366
372
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
367
373
  default: () => import("./props").Thead;
368
374
  };
@@ -586,6 +592,7 @@ declare const BkTable: {
586
592
  stripe: boolean;
587
593
  rowHeight: import("./props").RowHeightFunctionNumber;
588
594
  showHead: boolean;
595
+ sortValFormat: any[];
589
596
  virtualEnabled: boolean;
590
597
  paginationHeight: number;
591
598
  remotePagination: boolean;
@@ -650,6 +657,9 @@ declare const BkTable: {
650
657
  } & {
651
658
  default: boolean;
652
659
  };
660
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
661
+ default: () => any[];
662
+ };
653
663
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
654
664
  default: () => import("./props").Thead;
655
665
  };
@@ -873,6 +883,7 @@ declare const BkTable: {
873
883
  stripe: boolean;
874
884
  rowHeight: import("./props").RowHeightFunctionNumber;
875
885
  showHead: boolean;
886
+ sortValFormat: any[];
876
887
  virtualEnabled: boolean;
877
888
  paginationHeight: number;
878
889
  remotePagination: boolean;
@@ -934,6 +945,9 @@ declare const BkTable: {
934
945
  } & {
935
946
  default: boolean;
936
947
  };
948
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
949
+ default: () => any[];
950
+ };
937
951
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
938
952
  default: () => import("./props").Thead;
939
953
  };
@@ -1240,6 +1254,7 @@ declare const BkTable: {
1240
1254
  stripe: boolean;
1241
1255
  rowHeight: import("./props").RowHeightFunctionNumber;
1242
1256
  showHead: boolean;
1257
+ sortValFormat: any[];
1243
1258
  virtualEnabled: boolean;
1244
1259
  paginationHeight: number;
1245
1260
  remotePagination: boolean;
@@ -1381,6 +1396,7 @@ declare const BkTable: {
1381
1396
  mode?: "auto" | "static";
1382
1397
  popoverOption?: any;
1383
1398
  resizerWay?: import("./props").ResizerWay;
1399
+ showHead?: boolean;
1384
1400
  };
1385
1401
  field: import("./props").LabelFunctionString;
1386
1402
  prop?: import("./props").LabelFunctionString;
@@ -443,6 +443,13 @@ var tableProps = {
443
443
  * 是否显示Head
444
444
  */
445
445
  showHead: external_shared_namespaceObject.PropTypes.bool.def(true),
446
+ /**
447
+ * 排序时对需要排序的字符串数值进行格式化
448
+ * 这里需要配置为正则或者回调函数,(str) => string | number | boolean
449
+ * 如果配置为正则,程序会提取匹配到的第一个结果尝试转换为数值
450
+ * 如果为多个,程序会顺序执行所有正则表达式,直到转换成功
451
+ */
452
+ sortValFormat: external_shared_namespaceObject.PropTypes.arrayOf(external_shared_namespaceObject.PropTypes.any).def(['']),
446
453
  /**
447
454
  * table header config
448
455
  */
@@ -2934,11 +2941,31 @@ var resolveHeadConfig = function resolveHeadConfig(props) {
2934
2941
  * @param index 当前行Index
2935
2942
  * @returns
2936
2943
  */
2937
- var getRowText = function getRowText(row, key) {
2944
+ var getRowText = function getRowText(row, key, format) {
2945
+ var result;
2938
2946
  if (typeof row === 'string' || typeof row === 'number' || typeof row === 'boolean') {
2939
- return row;
2947
+ result = row;
2940
2948
  }
2941
- return (0,get_namespaceObject["default"])(row, key);
2949
+ var getRegExp = function getRegExp(val) {
2950
+ var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ig';
2951
+ return new RegExp("".concat(val).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), flags);
2952
+ };
2953
+ result = (0,get_namespaceObject["default"])(row, key);
2954
+ if (format !== null && format !== void 0 && format.length) {
2955
+ format.forEach(function (reg) {
2956
+ if (typeof reg === 'function') {
2957
+ result = reg(result, row, key);
2958
+ } else if (typeof result === 'string') {
2959
+ var _matches$;
2960
+ var matches = result.match(typeof reg === 'string' ? getRegExp(reg) : reg);
2961
+ result = (_matches$ = matches === null || matches === void 0 ? void 0 : matches[1]) !== null && _matches$ !== void 0 ? _matches$ : result;
2962
+ }
2963
+ });
2964
+ if (/^-?\d+.?\d*$/.test(result)) {
2965
+ result = Number(result);
2966
+ }
2967
+ }
2968
+ return result;
2942
2969
  };
2943
2970
  /**
2944
2971
  * 获取当前行指定列的值
@@ -3087,9 +3114,10 @@ var skipThisColumn = function skipThisColumn(columns, colIndex, row, rowIndex) {
3087
3114
  };
3088
3115
  var getSortFn = function getSortFn(column, sortType) {
3089
3116
  var _column$sort, _column$sort2;
3117
+ var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
3090
3118
  var fieldName = column.field;
3091
3119
  var getVal = function getVal(row) {
3092
- return getRowText(row, fieldName);
3120
+ return getRowText(row, fieldName, format);
3093
3121
  };
3094
3122
  var sortFn0 = function sortFn0(a, b) {
3095
3123
  var _getVal, _getVal2;
@@ -3115,6 +3143,7 @@ var getNextSortType = function getNextSortType(sortType) {
3115
3143
  return Object.keys(steps)[(steps[sortType] + 1) % 3];
3116
3144
  };
3117
3145
  var resolveSort = function resolveSort(sort, column) {
3146
+ var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
3118
3147
  if (typeof sort === 'string') {
3119
3148
  return {
3120
3149
  value: sort
@@ -3133,7 +3162,7 @@ var resolveSort = function resolveSort(sort, column) {
3133
3162
  }, sort);
3134
3163
  }
3135
3164
  return Object.assign({}, {
3136
- sortFn: getSortFn(column, (_sort$value = sort.value) !== null && _sort$value !== void 0 ? _sort$value : SORT_OPTION.NULL)
3165
+ sortFn: getSortFn(column, (_sort$value = sort.value) !== null && _sort$value !== void 0 ? _sort$value : SORT_OPTION.NULL, format)
3137
3166
  }, sort);
3138
3167
  }
3139
3168
  return null;
@@ -5432,7 +5461,8 @@ function _slicedToArray(arr, i) {
5432
5461
  props: {
5433
5462
  column: IColumnType,
5434
5463
  defaultSort: external_shared_namespaceObject.PropTypes.oneOf(SORT_OPTIONS).def(SORT_OPTION.NULL),
5435
- active: external_shared_namespaceObject.PropTypes.bool
5464
+ active: external_shared_namespaceObject.PropTypes.bool,
5465
+ sortValFormat: external_shared_namespaceObject.PropTypes.arrayOf(external_shared_namespaceObject.PropTypes.any).def([''])
5436
5466
  },
5437
5467
  emits: ['change'],
5438
5468
  setup: function setup(props, _ref) {
@@ -5470,8 +5500,8 @@ function _slicedToArray(arr, i) {
5470
5500
  if (sortType.value === type) {
5471
5501
  currentSort = SORT_OPTION.NULL;
5472
5502
  }
5473
- var execFn = getSortFn(props.column, currentSort);
5474
- var sort = resolveSort(props.column.sort, props.column);
5503
+ var execFn = getSortFn(props.column, currentSort, props.sortValFormat);
5504
+ var sort = resolveSort(props.column.sort, props.column, props.sortValFormat);
5475
5505
  if ((sort === null || sort === void 0 ? void 0 : sort.value) === 'custom') {
5476
5506
  var _sort$sortFn;
5477
5507
  emit('change', (_sort$sortFn = sort === null || sort === void 0 ? void 0 : sort.sortFn) !== null && _sort$sortFn !== void 0 ? _sort$sortFn : execFn, currentSort);
@@ -5581,7 +5611,7 @@ function use_head_cell_isSlot(s) {
5581
5611
  var type = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5582
5612
  nextSort.value = getNextSortType(type);
5583
5613
  var sortFn = function sortFn(a, b) {
5584
- return getSortFnByColumn(column, getSortFn(column, nextSort.value), a, b);
5614
+ return getSortFnByColumn(column, getSortFn(column, nextSort.value, props.sortValFormat), a, b);
5585
5615
  };
5586
5616
  tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, nextSort.value);
5587
5617
  tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, sortFn);
@@ -8,6 +8,9 @@ declare const _default: import("vue").DefineComponent<{
8
8
  active: import("vue-types").VueTypeValidableDef<boolean> & {
9
9
  default: boolean;
10
10
  };
11
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
12
+ default: () => any[];
13
+ };
11
14
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
15
  column: import("vue-types").VueTypeDef<Column>;
13
16
  defaultSort: import("vue-types").VueTypeDef<SORT_OPTION> & {
@@ -16,10 +19,14 @@ declare const _default: import("vue").DefineComponent<{
16
19
  active: import("vue-types").VueTypeValidableDef<boolean> & {
17
20
  default: boolean;
18
21
  };
22
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
23
+ default: () => any[];
24
+ };
19
25
  }>> & {
20
26
  onChange?: (...args: any[]) => any;
21
27
  }, {
22
28
  active: boolean;
29
+ sortValFormat: any[];
23
30
  defaultSort: SORT_OPTION;
24
31
  }, {}>;
25
32
  export default _default;
@@ -50,6 +50,7 @@ export type IOverflowTooltipProp = {
50
50
  mode?: `${OverflowModeEnum}`;
51
51
  popoverOption?: any;
52
52
  resizerWay?: ResizerWay;
53
+ showHead?: boolean;
53
54
  } | boolean;
54
55
  export type IOverflowTooltip = IOverflowTooltipProp;
55
56
  export declare const IOverflowTooltipPropType: import("vue-types").VueTypeDef<IOverflowTooltipProp>;
@@ -303,6 +304,15 @@ export declare const tableProps: {
303
304
  } & {
304
305
  default: boolean;
305
306
  };
307
+ /**
308
+ * 排序时对需要排序的字符串数值进行格式化
309
+ * 这里需要配置为正则或者回调函数,(str) => string | number | boolean
310
+ * 如果配置为正则,程序会提取匹配到的第一个结果尝试转换为数值
311
+ * 如果为多个,程序会顺序执行所有正则表达式,直到转换成功
312
+ */
313
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
314
+ default: () => any[];
315
+ };
306
316
  /**
307
317
  * table header config
308
318
  */
@@ -37,6 +37,9 @@ declare const _default: import("vue").DefineComponent<{
37
37
  } & {
38
38
  default: boolean;
39
39
  };
40
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
41
+ default: () => any[];
42
+ };
40
43
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
41
44
  default: () => import("./props").Thead;
42
45
  };
@@ -275,6 +278,9 @@ declare const _default: import("vue").DefineComponent<{
275
278
  } & {
276
279
  default: boolean;
277
280
  };
281
+ sortValFormat: import("vue-types").VueTypeDef<any[]> & {
282
+ default: () => any[];
283
+ };
278
284
  thead: import("vue-types").VueTypeDef<import("./props").Thead> & {
279
285
  default: () => import("./props").Thead;
280
286
  };
@@ -498,6 +504,7 @@ declare const _default: import("vue").DefineComponent<{
498
504
  stripe: boolean;
499
505
  rowHeight: import("./props").RowHeightFunctionNumber;
500
506
  showHead: boolean;
507
+ sortValFormat: any[];
501
508
  virtualEnabled: boolean;
502
509
  paginationHeight: number;
503
510
  remotePagination: boolean;
@@ -23,6 +23,7 @@ declare const _default: (props: TablePropTypes, targetColumns: ITableColumn[]) =
23
23
  mode?: "auto" | "static";
24
24
  popoverOption?: any;
25
25
  resizerWay?: import("./props").ResizerWay;
26
+ showHead?: boolean;
26
27
  };
27
28
  type?: string;
28
29
  fixed?: string | boolean;
@@ -110,6 +111,7 @@ declare const _default: (props: TablePropTypes, targetColumns: ITableColumn[]) =
110
111
  mode?: "auto" | "static";
111
112
  popoverOption?: any;
112
113
  resizerWay?: import("./props").ResizerWay;
114
+ showHead?: boolean;
113
115
  };
114
116
  type?: string;
115
117
  fixed?: string | boolean;
@@ -197,6 +199,7 @@ declare const _default: (props: TablePropTypes, targetColumns: ITableColumn[]) =
197
199
  mode?: "auto" | "static";
198
200
  popoverOption?: any;
199
201
  resizerWay?: import("./props").ResizerWay;
202
+ showHead?: boolean;
200
203
  };
201
204
  type?: string;
202
205
  fixed?: string | boolean;
@@ -80,7 +80,7 @@ export declare const resolveHeadConfig: (props: TablePropTypes) => {
80
80
  * @param index 当前行Index
81
81
  * @returns
82
82
  */
83
- export declare const getRowText: (row: any, key: string) => any;
83
+ export declare const getRowText: (row: any, key: string, format?: string[] | (() => string | number | boolean)[]) => any;
84
84
  /**
85
85
  * 获取当前行指定列的值
86
86
  * @param row 当前行
@@ -112,9 +112,9 @@ export declare const resolveCellSpan: (column: Column, colIndex: number, row: an
112
112
  rowspan: any;
113
113
  };
114
114
  export declare const skipThisColumn: (columns: Column[], colIndex: number, row: any, rowIndex: number) => boolean;
115
- export declare const getSortFn: (column: any, sortType: any) => ((_a: any, _b: any) => boolean) | ((_a: any, _b: any) => number);
115
+ export declare const getSortFn: (column: any, sortType: any, format?: any[]) => ((_a: any, _b: any) => boolean) | ((_a: any, _b: any) => number);
116
116
  export declare const getNextSortType: (sortType: string) => string;
117
- export declare const resolveSort: (sort: ISortPropShape, column: any) => ({
117
+ export declare const resolveSort: (sort: ISortPropShape, column: any, format?: any[]) => ({
118
118
  sortFn: ((_a: any, _b: any) => boolean) | ((_a: any, _b: any) => number);
119
119
  } & import("./props").ISortShape) | {
120
120
  sortFn?: Function;
@@ -120,6 +120,7 @@ declare const BkTableColumn: {
120
120
  mode?: "auto" | "static";
121
121
  popoverOption?: any;
122
122
  resizerWay?: import("../../table/src/props").ResizerWay;
123
+ showHead?: boolean;
123
124
  };
124
125
  field: import("../../table/src/props").LabelFunctionString;
125
126
  prop?: import("../../table/src/props").LabelFunctionString;
@@ -363,6 +364,7 @@ declare const BkTableColumn: {
363
364
  mode?: "auto" | "static";
364
365
  popoverOption?: any;
365
366
  resizerWay?: import("../../table/src/props").ResizerWay;
367
+ showHead?: boolean;
366
368
  };
367
369
  field: import("../../table/src/props").LabelFunctionString;
368
370
  prop?: import("../../table/src/props").LabelFunctionString;
@@ -554,6 +556,7 @@ declare const BkTableColumn: {
554
556
  mode?: "auto" | "static";
555
557
  popoverOption?: any;
556
558
  resizerWay?: import("../../table/src/props").ResizerWay;
559
+ showHead?: boolean;
557
560
  };
558
561
  field: import("../../table/src/props").LabelFunctionString;
559
562
  prop?: import("../../table/src/props").LabelFunctionString;
@@ -414,6 +414,13 @@ var tableProps = {
414
414
  * 是否显示Head
415
415
  */
416
416
  showHead: external_shared_namespaceObject.PropTypes.bool.def(true),
417
+ /**
418
+ * 排序时对需要排序的字符串数值进行格式化
419
+ * 这里需要配置为正则或者回调函数,(str) => string | number | boolean
420
+ * 如果配置为正则,程序会提取匹配到的第一个结果尝试转换为数值
421
+ * 如果为多个,程序会顺序执行所有正则表达式,直到转换成功
422
+ */
423
+ sortValFormat: external_shared_namespaceObject.PropTypes.arrayOf(external_shared_namespaceObject.PropTypes.any).def(['']),
417
424
  /**
418
425
  * table header config
419
426
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "0.0.3-beta.2-3",
3
+ "version": "0.0.3-beta.2-5",
4
4
  "workspaces": {
5
5
  "packages": [
6
6
  "packages/!(**.bak)*",