cnhis-design-vue 3.1.14-beta.13 → 3.1.14-beta.16
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/es/node_modules/@formily/path/esm/contexts.js +22 -0
- package/es/node_modules/@formily/path/esm/destructor.js +124 -0
- package/es/node_modules/@formily/path/esm/index.js +579 -0
- package/es/node_modules/@formily/path/esm/matcher.js +199 -0
- package/es/node_modules/@formily/path/esm/parser.js +402 -0
- package/es/node_modules/@formily/path/esm/shared.js +73 -0
- package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
- package/es/node_modules/@formily/path/esm/tokens.js +240 -0
- package/es/node_modules/@formily/path/esm/types.js +17 -0
- package/es/packages/big-table/src/BigTable.vue.d.ts +13 -6
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +4 -4
- package/es/packages/big-table/src/utils.js +1 -0
- package/es/packages/big-table/style/index.css +133 -0
- package/es/packages/fabric-chart/src/FabricChart.js +0 -1
- package/es/packages/fabric-chart/src/hooks/useLeft.js +15 -4
- package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
- package/es/packages/form-render/src/components/renderer/combination.js +53 -16
- package/es/packages/form-render/src/components/renderer/select.js +2 -4
- package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +1 -0
- package/es/packages/form-render/src/components/renderer/simpleComponent.js +4 -3
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +1 -0
- package/es/packages/form-render/src/types/fieldItem.d.ts +1 -0
- package/es/packages/index.css +133 -0
- package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
- package/es/packages/shortcut-provider/src/utils/index.js +5 -5
- package/es/packages/shortcut-setter/index.d.ts +3248 -1486
- package/es/packages/shortcut-setter/src/ShortcutSetter.js +9 -5
- package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3248 -1486
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +24 -11
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
- package/package.json +1 -1
|
@@ -389,12 +389,145 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
389
389
|
}
|
|
390
390
|
.custom-big-table .domPropsInnerHTML-span {
|
|
391
391
|
height: 100%;
|
|
392
|
+
/* 老版图标样式 */
|
|
392
393
|
}
|
|
393
394
|
.custom-big-table .domPropsInnerHTML-span img {
|
|
394
395
|
display: inline-block;
|
|
395
396
|
height: var(--tableImageHeight);
|
|
396
397
|
width: var(--tableImageWidth);
|
|
397
398
|
}
|
|
399
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-red {
|
|
400
|
+
width: 8px;
|
|
401
|
+
height: 8px;
|
|
402
|
+
-webkit-border-radius: 50%;
|
|
403
|
+
-moz-border-radius: 50%;
|
|
404
|
+
border-radius: 50%;
|
|
405
|
+
background: red;
|
|
406
|
+
display: inline-block;
|
|
407
|
+
margin-right: 6px;
|
|
408
|
+
box-shadow: 0px 2px 4px 0px rgba(255, 0, 0, 0.5);
|
|
409
|
+
}
|
|
410
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-blue {
|
|
411
|
+
width: 8px;
|
|
412
|
+
height: 8px;
|
|
413
|
+
-webkit-border-radius: 50%;
|
|
414
|
+
-moz-border-radius: 50%;
|
|
415
|
+
border-radius: 50%;
|
|
416
|
+
background: blue;
|
|
417
|
+
display: inline-block;
|
|
418
|
+
margin-right: 6px;
|
|
419
|
+
box-shadow: 0px 2px 4px 0px rgba(0, 0, 255, 0.5);
|
|
420
|
+
}
|
|
421
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-green {
|
|
422
|
+
width: 8px;
|
|
423
|
+
height: 8px;
|
|
424
|
+
-webkit-border-radius: 50%;
|
|
425
|
+
-moz-border-radius: 50%;
|
|
426
|
+
border-radius: 50%;
|
|
427
|
+
background: green;
|
|
428
|
+
display: inline-block;
|
|
429
|
+
margin-right: 6px;
|
|
430
|
+
box-shadow: 0px 2px 4px 0px rgba(0, 128, 0, 0.5);
|
|
431
|
+
}
|
|
432
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-gray {
|
|
433
|
+
width: 8px;
|
|
434
|
+
height: 8px;
|
|
435
|
+
-webkit-border-radius: 50%;
|
|
436
|
+
-moz-border-radius: 50%;
|
|
437
|
+
border-radius: 50%;
|
|
438
|
+
background: gray;
|
|
439
|
+
display: inline-block;
|
|
440
|
+
margin-right: 6px;
|
|
441
|
+
box-shadow: 0px 2px 4px 0px rgba(128, 128, 128, 0.5);
|
|
442
|
+
}
|
|
443
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-yellow {
|
|
444
|
+
width: 8px;
|
|
445
|
+
height: 8px;
|
|
446
|
+
-webkit-border-radius: 50%;
|
|
447
|
+
-moz-border-radius: 50%;
|
|
448
|
+
border-radius: 50%;
|
|
449
|
+
background: yellow;
|
|
450
|
+
display: inline-block;
|
|
451
|
+
margin-right: 6px;
|
|
452
|
+
box-shadow: 0px 2px 4px 0px rgba(255, 255, 0, 0.5);
|
|
453
|
+
}
|
|
454
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-resolved {
|
|
455
|
+
width: 8px;
|
|
456
|
+
height: 8px;
|
|
457
|
+
-webkit-border-radius: 50%;
|
|
458
|
+
-moz-border-radius: 50%;
|
|
459
|
+
border-radius: 50%;
|
|
460
|
+
background: #36be8c;
|
|
461
|
+
display: inline-block;
|
|
462
|
+
margin-right: 6px;
|
|
463
|
+
box-shadow: 0px 2px 4px 0px rgba(54, 190, 140, 0.5);
|
|
464
|
+
}
|
|
465
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-huifu {
|
|
466
|
+
width: 8px;
|
|
467
|
+
height: 8px;
|
|
468
|
+
-webkit-border-radius: 50%;
|
|
469
|
+
-moz-border-radius: 50%;
|
|
470
|
+
border-radius: 50%;
|
|
471
|
+
background: #42d0f6;
|
|
472
|
+
display: inline-block;
|
|
473
|
+
margin-right: 6px;
|
|
474
|
+
box-shadow: 0px 2px 4px 0px rgba(66, 208, 246, 0.5);
|
|
475
|
+
}
|
|
476
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-close {
|
|
477
|
+
width: 8px;
|
|
478
|
+
height: 8px;
|
|
479
|
+
-webkit-border-radius: 50%;
|
|
480
|
+
-moz-border-radius: 50%;
|
|
481
|
+
border-radius: 50%;
|
|
482
|
+
background: #718391;
|
|
483
|
+
display: inline-block;
|
|
484
|
+
margin-right: 6px;
|
|
485
|
+
box-shadow: 0px 2px 4px 0px rgba(113, 131, 145, 0.5);
|
|
486
|
+
}
|
|
487
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-audit {
|
|
488
|
+
width: 8px;
|
|
489
|
+
height: 8px;
|
|
490
|
+
-webkit-border-radius: 50%;
|
|
491
|
+
-moz-border-radius: 50%;
|
|
492
|
+
border-radius: 50%;
|
|
493
|
+
background: #f4ba32;
|
|
494
|
+
display: inline-block;
|
|
495
|
+
margin-right: 6px;
|
|
496
|
+
box-shadow: 0px 2px 4px 0px rgba(244, 186, 50, 0.5);
|
|
497
|
+
}
|
|
498
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-design {
|
|
499
|
+
width: 8px;
|
|
500
|
+
height: 8px;
|
|
501
|
+
-webkit-border-radius: 50%;
|
|
502
|
+
-moz-border-radius: 50%;
|
|
503
|
+
border-radius: 50%;
|
|
504
|
+
background: #927ce1;
|
|
505
|
+
display: inline-block;
|
|
506
|
+
margin-right: 6px;
|
|
507
|
+
box-shadow: 0px 2px 4px 0px rgba(146, 124, 225, 0.5);
|
|
508
|
+
}
|
|
509
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-develop {
|
|
510
|
+
width: 8px;
|
|
511
|
+
height: 8px;
|
|
512
|
+
-webkit-border-radius: 50%;
|
|
513
|
+
-moz-border-radius: 50%;
|
|
514
|
+
border-radius: 50%;
|
|
515
|
+
background: #4eb0ef;
|
|
516
|
+
display: inline-block;
|
|
517
|
+
margin-right: 6px;
|
|
518
|
+
box-shadow: 0px 2px 4px 0px rgba(78, 176, 239, 0.5);
|
|
519
|
+
}
|
|
520
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-develop-complete {
|
|
521
|
+
width: 8px;
|
|
522
|
+
height: 8px;
|
|
523
|
+
-webkit-border-radius: 50%;
|
|
524
|
+
-moz-border-radius: 50%;
|
|
525
|
+
border-radius: 50%;
|
|
526
|
+
background: #6381f9;
|
|
527
|
+
display: inline-block;
|
|
528
|
+
margin-right: 6px;
|
|
529
|
+
box-shadow: 0px 2px 4px 0px rgba(99, 129, 249, 0.5);
|
|
530
|
+
}
|
|
398
531
|
.no-data-tip {
|
|
399
532
|
display: flex;
|
|
400
533
|
flex-direction: column;
|
|
@@ -15,7 +15,9 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, getXValue, g
|
|
|
15
15
|
painHeight,
|
|
16
16
|
iconsWidth,
|
|
17
17
|
itemList,
|
|
18
|
-
painIndex
|
|
18
|
+
painIndex,
|
|
19
|
+
canvasWidth,
|
|
20
|
+
canvasHeight
|
|
19
21
|
} = propItems;
|
|
20
22
|
const mainScaleWidth = 9;
|
|
21
23
|
const subScaleWidth = 5;
|
|
@@ -56,7 +58,7 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, getXValue, g
|
|
|
56
58
|
value: `${item.title.slice(0, 2)}
|
|
57
59
|
${item.title.slice(-2)}`,
|
|
58
60
|
...defaultTextStyle,
|
|
59
|
-
...item.
|
|
61
|
+
...item.style || {}
|
|
60
62
|
}, {
|
|
61
63
|
left: iconsWidth,
|
|
62
64
|
top: painOriginY.originY
|
|
@@ -167,7 +169,7 @@ ${item.title.slice(-2)}`,
|
|
|
167
169
|
const list = JSON.parse(JSON.stringify(itemList));
|
|
168
170
|
let topY = endY;
|
|
169
171
|
const leftX = iconsWidth - left.icons.marginRight;
|
|
170
|
-
list.reverse().forEach((item
|
|
172
|
+
list.reverse().forEach((item) => {
|
|
171
173
|
topY -= 10;
|
|
172
174
|
let title = item.title.replace(/(.{2})/g, "$1\n");
|
|
173
175
|
if (title.endsWith("\n")) {
|
|
@@ -194,7 +196,9 @@ ${item.title.slice(-2)}`,
|
|
|
194
196
|
unit: item.unit,
|
|
195
197
|
type: item.bigType,
|
|
196
198
|
dataIndex: item.dataIndex
|
|
197
|
-
}
|
|
199
|
+
},
|
|
200
|
+
originLeft: leftX,
|
|
201
|
+
originTop: topY - (text.height || 30) / 2
|
|
198
202
|
});
|
|
199
203
|
topY -= text.height || 30;
|
|
200
204
|
setPointEvent(icon);
|
|
@@ -226,9 +230,16 @@ ${item.title.slice(-2)}`,
|
|
|
226
230
|
});
|
|
227
231
|
} else {
|
|
228
232
|
console.log("\u5F53\u524D\u65F6\u95F4\u6BB5\u5185\u65E0\u53EF\u65B0\u589E\u8282\u70B9");
|
|
233
|
+
setRestore();
|
|
229
234
|
}
|
|
235
|
+
} else {
|
|
236
|
+
setRestore();
|
|
230
237
|
}
|
|
231
238
|
}
|
|
239
|
+
function setRestore() {
|
|
240
|
+
point.setCoords();
|
|
241
|
+
point.set({ left: point.originLeft, top: point.originTop });
|
|
242
|
+
}
|
|
232
243
|
});
|
|
233
244
|
}
|
|
234
245
|
onMounted(() => {
|
|
@@ -8,6 +8,9 @@ export declare const COMBINATION: import("vue").DefineComponent<{
|
|
|
8
8
|
value: {
|
|
9
9
|
type: StringConstructor;
|
|
10
10
|
};
|
|
11
|
+
maxGroupNum: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
};
|
|
11
14
|
getProperties: {
|
|
12
15
|
type: PropType<() => FieldItem[]>;
|
|
13
16
|
default: () => never[];
|
|
@@ -20,6 +23,9 @@ export declare const COMBINATION: import("vue").DefineComponent<{
|
|
|
20
23
|
value: {
|
|
21
24
|
type: StringConstructor;
|
|
22
25
|
};
|
|
26
|
+
maxGroupNum: {
|
|
27
|
+
type: NumberConstructor;
|
|
28
|
+
};
|
|
23
29
|
getProperties: {
|
|
24
30
|
type: PropType<() => FieldItem[]>;
|
|
25
31
|
default: () => never[];
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { defineComponent, ref, createVNode, createTextVNode
|
|
1
|
+
import { defineComponent, ref, computed, watch, onMounted, createVNode, createTextVNode } from 'vue';
|
|
2
|
+
import { isField } from '@formily/core';
|
|
3
|
+
import { Path } from '../../../../../node_modules/@formily/path/esm/index.js';
|
|
4
|
+
import { isNumber } from 'lodash-es';
|
|
2
5
|
import { assignUpdateValue, formRenderLog } from '../../utils/index.js';
|
|
3
6
|
import { connect, mapProps } from '@formily/vue';
|
|
4
7
|
import { useDebounceFn, isObject } from '@vueuse/core';
|
|
@@ -15,6 +18,9 @@ const script = defineComponent({
|
|
|
15
18
|
value: {
|
|
16
19
|
type: String
|
|
17
20
|
},
|
|
21
|
+
maxGroupNum: {
|
|
22
|
+
type: Number
|
|
23
|
+
},
|
|
18
24
|
getProperties: {
|
|
19
25
|
type: Function,
|
|
20
26
|
default: () => []
|
|
@@ -27,14 +33,31 @@ const script = defineComponent({
|
|
|
27
33
|
const emitChange = useDebounceFn(function emitChange2() {
|
|
28
34
|
emit("update:value", JSON.stringify(_values.value));
|
|
29
35
|
}, 300);
|
|
30
|
-
const
|
|
36
|
+
const formRenderRefs = ref([]);
|
|
37
|
+
const groupNum = ref(1);
|
|
38
|
+
const maxGroupNum = computed(() => {
|
|
39
|
+
if (!isNumber(props.maxGroupNum))
|
|
40
|
+
return Infinity;
|
|
41
|
+
if (props.maxGroupNum < 1)
|
|
42
|
+
return 0;
|
|
43
|
+
return ~~props.maxGroupNum;
|
|
44
|
+
});
|
|
45
|
+
watch(maxGroupNum, (value) => {
|
|
46
|
+
if (groupNum.value <= value)
|
|
47
|
+
return;
|
|
48
|
+
groupNum.value = value;
|
|
49
|
+
_values.value.splice(groupNum.value);
|
|
50
|
+
emitChange();
|
|
51
|
+
}, {
|
|
52
|
+
immediate: true
|
|
53
|
+
});
|
|
31
54
|
function add() {
|
|
32
|
-
|
|
55
|
+
groupNum.value++;
|
|
33
56
|
_values.value.push({});
|
|
34
57
|
emitChange();
|
|
35
58
|
}
|
|
36
59
|
function remove(idx) {
|
|
37
|
-
|
|
60
|
+
groupNum.value--;
|
|
38
61
|
_values.value.splice(idx, 1);
|
|
39
62
|
emitChange();
|
|
40
63
|
}
|
|
@@ -47,19 +70,32 @@ const script = defineComponent({
|
|
|
47
70
|
if (!Array.isArray(parsed))
|
|
48
71
|
throw new Error();
|
|
49
72
|
parsed.forEach((v, idx) => {
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
_values.value[idx] =
|
|
54
|
-
|
|
55
|
-
}
|
|
73
|
+
if (idx > maxGroupNum.value - 1)
|
|
74
|
+
return;
|
|
75
|
+
if (isObject(v))
|
|
76
|
+
return _values.value[idx] = v;
|
|
77
|
+
_values.value[idx] = {};
|
|
78
|
+
formRenderLog(`invalid Object value ${v} in COMBINATION => ${props.title}[${idx}]`, "warn");
|
|
56
79
|
});
|
|
57
|
-
|
|
80
|
+
groupNum.value = Math.min(_values.value.length, maxGroupNum.value);
|
|
58
81
|
} catch (e) {
|
|
59
82
|
formRenderLog(`invalid JSON value ${data} in COMBINATION => ${props.title}`, "warn");
|
|
83
|
+
} finally {
|
|
84
|
+
setFormValueByInitValue();
|
|
85
|
+
}
|
|
86
|
+
function setFormValueByInitValue() {
|
|
87
|
+
_values.value.forEach((item, idx) => {
|
|
88
|
+
var _a;
|
|
89
|
+
(_a = formRenderRefs.value[idx]) == null ? void 0 : _a.setFieldState("*", (state) => {
|
|
90
|
+
if (!isField(state))
|
|
91
|
+
return;
|
|
92
|
+
state.value = Path.getIn(item, state.path);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
60
95
|
}
|
|
61
96
|
}
|
|
62
|
-
|
|
97
|
+
watch(() => props.value, (value) => initValues(value));
|
|
98
|
+
onMounted(() => initValues(props.value));
|
|
63
99
|
function stop(event) {
|
|
64
100
|
event.stopPropagation();
|
|
65
101
|
}
|
|
@@ -68,7 +104,7 @@ const script = defineComponent({
|
|
|
68
104
|
value
|
|
69
105
|
}) {
|
|
70
106
|
!_values.value[idx] && (_values.value[idx] = {});
|
|
71
|
-
_values.value[idx]
|
|
107
|
+
Path.setIn(_values.value[idx], fieldKey, value);
|
|
72
108
|
emitChange();
|
|
73
109
|
}
|
|
74
110
|
const FormRenderComponent = FormRender;
|
|
@@ -82,16 +118,17 @@ const script = defineComponent({
|
|
|
82
118
|
}, [props.title]), createVNode(NButton, {
|
|
83
119
|
"onClick": add,
|
|
84
120
|
"type": "info",
|
|
85
|
-
"text": true
|
|
121
|
+
"text": true,
|
|
122
|
+
"disabled": groupNum.value >= maxGroupNum.value
|
|
86
123
|
}, {
|
|
87
124
|
default: () => [createTextVNode("\u65B0\u589E")]
|
|
88
125
|
})]), Array.from({
|
|
89
|
-
length:
|
|
126
|
+
length: groupNum.value
|
|
90
127
|
}).map((_, idx) => {
|
|
91
128
|
return createVNode("section", {
|
|
92
129
|
"class": "form-render__combinationContent"
|
|
93
130
|
}, [createVNode(FormRenderComponent, {
|
|
94
|
-
"
|
|
131
|
+
"ref": (_ref) => formRenderRefs.value[idx] = _ref,
|
|
95
132
|
"fieldList": props.getProperties(),
|
|
96
133
|
"onUpdateValue": () => false,
|
|
97
134
|
"onInput": stop,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref,
|
|
1
|
+
import { defineComponent, ref, inject, computed, watch, createVNode } from 'vue';
|
|
2
2
|
import { isField } from '@formily/core';
|
|
3
3
|
import { isEqual, cloneDeep } from 'lodash-es';
|
|
4
4
|
import { InjectAsyncQueue, InjectionFormItemDepsCollector, InjectionChangeContextCollector } from '../../constants/index.js';
|
|
@@ -31,7 +31,6 @@ const script = defineComponent({
|
|
|
31
31
|
emit
|
|
32
32
|
}) {
|
|
33
33
|
const remoteOptions = ref(null);
|
|
34
|
-
watch(remoteOptions, (o) => console.log("remoteOption", o));
|
|
35
34
|
const lastSearch = ref("");
|
|
36
35
|
const asyncQueue = inject(InjectAsyncQueue);
|
|
37
36
|
const {
|
|
@@ -88,8 +87,7 @@ const script = defineComponent({
|
|
|
88
87
|
remoteOptions.value = null;
|
|
89
88
|
config && formItemDepsCollector.setDeps(fieldKey.value, config.dependKey || [], async () => {
|
|
90
89
|
remoteOptions.value = null;
|
|
91
|
-
|
|
92
|
-
props.value != null && await fetchData();
|
|
90
|
+
emit("update:value", null);
|
|
93
91
|
});
|
|
94
92
|
config && fetchData();
|
|
95
93
|
}, {
|
|
@@ -11,12 +11,13 @@ function createPropFor(props) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
const textScript = (props) => {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
return createVNode("div", null, [(_b = (_a =
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
return createVNode("div", null, [(_c = (_b = createSlot((_a = props.content) != null ? _a : props.value, props)).default) == null ? void 0 : _c.call(_b)]);
|
|
16
16
|
};
|
|
17
17
|
textScript.props = {
|
|
18
18
|
content: {},
|
|
19
|
-
fieldItem: {}
|
|
19
|
+
fieldItem: {},
|
|
20
|
+
value: {}
|
|
20
21
|
};
|
|
21
22
|
const TEXT = connect(textScript, mapProps((props) => {
|
|
22
23
|
var _a;
|
|
@@ -98,6 +98,7 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
98
98
|
schema["x-decorator-props"].showLabel = false;
|
|
99
99
|
Object.assign(schema["x-component-props"], {
|
|
100
100
|
title: item.alias || item.name,
|
|
101
|
+
maxGroupNum: item.maxGroupNum,
|
|
101
102
|
getProperties: () => item.children || []
|
|
102
103
|
});
|
|
103
104
|
return schema;
|
|
@@ -72,6 +72,7 @@ export declare type FieldItem = {
|
|
|
72
72
|
suffixConfig: FieldItem[] | FieldItem;
|
|
73
73
|
fieldType: 'string' | 'object' | 'array' | 'number' | 'void' | 'boolean' | 'datetime';
|
|
74
74
|
content: string | FormRenderer | Record<string, FormRenderer>;
|
|
75
|
+
maxGroupNum: number;
|
|
75
76
|
properties: FieldItem[];
|
|
76
77
|
children: FieldItem[];
|
|
77
78
|
componentProps: AnyObject;
|
package/es/packages/index.css
CHANGED
|
@@ -389,12 +389,145 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
389
389
|
}
|
|
390
390
|
.custom-big-table .domPropsInnerHTML-span {
|
|
391
391
|
height: 100%;
|
|
392
|
+
/* 老版图标样式 */
|
|
392
393
|
}
|
|
393
394
|
.custom-big-table .domPropsInnerHTML-span img {
|
|
394
395
|
display: inline-block;
|
|
395
396
|
height: var(--tableImageHeight);
|
|
396
397
|
width: var(--tableImageWidth);
|
|
397
398
|
}
|
|
399
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-red {
|
|
400
|
+
width: 8px;
|
|
401
|
+
height: 8px;
|
|
402
|
+
-webkit-border-radius: 50%;
|
|
403
|
+
-moz-border-radius: 50%;
|
|
404
|
+
border-radius: 50%;
|
|
405
|
+
background: red;
|
|
406
|
+
display: inline-block;
|
|
407
|
+
margin-right: 6px;
|
|
408
|
+
box-shadow: 0px 2px 4px 0px rgba(255, 0, 0, 0.5);
|
|
409
|
+
}
|
|
410
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-blue {
|
|
411
|
+
width: 8px;
|
|
412
|
+
height: 8px;
|
|
413
|
+
-webkit-border-radius: 50%;
|
|
414
|
+
-moz-border-radius: 50%;
|
|
415
|
+
border-radius: 50%;
|
|
416
|
+
background: blue;
|
|
417
|
+
display: inline-block;
|
|
418
|
+
margin-right: 6px;
|
|
419
|
+
box-shadow: 0px 2px 4px 0px rgba(0, 0, 255, 0.5);
|
|
420
|
+
}
|
|
421
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-green {
|
|
422
|
+
width: 8px;
|
|
423
|
+
height: 8px;
|
|
424
|
+
-webkit-border-radius: 50%;
|
|
425
|
+
-moz-border-radius: 50%;
|
|
426
|
+
border-radius: 50%;
|
|
427
|
+
background: green;
|
|
428
|
+
display: inline-block;
|
|
429
|
+
margin-right: 6px;
|
|
430
|
+
box-shadow: 0px 2px 4px 0px rgba(0, 128, 0, 0.5);
|
|
431
|
+
}
|
|
432
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-gray {
|
|
433
|
+
width: 8px;
|
|
434
|
+
height: 8px;
|
|
435
|
+
-webkit-border-radius: 50%;
|
|
436
|
+
-moz-border-radius: 50%;
|
|
437
|
+
border-radius: 50%;
|
|
438
|
+
background: gray;
|
|
439
|
+
display: inline-block;
|
|
440
|
+
margin-right: 6px;
|
|
441
|
+
box-shadow: 0px 2px 4px 0px rgba(128, 128, 128, 0.5);
|
|
442
|
+
}
|
|
443
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-yellow {
|
|
444
|
+
width: 8px;
|
|
445
|
+
height: 8px;
|
|
446
|
+
-webkit-border-radius: 50%;
|
|
447
|
+
-moz-border-radius: 50%;
|
|
448
|
+
border-radius: 50%;
|
|
449
|
+
background: yellow;
|
|
450
|
+
display: inline-block;
|
|
451
|
+
margin-right: 6px;
|
|
452
|
+
box-shadow: 0px 2px 4px 0px rgba(255, 255, 0, 0.5);
|
|
453
|
+
}
|
|
454
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-resolved {
|
|
455
|
+
width: 8px;
|
|
456
|
+
height: 8px;
|
|
457
|
+
-webkit-border-radius: 50%;
|
|
458
|
+
-moz-border-radius: 50%;
|
|
459
|
+
border-radius: 50%;
|
|
460
|
+
background: #36be8c;
|
|
461
|
+
display: inline-block;
|
|
462
|
+
margin-right: 6px;
|
|
463
|
+
box-shadow: 0px 2px 4px 0px rgba(54, 190, 140, 0.5);
|
|
464
|
+
}
|
|
465
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-huifu {
|
|
466
|
+
width: 8px;
|
|
467
|
+
height: 8px;
|
|
468
|
+
-webkit-border-radius: 50%;
|
|
469
|
+
-moz-border-radius: 50%;
|
|
470
|
+
border-radius: 50%;
|
|
471
|
+
background: #42d0f6;
|
|
472
|
+
display: inline-block;
|
|
473
|
+
margin-right: 6px;
|
|
474
|
+
box-shadow: 0px 2px 4px 0px rgba(66, 208, 246, 0.5);
|
|
475
|
+
}
|
|
476
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-close {
|
|
477
|
+
width: 8px;
|
|
478
|
+
height: 8px;
|
|
479
|
+
-webkit-border-radius: 50%;
|
|
480
|
+
-moz-border-radius: 50%;
|
|
481
|
+
border-radius: 50%;
|
|
482
|
+
background: #718391;
|
|
483
|
+
display: inline-block;
|
|
484
|
+
margin-right: 6px;
|
|
485
|
+
box-shadow: 0px 2px 4px 0px rgba(113, 131, 145, 0.5);
|
|
486
|
+
}
|
|
487
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-audit {
|
|
488
|
+
width: 8px;
|
|
489
|
+
height: 8px;
|
|
490
|
+
-webkit-border-radius: 50%;
|
|
491
|
+
-moz-border-radius: 50%;
|
|
492
|
+
border-radius: 50%;
|
|
493
|
+
background: #f4ba32;
|
|
494
|
+
display: inline-block;
|
|
495
|
+
margin-right: 6px;
|
|
496
|
+
box-shadow: 0px 2px 4px 0px rgba(244, 186, 50, 0.5);
|
|
497
|
+
}
|
|
498
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-design {
|
|
499
|
+
width: 8px;
|
|
500
|
+
height: 8px;
|
|
501
|
+
-webkit-border-radius: 50%;
|
|
502
|
+
-moz-border-radius: 50%;
|
|
503
|
+
border-radius: 50%;
|
|
504
|
+
background: #927ce1;
|
|
505
|
+
display: inline-block;
|
|
506
|
+
margin-right: 6px;
|
|
507
|
+
box-shadow: 0px 2px 4px 0px rgba(146, 124, 225, 0.5);
|
|
508
|
+
}
|
|
509
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-develop {
|
|
510
|
+
width: 8px;
|
|
511
|
+
height: 8px;
|
|
512
|
+
-webkit-border-radius: 50%;
|
|
513
|
+
-moz-border-radius: 50%;
|
|
514
|
+
border-radius: 50%;
|
|
515
|
+
background: #4eb0ef;
|
|
516
|
+
display: inline-block;
|
|
517
|
+
margin-right: 6px;
|
|
518
|
+
box-shadow: 0px 2px 4px 0px rgba(78, 176, 239, 0.5);
|
|
519
|
+
}
|
|
520
|
+
.custom-big-table .domPropsInnerHTML-span .icon-dot-develop-complete {
|
|
521
|
+
width: 8px;
|
|
522
|
+
height: 8px;
|
|
523
|
+
-webkit-border-radius: 50%;
|
|
524
|
+
-moz-border-radius: 50%;
|
|
525
|
+
border-radius: 50%;
|
|
526
|
+
background: #6381f9;
|
|
527
|
+
display: inline-block;
|
|
528
|
+
margin-right: 6px;
|
|
529
|
+
box-shadow: 0px 2px 4px 0px rgba(99, 129, 249, 0.5);
|
|
530
|
+
}
|
|
398
531
|
.no-data-tip {
|
|
399
532
|
display: flex;
|
|
400
533
|
flex-direction: column;
|
|
@@ -8,19 +8,21 @@ export interface ShortcutSignatureInfo {
|
|
|
8
8
|
alt?: boolean;
|
|
9
9
|
key: string;
|
|
10
10
|
}
|
|
11
|
-
export
|
|
11
|
+
export declare type ShortcutOption = {
|
|
12
12
|
label: string | Render;
|
|
13
|
-
key?: string;
|
|
14
13
|
defaultShortcut: ShortcutSignatureInfo;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
callback(): void;
|
|
15
|
+
} & Partial<{
|
|
16
|
+
placeholder: string;
|
|
17
|
+
editPlaceholder: string;
|
|
18
|
+
key: string;
|
|
19
|
+
order: number;
|
|
20
|
+
debounce: boolean;
|
|
21
|
+
debounceOption: {
|
|
18
22
|
duration?: number;
|
|
19
23
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
afterTrigger?(): void | Promise<unknown>;
|
|
23
|
-
}
|
|
24
|
+
operation: Array<'disabled' | 'reset'>;
|
|
25
|
+
}>;
|
|
24
26
|
export interface ShortcutItem extends ShortcutOption {
|
|
25
27
|
status: ShortcutStatus;
|
|
26
28
|
currentKeySignature: string;
|
|
@@ -4,7 +4,7 @@ function isKeyboardEvent(event) {
|
|
|
4
4
|
function normalizeSignatureInfo(info) {
|
|
5
5
|
var _a, _b;
|
|
6
6
|
let ctrl, shift, alt;
|
|
7
|
-
const key = (_b = (_a = info.key) == null ? void 0 : _a.
|
|
7
|
+
const key = (_b = (_a = info.key) == null ? void 0 : _a.toUpperCase()) != null ? _b : "";
|
|
8
8
|
if (isKeyboardEvent(info)) {
|
|
9
9
|
ctrl = info.ctrlKey;
|
|
10
10
|
shift = info.shiftKey;
|
|
@@ -18,18 +18,18 @@ function normalizeSignatureInfo(info) {
|
|
|
18
18
|
}
|
|
19
19
|
function getKeySignature(info) {
|
|
20
20
|
const { ctrl, shift, alt, key } = normalizeSignatureInfo(info);
|
|
21
|
-
return `${ctrl ? "
|
|
21
|
+
return `${ctrl ? "Ctrl_" : ""}${shift ? "Shift_" : ""}${alt ? "Alt_" : ""}${key}`;
|
|
22
22
|
}
|
|
23
|
-
const keyBlackList = ["
|
|
23
|
+
const keyBlackList = ["CONTROL", "ALT", "SHIFT"];
|
|
24
24
|
const inBlackList = (key) => {
|
|
25
25
|
return keyBlackList.includes(key);
|
|
26
26
|
};
|
|
27
27
|
function getDisplaySignature(info) {
|
|
28
28
|
const { ctrl, shift, alt, key } = normalizeSignatureInfo(info);
|
|
29
|
-
return `${ctrl ? "
|
|
29
|
+
return `${ctrl ? "Ctrl+ " : ""}${alt ? "Alt + " : ""}${shift ? "Shift + " : ""}${inBlackList(key) ? "" : key}`;
|
|
30
30
|
}
|
|
31
31
|
function transformKey2DisplaySignature(keySignature) {
|
|
32
|
-
return keySignature.
|
|
32
|
+
return keySignature.replace(/_/g, " + ");
|
|
33
33
|
}
|
|
34
34
|
function isShortcutProvider(ele) {
|
|
35
35
|
return ele && ele.getAttribute("is-shortcut-capture") != void 0;
|