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.
Files changed (31) hide show
  1. package/es/node_modules/@formily/path/esm/contexts.js +22 -0
  2. package/es/node_modules/@formily/path/esm/destructor.js +124 -0
  3. package/es/node_modules/@formily/path/esm/index.js +579 -0
  4. package/es/node_modules/@formily/path/esm/matcher.js +199 -0
  5. package/es/node_modules/@formily/path/esm/parser.js +402 -0
  6. package/es/node_modules/@formily/path/esm/shared.js +73 -0
  7. package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
  8. package/es/node_modules/@formily/path/esm/tokens.js +240 -0
  9. package/es/node_modules/@formily/path/esm/types.js +17 -0
  10. package/es/packages/big-table/src/BigTable.vue.d.ts +13 -6
  11. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +4 -4
  12. package/es/packages/big-table/src/utils.js +1 -0
  13. package/es/packages/big-table/style/index.css +133 -0
  14. package/es/packages/fabric-chart/src/FabricChart.js +0 -1
  15. package/es/packages/fabric-chart/src/hooks/useLeft.js +15 -4
  16. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  17. package/es/packages/form-render/src/components/renderer/combination.js +53 -16
  18. package/es/packages/form-render/src/components/renderer/select.js +2 -4
  19. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +1 -0
  20. package/es/packages/form-render/src/components/renderer/simpleComponent.js +4 -3
  21. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +1 -0
  22. package/es/packages/form-render/src/types/fieldItem.d.ts +1 -0
  23. package/es/packages/index.css +133 -0
  24. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  25. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  26. package/es/packages/shortcut-setter/index.d.ts +3248 -1486
  27. package/es/packages/shortcut-setter/src/ShortcutSetter.js +9 -5
  28. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3248 -1486
  29. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +24 -11
  30. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  31. 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;
@@ -164,7 +164,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
164
  return {
165
165
  ...v,
166
166
  bigType: item.type,
167
- titleStyle: item.style,
168
167
  unit: item.unit,
169
168
  dataIndex
170
169
  };
@@ -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.titleStyle || {}
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, index) => {
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, toRaw } from 'vue';
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 combinationRepeat = ref(1);
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
- combinationRepeat.value++;
55
+ groupNum.value++;
33
56
  _values.value.push({});
34
57
  emitChange();
35
58
  }
36
59
  function remove(idx) {
37
- combinationRepeat.value--;
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 (isObject(v)) {
51
- _values.value[idx] = v;
52
- } else {
53
- _values.value[idx] = {};
54
- formRenderLog(`invalid Object value ${v} in COMBINATION => ${props.title}[${idx}]`, "warn");
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
- combinationRepeat.value = _values.value.length;
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
- initValues(props.value);
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][fieldKey] = value;
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: combinationRepeat.value
126
+ length: groupNum.value
90
127
  }).map((_, idx) => {
91
128
  return createVNode("section", {
92
129
  "class": "form-render__combinationContent"
93
130
  }, [createVNode(FormRenderComponent, {
94
- "initialData": toRaw(_values.value[idx]) || {},
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, watch, inject, computed, nextTick, createVNode } from 'vue';
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
- await nextTick();
92
- props.value != null && await fetchData();
90
+ emit("update:value", null);
93
91
  });
94
92
  config && fetchData();
95
93
  }, {
@@ -3,6 +3,7 @@ export declare const TEXT: {
3
3
  props: {
4
4
  content: {};
5
5
  fieldItem: {};
6
+ value: {};
6
7
  };
7
8
  };
8
9
  export declare const BUTTON: {
@@ -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 = createSlot(props.content, props)).default) == null ? void 0 : _b.call(_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;
@@ -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 interface ShortcutOption {
11
+ export declare type ShortcutOption = {
12
12
  label: string | Render;
13
- key?: string;
14
13
  defaultShortcut: ShortcutSignatureInfo;
15
- order?: number;
16
- debounce?: boolean;
17
- debounceOption?: {
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
- beforeTrigger?(): void | Promise<unknown>;
21
- callback(): void;
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.toLowerCase()) != null ? _b : "";
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 ? "CTRL_" : ""}${shift ? "SHIFT_" : ""}${alt ? "ALT_" : ""}${key}`;
21
+ return `${ctrl ? "Ctrl_" : ""}${shift ? "Shift_" : ""}${alt ? "Alt_" : ""}${key}`;
22
22
  }
23
- const keyBlackList = ["control", "alt", "shift"];
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 ? "ctrl+ " : ""}${alt ? "alt + " : ""}${shift ? "shift + " : ""}${inBlackList(key) ? "" : key}`;
29
+ return `${ctrl ? "Ctrl+ " : ""}${alt ? "Alt + " : ""}${shift ? "Shift + " : ""}${inBlackList(key) ? "" : key}`;
30
30
  }
31
31
  function transformKey2DisplaySignature(keySignature) {
32
- return keySignature.toLowerCase().replace(/_/g, " + ");
32
+ return keySignature.replace(/_/g, " + ");
33
33
  }
34
34
  function isShortcutProvider(ele) {
35
35
  return ele && ele.getAttribute("is-shortcut-capture") != void 0;