@vunk/form 0.0.0-alpha.5 → 0.0.0-alpha.8

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 (84) hide show
  1. package/components/config/index.js +1 -16
  2. package/components/config-renderer/index.js +1 -0
  3. package/components/confirm-input/index.css +9 -9
  4. package/components/confirm-input/index.js +33 -8
  5. package/components/confirm-input/src/ctx.d.ts +8 -1
  6. package/components/confirm-input/src/index.vue.d.ts +18 -2
  7. package/components/date-picker/index.d.ts +4 -0
  8. package/components/date-picker/index.js +81 -0
  9. package/components/date-picker/src/ctx.d.ts +131 -0
  10. package/components/date-picker/src/index.vue.d.ts +343 -0
  11. package/components/date-picker/src/types.d.ts +14 -0
  12. package/components/form/index.js +23 -2
  13. package/components/form/src/ctx.d.ts +277 -1
  14. package/components/form/src/index.vue.d.ts +825 -0
  15. package/components/form-item-renderer/index.js +1 -0
  16. package/components/ground/index.css +53 -53
  17. package/components/ground/index.js +140 -111
  18. package/components/ground/src/ground-config/src/index copy.vue.d.ts +72 -0
  19. package/components/ground/src/ground-config/src/index.vue.d.ts +953 -54
  20. package/components/ground/src/ground-main/src/index.vue.d.ts +10 -15
  21. package/components/ground/src/ground-widget/src/form-item-widget/src/index.vue.d.ts +13 -0
  22. package/components/ground/src/index.vue.d.ts +32 -10
  23. package/components/input/index.js +7 -7
  24. package/components/input-config/index.js +7 -4
  25. package/components/input-config/src/ctx.d.ts +600 -5
  26. package/components/input-config/src/index.vue.d.ts +2051 -2
  27. package/components/rules-config/src/ctx.d.ts +276 -0
  28. package/components/rules-config/src/index.vue.d.ts +1098 -0
  29. package/components/switch/src/ctx.d.ts +6 -0
  30. package/components/switch/src/index.vue.d.ts +13 -0
  31. package/full-entry/main.d.ts +1 -1
  32. package/index.css +62 -62
  33. package/index.d.ts +3 -1
  34. package/index.esm.js +1 -1
  35. package/package.json +1 -1
  36. package/shared/element-plus/ctx/index.d.ts +6 -4
  37. package/shared/element-plus/ctx/index.js +22 -2
  38. package/shared/element-plus/instances/date-picker.d.ts +94 -0
  39. package/shared/element-plus/instances/date-picker.js +21 -0
  40. package/shared/element-plus/instances/select.d.ts +1 -1
  41. package/shared/helper/index.d.ts +2 -1
  42. package/shared/helper/index.js +15 -1
  43. package/shared/types/form-item/confirm-input.d.ts +8 -0
  44. package/shared/types/form-item/confirm-input.js +1 -0
  45. package/shared/types/form-item/date-picker.d.ts +8 -0
  46. package/shared/types/form-item/date-picker.js +1 -0
  47. package/shared/types/form-item/index.d.ts +2 -0
  48. package/shared/types/form-item/input.d.ts +2 -6
  49. package/shared/types/form-item/select.d.ts +2 -2
  50. package/shared/types/form-item/switch.d.ts +2 -2
  51. package/shared/types/index.d.ts +2 -2
  52. package/shared/types/shared/index.d.ts +1 -1
  53. package/types/components/confirm-input/src/ctx.d.ts +8 -1
  54. package/types/components/confirm-input/src/index.vue.d.ts +18 -2
  55. package/types/components/date-picker/index.d.ts +4 -0
  56. package/types/components/date-picker/src/ctx.d.ts +131 -0
  57. package/types/components/date-picker/src/index.vue.d.ts +343 -0
  58. package/types/components/date-picker/src/types.d.ts +14 -0
  59. package/types/components/form/src/ctx.d.ts +277 -1
  60. package/types/components/form/src/index.vue.d.ts +825 -0
  61. package/types/components/ground/src/ground-config/src/index copy.vue.d.ts +72 -0
  62. package/types/components/ground/src/ground-config/src/index.vue.d.ts +953 -54
  63. package/types/components/ground/src/ground-main/src/index.vue.d.ts +10 -15
  64. package/types/components/ground/src/ground-widget/src/form-item-widget/src/index.vue.d.ts +13 -0
  65. package/types/components/ground/src/index.vue.d.ts +32 -10
  66. package/types/components/input-config/src/ctx.d.ts +600 -5
  67. package/types/components/input-config/src/index.vue.d.ts +2051 -2
  68. package/types/components/rules-config/src/ctx.d.ts +276 -0
  69. package/types/components/rules-config/src/index.vue.d.ts +1098 -0
  70. package/types/components/switch/src/ctx.d.ts +6 -0
  71. package/types/components/switch/src/index.vue.d.ts +13 -0
  72. package/types/full-entry/main.d.ts +1 -1
  73. package/types/shared/element-plus/ctx/index.d.ts +6 -4
  74. package/types/shared/element-plus/instances/date-picker.d.ts +94 -0
  75. package/types/shared/element-plus/instances/select.d.ts +1 -1
  76. package/types/shared/helper/index.d.ts +2 -1
  77. package/types/shared/types/form-item/confirm-input.d.ts +8 -0
  78. package/types/shared/types/form-item/date-picker.d.ts +8 -0
  79. package/types/shared/types/form-item/index.d.ts +2 -0
  80. package/types/shared/types/form-item/input.d.ts +2 -6
  81. package/types/shared/types/form-item/select.d.ts +2 -2
  82. package/types/shared/types/form-item/switch.d.ts +2 -2
  83. package/types/shared/types/index.d.ts +2 -2
  84. package/types/shared/types/shared/index.d.ts +1 -1
@@ -48,6 +48,7 @@ const VkfFormItemRenderer = defineComponent({
48
48
  });
49
49
  nodes && a.push(nodes);
50
50
  } else if (c.templateSlots?.default) {
51
+ console.warn(c.templateType, "templateType\u4E0D\u5B58\u5728\u5C06\u8DF3\u8FC7");
51
52
  currentK.push("templateSlots", "default");
52
53
  return renderFormItems(c.templateSlots.default, currentK);
53
54
  }
@@ -1,36 +1,63 @@
1
+
2
+ .vkf-ground {
3
+ display: flex;
4
+ }
5
+
6
+ .vkf-ground-widget-x {
7
+ width: 15em;
8
+ height: 100%;
9
+ }
10
+
11
+ .vkf-ground-main-x {
12
+ flex: 3;
13
+ }
14
+
15
+ .vkf-ground-main-x .vkf-ground-main-card {
16
+ height: 100%;
17
+ }
18
+
19
+ .vkf-ground-main-card>.vk-card-title {
20
+ display: flex;
21
+ justify-content: end;
22
+ margin-bottom: var(--gap-xxs);
23
+ }
24
+
25
+ .vkf-ground-main-card>.vk-card-body {
26
+ height: 100%;
27
+ border: 2px var(--el-border-color) dashed;
28
+ overflow: auto;
29
+ }
30
+
31
+ .vkf-ground-config-x {
32
+ padding: 0 1em;
33
+ flex: 1;
34
+ }
1
35
 
2
- .vkf-ground {
36
+ .vkf-widget-tab{
37
+ position: relative;
38
+ width: 100%;
3
39
  display: flex;
40
+ justify-content: space-around;
41
+ --vk-float-block-color: var(--el-color-primary);
4
42
  }
5
-
6
- .vkf-ground-widget-x {
7
- width: 15em;
8
- height: 100%;
9
- }
10
-
11
- .vkf-ground-main-x {
12
- flex: 3;
13
- }
14
-
15
- .vkf-ground-main-x .vkf-ground-main-card {
16
- height: 100%;
43
+ .vkf-widget-tab > .is-active.vk-tab-item{
44
+ color: var(--el-color-primary);
17
45
  }
18
-
19
- .vkf-ground-main-card>.vk-card-title {
20
- display: flex;
21
- justify-content: end;
22
- margin-bottom: var(--gap-xxs);
46
+ .vkf-widget-tab > .vk-tab-item {
47
+ padding: 0.5em 1em;
23
48
  }
24
49
 
25
- .vkf-ground-main-card>.vk-card-body {
26
- height: 100%;
27
- border: 2px var(--el-border-color) dashed;
28
- overflow: auto;
50
+ /* for FormItemWidget */
51
+ .vkf-ground-widget-ul {
52
+ display: grid;
53
+ grid: auto-flow / repeat(2, 1fr);
29
54
  }
30
-
31
- .vkf-ground-config-x {
32
- padding: 0 1em;
33
- flex: 1;
55
+ .vkf-ground-widget-ul li{
56
+ text-align: center;
57
+ margin: 0.25em .5em;
58
+ background: var(--el-color-info-light-8);
59
+ cursor: move;
60
+ border-radius: 4px;
34
61
  }
35
62
 
36
63
  .vkf-ground-main {
@@ -59,33 +86,6 @@
59
86
  padding: 1em .5em 0;
60
87
  }
61
88
 
62
- .vkf-widget-tab{
63
- position: relative;
64
- width: 100%;
65
- display: flex;
66
- justify-content: space-around;
67
- --vk-float-block-color: var(--el-color-primary);
68
- }
69
- .vkf-widget-tab > .is-active.vk-tab-item{
70
- color: var(--el-color-primary);
71
- }
72
- .vkf-widget-tab > .vk-tab-item {
73
- padding: 0.5em 1em;
74
- }
75
-
76
- /* for FormItemWidget */
77
- .vkf-ground-widget-ul {
78
- display: grid;
79
- grid: auto-flow / repeat(2, 1fr);
80
- }
81
- .vkf-ground-widget-ul li{
82
- text-align: center;
83
- margin: 0.25em .5em;
84
- background: var(--el-color-info-light-8);
85
- cursor: move;
86
- border-radius: 4px;
87
- }
88
-
89
89
  .vkf-ground-main-editing-wrapper{
90
90
  overflow: hidden;
91
91
  position: relative;
@@ -1,4 +1,4 @@
1
- import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString, ref, createVNode, withDirectives, renderSlot, vShow, createTextVNode, computed, createCommentVNode, resolveDynamicComponent, normalizeClass, mergeProps, toHandlers, unref, getCurrentScope, onScopeDispose, watch } from 'vue';
1
+ import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString, ref, createVNode, withDirectives, renderSlot, vShow, createTextVNode, computed, createCommentVNode, resolveDynamicComponent, normalizeClass, mergeProps, unref, getCurrentScope, onScopeDispose, watch } from 'vue';
2
2
  import { VkTabGroup, VkTabItem, VkCard, VkBoxHandler } from 'vunk';
3
3
  import { VkFloatBlock } from 'vunk/gsap/components/float-block';
4
4
  import { ElCollapseItem, ElScrollbar, ElCollapse, ElIcon, ElButton, ElMessage, ElMessageBox } from 'element-plus';
@@ -8,7 +8,9 @@ import { VkfForm, _VkfFormUtils } from '@vunk/form/components/form';
8
8
  import { VkfDropWrapper, DragoverClasses } from '@vunk/form/components/drop-wrapper';
9
9
  import { VkfFormItemRendererTemplate } from '@vunk/form/components/form-item-renderer-template';
10
10
  import { setData, unsetData } from 'vunk/shared/helper';
11
- import { VkfConfig, _VkfConfigCtx } from '@vunk/form/components/config';
11
+ import { VkfConfigRenderer } from '@vunk/form/components/config-renderer';
12
+ import { VkfConfigRendererTemplate } from '@vunk/form/components/config-renderer-template';
13
+ import { VkfInputConfig } from '@vunk/form/components/input-config';
12
14
 
13
15
  var script$5 = defineComponent({
14
16
  components: {
@@ -633,22 +635,19 @@ var script$2 = defineComponent({
633
635
  type: Array,
634
636
  default: () => []
635
637
  },
636
- prop: {
638
+ data: Object,
639
+ currentK: {
637
640
  type: String,
638
641
  default: ""
639
- },
640
- k: {
641
- type: Array,
642
- default: () => []
643
642
  }
644
643
  },
645
644
  emits: {
646
- "update:prop": (e) => e,
645
+ "update:currentK": (e) => e,
646
+ "setData": (e) => e,
647
647
  "setData:formItems": null,
648
648
  "unsetData:formItems": null
649
649
  },
650
650
  setup(props, { emit }) {
651
- const formData = ref({});
652
651
  const groundEndClassName = ref(DragoverClasses.normal);
653
652
  const formItemsWithWrapper = computed(() => {
654
653
  const data = [];
@@ -687,21 +686,24 @@ var script$2 = defineComponent({
687
686
  addDefaultProp(source);
688
687
  if (source.templateType === "VkfEditingSelect") {
689
688
  const currentLength = props.formItems.length;
690
- source.templateSlots.default.forEach((v, i) => {
689
+ const formItemSource = source.templateSlots.default[0];
690
+ if (formItemSource) {
691
691
  emit("setData:formItems", {
692
- k: currentLength + i,
693
- v
692
+ k: currentLength,
693
+ v: formItemSource
694
694
  });
695
- });
695
+ }
696
696
  emit("unsetData:formItems", {
697
697
  k: source.index
698
698
  });
699
+ emit("update:currentK", currentLength - 1 + "");
699
700
  } else {
701
+ const currentK = props.formItems.length;
700
702
  emit("setData:formItems", {
701
- k: props.formItems.length,
703
+ k: currentK,
702
704
  v: source
703
705
  });
704
- emit("update:prop", source.prop);
706
+ emit("update:currentK", currentK + "");
705
707
  }
706
708
  }
707
709
  function editDrop(e, overClass, toData) {
@@ -725,12 +727,13 @@ var script$2 = defineComponent({
725
727
  }
726
728
  if (!fromK.length) {
727
729
  addDefaultProp(itemSource);
730
+ const k = toK.map((v, index) => index === toK.length - 1 ? tkl : v);
728
731
  emit("setData:formItems", {
729
- k: toK.map((v, index) => index === toK.length - 1 ? tkl : v),
732
+ k,
730
733
  v: itemSource,
731
734
  insert: true
732
735
  });
733
- itemSource.prop && emit("update:prop", itemSource.prop);
736
+ emit("update:currentK", k.join());
734
737
  return;
735
738
  }
736
739
  if (fromK.length === toK.length) {
@@ -755,6 +758,7 @@ var script$2 = defineComponent({
755
758
  v: itemSource,
756
759
  insert: true
757
760
  });
761
+ emit("update:currentK", tkl + "");
758
762
  }
759
763
  }
760
764
  }
@@ -766,7 +770,6 @@ var script$2 = defineComponent({
766
770
  drop,
767
771
  setData,
768
772
  editDrop,
769
- formData,
770
773
  formItemsWithWrapper
771
774
  };
772
775
  }
@@ -791,21 +794,22 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
791
794
  createCommentVNode(" {{ formItems. }} "),
792
795
  createCommentVNode(" \u5C06formItems\u6E32\u67D3 \u4E3A\u7F16\u8F91\u65F6\u7EC4\u4EF6 "),
793
796
  createVNode(_component_VkTabGroup, {
794
- modelValue: _ctx.prop,
795
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:prop", $event))
797
+ modelValue: _ctx.currentK,
798
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:currentK", $event))
796
799
  }, {
797
800
  default: withCtx(() => [
798
801
  createVNode(_component_VkfForm, {
799
802
  formItems: _ctx.formItemsWithWrapper,
800
- data: _ctx.formData,
801
- onSetData: _cache[1] || (_cache[1] = ($event) => _ctx.setData(_ctx.formData, $event))
803
+ data: _ctx.data,
804
+ onSetData: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("setData", $event))
802
805
  }, {
803
806
  rendererTemplate: withCtx(() => [
804
807
  createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfEditingSelect" }, {
805
- default: withCtx(({ data, Renderer, raw, k }) => [
808
+ default: withCtx(({ Renderer, raw, k }) => [
806
809
  createCommentVNode(" name is prop "),
807
810
  createVNode(_component_VkTabItem, {
808
- name: data.name,
811
+ name: k.join(),
812
+ title: k.join(),
809
813
  clearable: false,
810
814
  class: "vkf-gm-form-item-x"
811
815
  }, {
@@ -828,7 +832,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
828
832
  }, 1032, ["onDrop", "attributes", "active", "source"])
829
833
  ]),
830
834
  _: 2
831
- }, 1032, ["name"])
835
+ }, 1032, ["name", "title"])
832
836
  ]),
833
837
  _: 1
834
838
  }),
@@ -853,57 +857,49 @@ script$2.__file = "ground/src/ground-main/src/index.vue";
853
857
 
854
858
  var script$1 = defineComponent({
855
859
  components: {
856
- VkfConfig
860
+ VkfConfigRenderer,
861
+ VkfConfigRendererTemplate,
862
+ VkfInputConfig
857
863
  },
858
864
  props: {
859
- ..._VkfConfigCtx.props,
860
- templateType: {
861
- type: String,
862
- default: ""
865
+ data: {
866
+ type: Object,
867
+ default: () => ({})
863
868
  },
864
- propDisabled: {
865
- type: Boolean,
866
- default: false
869
+ propFieldSource: {
870
+ type: Object,
871
+ default: () => ({})
867
872
  }
868
873
  },
869
874
  emits: {
870
- ..._VkfConfigCtx.emits,
871
- "update:propDisabled": (e) => e
875
+ setData: (e) => e
872
876
  },
873
- setup(props, { emit }) {
874
- const configProps = _VkfConfigCtx.createBindProps(props, ["source"]);
875
- const configEmits = _VkfConfigCtx.createOnEmits(emit);
876
- const source = computed(() => {
877
- return {
878
- templateType: props.templateType,
879
- propDisabled: props.propDisabled
880
- };
881
- });
882
- const setSource = (e) => {
883
- if (e.k === "propDisabled") {
884
- emit("update:propDisabled", e.v);
885
- }
886
- };
887
- return {
888
- source,
889
- setSource,
890
- configProps,
891
- configEmits
892
- };
877
+ setup() {
878
+ return {};
893
879
  }
894
880
  });
895
881
 
896
882
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
897
- const _component_VkfConfig = resolveComponent("VkfConfig");
898
- return openBlock(), createBlock(_component_VkfConfig, mergeProps({
899
- source: _ctx.source,
900
- "onSetData:source": _ctx.setSource
901
- }, _ctx.configProps, toHandlers(_ctx.configEmits)), {
902
- rendererTemplate: withCtx(() => [
903
- renderSlot(_ctx.$slots, "rendererTemplate")
883
+ const _component_VkfInputConfig = resolveComponent("VkfInputConfig");
884
+ const _component_VkfConfigRendererTemplate = resolveComponent("VkfConfigRendererTemplate");
885
+ const _component_VkfConfigRenderer = resolveComponent("VkfConfigRenderer");
886
+ return openBlock(), createBlock(_component_VkfConfigRenderer, { source: _ctx.data }, {
887
+ default: withCtx(() => [
888
+ createCommentVNode(' data-example: { "templateType": "VkfInput", \r\n "prop": "from_widget_2", "label": "inputLabel" } '),
889
+ createVNode(_component_VkfConfigRendererTemplate, { type: "VkfInput" }, {
890
+ default: withCtx(({ data: props }) => [
891
+ createVNode(_component_VkfInputConfig, mergeProps(props, {
892
+ data: _ctx.data,
893
+ onSetData: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("setData", $event)),
894
+ propFieldSource: _ctx.propFieldSource
895
+ }), null, 16, ["data", "propFieldSource"])
896
+ ]),
897
+ _: 1
898
+ }),
899
+ renderSlot(_ctx.$slots, "configRendererTemplate")
904
900
  ]),
905
901
  _: 3
906
- }, 16, ["source", "onSetData:source"]);
902
+ }, 8, ["source"]);
907
903
  }
908
904
 
909
905
  script$1.render = render$1;
@@ -1062,54 +1058,79 @@ var script = defineComponent({
1062
1058
  type: Array,
1063
1059
  default: void 0
1064
1060
  },
1061
+ source: {
1062
+ type: Array,
1063
+ default: () => []
1064
+ },
1065
1065
  data: {
1066
+ type: Object,
1067
+ default: () => ({})
1068
+ },
1069
+ modelValue: {
1066
1070
  type: Array,
1067
1071
  default: () => []
1068
1072
  }
1069
1073
  },
1070
1074
  emits: {
1071
- "update:data": null,
1075
+ "update:source": null,
1076
+ "setData:source": (e) => e,
1077
+ "unsetData:source": null,
1072
1078
  "setData": (e) => e,
1073
- "unsetData": null,
1074
- "update:componentLibCollapseExpanded": null
1079
+ "update:componentLibCollapseExpanded": null,
1080
+ "update:modelValue": (e) => Array.isArray(e)
1075
1081
  },
1076
1082
  setup(props, { emit }) {
1077
- const editProp = ref("");
1078
1083
  const propToFormItem = computed(() => {
1079
- return props.data.reduce((a, c) => {
1084
+ return props.source.reduce((a, c) => {
1080
1085
  if (c.prop) {
1081
1086
  a[c.prop] = c;
1082
1087
  }
1083
1088
  return a;
1084
1089
  }, {});
1085
1090
  });
1086
- const configPropDisabled = ref(true);
1087
- const setFormItem = (props2, e) => {
1088
- if (e.k === "prop") {
1089
- if (e.v === props2.prop) {
1090
- configPropDisabled.value = true;
1091
- } else {
1092
- if (e.v in propToFormItem.value) {
1093
- ElMessage({
1094
- type: "warning",
1095
- message: "\u5B58\u5728\u76F8\u540C\u7684prop, \u8BF7\u91CD\u65B0\u4FEE\u6539"
1096
- });
1097
- } else if (!e.v) {
1098
- ElMessage({
1099
- type: "warning",
1100
- message: "prop\u4E0D\u80FD\u4E3A\u7A7A"
1101
- });
1102
- } else {
1103
- props2.prop = e.v;
1104
- editProp.value = e.v;
1105
- configPropDisabled.value = true;
1091
+ const kToSourceItem = computed(() => {
1092
+ const data = {};
1093
+ function intoData(list, k = []) {
1094
+ list.forEach((item, index) => {
1095
+ const currentK = [...k, index];
1096
+ data[currentK.join()] = item;
1097
+ if (item.templateSlots) {
1098
+ if (Array.isArray(item.templateSlots.default)) {
1099
+ intoData(item.templateSlots.default, currentK);
1100
+ }
1106
1101
  }
1107
- }
1102
+ });
1103
+ }
1104
+ intoData(props.source);
1105
+ return data;
1106
+ });
1107
+ const _modelValue = ref("");
1108
+ const editK = computed({
1109
+ get() {
1110
+ return props.modelValue?.join() ?? _modelValue.value;
1111
+ },
1112
+ set(v) {
1113
+ _modelValue.value = v;
1114
+ emit("update:modelValue", v ? v.split(",") : []);
1115
+ }
1116
+ });
1117
+ const editKArr = computed(() => editK.value ? editK.value.split(",") : []);
1118
+ const propValidateUpdate = (ev) => {
1119
+ if (ev in propToFormItem.value) {
1120
+ ElMessage({
1121
+ type: "warning",
1122
+ message: "\u5B58\u5728\u76F8\u540C\u7684prop, \u8BF7\u91CD\u65B0\u4FEE\u6539"
1123
+ });
1124
+ } else if (!ev) {
1125
+ ElMessage({
1126
+ type: "warning",
1127
+ message: "prop\u4E0D\u80FD\u4E3A\u7A7A"
1128
+ });
1108
1129
  } else {
1109
- setData(props2, e);
1130
+ return true;
1110
1131
  }
1111
1132
  };
1112
- const formItemStr = computed(() => JSON.stringify(props.data));
1133
+ const formItemStr = computed(() => JSON.stringify(props.source));
1113
1134
  const formItemClip = useClipboard({
1114
1135
  source: formItemStr
1115
1136
  });
@@ -1130,16 +1151,17 @@ var script = defineComponent({
1130
1151
  }
1131
1152
  return obj;
1132
1153
  }).then((obj) => {
1133
- emit("update:data", obj);
1154
+ emit("update:source", obj);
1134
1155
  });
1135
1156
  };
1136
1157
  return {
1137
1158
  propToFormItem,
1138
- editProp,
1139
1159
  setData,
1140
1160
  unsetData,
1141
- setFormItem,
1142
- configPropDisabled,
1161
+ propValidateUpdate,
1162
+ kToSourceItem,
1163
+ editK,
1164
+ editKArr,
1143
1165
  formItemClip,
1144
1166
  inputJson
1145
1167
  };
@@ -1192,36 +1214,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1192
1214
  ]),
1193
1215
  default: withCtx(() => [
1194
1216
  createVNode(_component_VkfGroundMain, {
1195
- prop: _ctx.editProp,
1196
- "onUpdate:prop": _cache[2] || (_cache[2] = ($event) => _ctx.editProp = $event),
1197
- formItems: _ctx.data,
1198
- "onSetData:formItems": _cache[3] || (_cache[3] = ($event) => _ctx.$emit("setData", $event)),
1199
- "onUnsetData:formItems": _cache[4] || (_cache[4] = ($event) => _ctx.$emit("unsetData", $event))
1217
+ data: _ctx.data,
1218
+ onSetData: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("setData", $event)),
1219
+ currentK: _ctx.editK,
1220
+ "onUpdate:currentK": _cache[3] || (_cache[3] = ($event) => _ctx.editK = $event),
1221
+ formItems: _ctx.source,
1222
+ "onSetData:formItems": _cache[4] || (_cache[4] = ($event) => _ctx.$emit("setData:source", $event)),
1223
+ "onUnsetData:formItems": _cache[5] || (_cache[5] = ($event) => _ctx.$emit("unsetData:source", $event))
1200
1224
  }, {
1201
1225
  rendererTemplate: withCtx(() => [
1202
1226
  renderSlot(_ctx.$slots, "rendererTemplate")
1203
1227
  ]),
1204
1228
  _: 3
1205
- }, 8, ["prop", "formItems"])
1229
+ }, 8, ["data", "currentK", "formItems"])
1206
1230
  ]),
1207
1231
  _: 3
1208
1232
  })
1209
1233
  ]),
1210
1234
  createElementVNode("div", _hoisted_6, [
1211
1235
  createCommentVNode(" \u901A\u8FC7config \u4FEE\u6539\u6570\u636E\u6E90 \u5355\u9879\u7684\u5185\u5BB9 "),
1212
- _ctx.editProp && _ctx.propToFormItem[_ctx.editProp] ? (openBlock(), createBlock(_component_VkfGroundConfig, {
1213
- key: 0,
1214
- propDisabled: _ctx.configPropDisabled,
1215
- "onUpdate:propDisabled": _cache[5] || (_cache[5] = ($event) => _ctx.configPropDisabled = $event),
1216
- templateType: _ctx.propToFormItem[_ctx.editProp].templateType,
1217
- data: _ctx.propToFormItem[_ctx.editProp],
1218
- onSetData: _cache[6] || (_cache[6] = ($event) => _ctx.setFormItem(_ctx.propToFormItem[_ctx.editProp], $event))
1236
+ createCommentVNode(" {{ editK }} {{ kToSourceItem[editK] }} "),
1237
+ createCommentVNode(" {{ kToSourceItem[editK] }} "),
1238
+ createCommentVNode(' :k="editKArr" '),
1239
+ createVNode(_component_VkfGroundConfig, {
1240
+ data: _ctx.kToSourceItem[_ctx.editK],
1241
+ onSetData: _cache[6] || (_cache[6] = ($event) => _ctx.$emit("setData:source", {
1242
+ k: [..._ctx.editKArr, $event.k],
1243
+ v: $event.v
1244
+ })),
1245
+ propFieldSource: {
1246
+ validateUpdate: _ctx.propValidateUpdate
1247
+ }
1219
1248
  }, {
1220
- rendererTemplate: withCtx(() => [
1221
- renderSlot(_ctx.$slots, "configRendererTemplate")
1249
+ configRendererTemplate: withCtx(() => [
1250
+ renderSlot(_ctx.$slots, "configRendererTemplate", { propValidateUpdate: _ctx.propValidateUpdate })
1222
1251
  ]),
1223
1252
  _: 3
1224
- }, 8, ["propDisabled", "templateType", "data"])) : createCommentVNode("v-if", true)
1253
+ }, 8, ["data", "propFieldSource"])
1225
1254
  ])
1226
1255
  ]);
1227
1256
  }
@@ -0,0 +1,72 @@
1
+ import { SetDataEvent } from '@vunk/form/shared/types';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ templateType: {
4
+ type: StringConstructor;
5
+ default: string;
6
+ };
7
+ propDisabled: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ data: {
12
+ type: import("vue").PropType<import("vunk/shared/types").AnyObject>;
13
+ default: () => {};
14
+ };
15
+ source: {
16
+ type: import("vue").PropType<{
17
+ [k: string]: any;
18
+ templateType?: string | undefined;
19
+ }>;
20
+ default: () => {};
21
+ };
22
+ }, {
23
+ source: import("vue").ComputedRef<{
24
+ templateType: string;
25
+ propDisabled: boolean;
26
+ }>;
27
+ setSource: (e: SetDataEvent) => void;
28
+ configProps: import("vue").ComputedRef<{
29
+ data: import("vunk/shared/types").AnyObject;
30
+ }>;
31
+ configEmits: {
32
+ setData: ((event: "setData", e: SetDataEvent<any>) => void) & ((event: "update:propDisabled", e: boolean) => void) & ((event: "setData:source", e: SetDataEvent<any>) => void);
33
+ "setData:source": ((event: "setData", e: SetDataEvent<any>) => void) & ((event: "update:propDisabled", e: boolean) => void) & ((event: "setData:source", e: SetDataEvent<any>) => void);
34
+ };
35
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
+ 'update:propDisabled': (e: boolean) => boolean;
37
+ setData: (e: SetDataEvent<any>) => SetDataEvent<any>;
38
+ 'setData:source': (e: SetDataEvent<any>) => SetDataEvent<any>;
39
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
+ templateType: {
41
+ type: StringConstructor;
42
+ default: string;
43
+ };
44
+ propDisabled: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ data: {
49
+ type: import("vue").PropType<import("vunk/shared/types").AnyObject>;
50
+ default: () => {};
51
+ };
52
+ source: {
53
+ type: import("vue").PropType<{
54
+ [k: string]: any;
55
+ templateType?: string | undefined;
56
+ }>;
57
+ default: () => {};
58
+ };
59
+ }>> & {
60
+ onSetData?: ((e: SetDataEvent<any>) => any) | undefined;
61
+ "onUpdate:propDisabled"?: ((e: boolean) => any) | undefined;
62
+ "onSetData:source"?: ((e: SetDataEvent<any>) => any) | undefined;
63
+ }, {
64
+ templateType: string;
65
+ data: import("vunk/shared/types").AnyObject;
66
+ source: {
67
+ [k: string]: any;
68
+ templateType?: string | undefined;
69
+ };
70
+ propDisabled: boolean;
71
+ }>;
72
+ export default _default;