@tmagic/form 1.0.0-beta.13 → 1.0.0-beta.14

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 (62) hide show
  1. package/coverage/clover.xml +35 -23
  2. package/coverage/coverage-final.json +3 -2
  3. package/coverage/lcov-report/index.html +14 -14
  4. package/coverage/lcov-report/src/Form.vue.html +2 -2
  5. package/coverage/lcov-report/src/FormDialog.vue.html +1 -1
  6. package/coverage/lcov-report/src/containers/Col.vue.html +253 -0
  7. package/coverage/lcov-report/src/containers/Container.vue.html +1 -1
  8. package/coverage/lcov-report/src/containers/Fieldset.vue.html +1 -1
  9. package/coverage/lcov-report/src/containers/GroupList.vue.html +1 -1
  10. package/coverage/lcov-report/src/containers/GroupListItem.vue.html +1 -1
  11. package/coverage/lcov-report/src/containers/Panel.vue.html +1 -1
  12. package/coverage/lcov-report/src/containers/Row.vue.html +23 -35
  13. package/coverage/lcov-report/src/containers/Step.vue.html +1 -1
  14. package/coverage/lcov-report/src/containers/Table.vue.html +1 -1
  15. package/coverage/lcov-report/src/containers/Tabs.vue.html +1 -1
  16. package/coverage/lcov-report/src/containers/index.html +29 -14
  17. package/coverage/lcov-report/src/fields/Cascader.vue.html +1 -1
  18. package/coverage/lcov-report/src/fields/Checkbox.vue.html +3 -3
  19. package/coverage/lcov-report/src/fields/CheckboxGroup.vue.html +1 -1
  20. package/coverage/lcov-report/src/fields/ColorPicker.vue.html +1 -1
  21. package/coverage/lcov-report/src/fields/Date.vue.html +1 -1
  22. package/coverage/lcov-report/src/fields/DateTime.vue.html +1 -1
  23. package/coverage/lcov-report/src/fields/Daterange.vue.html +1 -1
  24. package/coverage/lcov-report/src/fields/Display.vue.html +1 -1
  25. package/coverage/lcov-report/src/fields/DynamicField.vue.html +1 -1
  26. package/coverage/lcov-report/src/fields/Hidden.vue.html +1 -1
  27. package/coverage/lcov-report/src/fields/Link.vue.html +1 -1
  28. package/coverage/lcov-report/src/fields/Number.vue.html +1 -1
  29. package/coverage/lcov-report/src/fields/RadioGroup.vue.html +1 -1
  30. package/coverage/lcov-report/src/fields/Select.vue.html +1 -1
  31. package/coverage/lcov-report/src/fields/Switch.vue.html +1 -1
  32. package/coverage/lcov-report/src/fields/Text.vue.html +1 -1
  33. package/coverage/lcov-report/src/fields/Textarea.vue.html +13 -19
  34. package/coverage/lcov-report/src/fields/Time.vue.html +1 -1
  35. package/coverage/lcov-report/src/fields/index.html +1 -1
  36. package/coverage/lcov-report/src/index.html +1 -1
  37. package/coverage/lcov-report/src/index.ts.html +1 -1
  38. package/coverage/lcov-report/src/theme/index.html +1 -1
  39. package/coverage/lcov-report/src/theme/index.scss.html +1 -1
  40. package/coverage/lcov-report/src/utils/config.ts.html +1 -1
  41. package/coverage/lcov-report/src/utils/createForm.ts.html +1 -1
  42. package/coverage/lcov-report/src/utils/fieldProps.ts.html +1 -1
  43. package/coverage/lcov-report/src/utils/form.ts.html +1 -1
  44. package/coverage/lcov-report/src/utils/index.html +1 -1
  45. package/coverage/lcov-report/src/utils/useAddField.ts.html +1 -1
  46. package/coverage/lcov.info +63 -37
  47. package/dist/tmagic-form.es.js +120 -84
  48. package/dist/tmagic-form.es.js.map +1 -1
  49. package/dist/tmagic-form.umd.js +120 -84
  50. package/dist/tmagic-form.umd.js.map +1 -1
  51. package/dist/types/src/Form.vue.d.ts +354 -0
  52. package/dist/types/src/FormDialog.vue.d.ts +741 -0
  53. package/dist/types/src/containers/Col.vue.d.ts +42 -0
  54. package/dist/types/src/containers/Row.vue.d.ts +0 -1
  55. package/dist/types/src/fields/Checkbox.vue.d.ts +2 -2
  56. package/dist/types/src/fields/Link.vue.d.ts +1564 -0
  57. package/package.json +3 -3
  58. package/src/Form.vue +1 -1
  59. package/src/containers/Col.vue +56 -0
  60. package/src/containers/Row.vue +14 -18
  61. package/src/fields/Checkbox.vue +2 -2
  62. package/src/fields/Textarea.vue +11 -13
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0-beta.13",
2
+ "version": "1.0.0-beta.14",
3
3
  "name": "@tmagic/form",
4
4
  "sideEffects": false,
5
5
  "main": "dist/tmagic-form.umd.js",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@element-plus/icons": "0.0.11",
34
- "@tmagic/utils": "^1.0.0-beta.13",
34
+ "@tmagic/utils": "^1.0.0-beta.14",
35
35
  "element-plus": "^2.1.7",
36
36
  "lodash-es": "^4.17.21",
37
37
  "moment": "^2.29.2",
@@ -58,5 +58,5 @@
58
58
  "vite-plugin-dts": "^0.9.6",
59
59
  "vue-tsc": "^0.0.24"
60
60
  },
61
- "gitHead": "ca2b203614cbdaff580e5cb6f35630f50b827451"
61
+ "gitHead": "02dd9fa31c856c6a4812af156bed0e1839c46599"
62
62
  }
package/src/Form.vue CHANGED
@@ -177,7 +177,7 @@ export default defineComponent({
177
177
  submitForm: async (native?: boolean): Promise<any> => {
178
178
  try {
179
179
  await elForm.value?.validate();
180
- return native ? values.value : cloneDeep(values.value);
180
+ return native ? values.value : cloneDeep(toRaw(values.value));
181
181
  } catch (invalidFields: any) {
182
182
  const error: string[] = [];
183
183
 
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <el-col v-show="display && config.type !== 'hidden'" :span="span">
3
+ <m-form-container
4
+ :model="model"
5
+ :config="config"
6
+ :prop="prop"
7
+ :label-width="config.labelWidth || labelWidth"
8
+ :expand-more="expandMore"
9
+ :size="size"
10
+ @change="changeHandler"
11
+ ></m-form-container>
12
+ </el-col>
13
+ </template>
14
+
15
+ <script lang="ts">
16
+ import { computed, defineComponent, inject, PropType } from 'vue';
17
+
18
+ import { ChildConfig, FormState } from '../schema';
19
+ import { display as displayFunction } from '../utils/form';
20
+
21
+ export default defineComponent({
22
+ props: {
23
+ labelWidth: String,
24
+ expandMore: Boolean,
25
+ span: Number,
26
+
27
+ model: {
28
+ type: Object,
29
+ default: () => ({}),
30
+ },
31
+
32
+ config: {
33
+ type: Object as PropType<ChildConfig>,
34
+ default: () => ({}),
35
+ },
36
+
37
+ prop: String,
38
+
39
+ size: String,
40
+ },
41
+
42
+ emits: ['change'],
43
+
44
+ setup(props, { emit }) {
45
+ const mForm = inject<FormState | undefined>('mForm');
46
+
47
+ const changeHandler = () => emit('change', props.model);
48
+
49
+ return {
50
+ mForm,
51
+ display: computed(() => displayFunction(mForm, props.config.display, props)),
52
+ changeHandler,
53
+ };
54
+ },
55
+ });
56
+ </script>
@@ -1,21 +1,17 @@
1
1
  <template>
2
2
  <el-row :gutter="10">
3
- <el-col
3
+ <Col
4
4
  v-for="(col, index) in config.items"
5
- :style="!display(col) || col.type === 'hidden' ? 'display: none' : ''"
6
5
  :key="col[mForm?.keyProp || '__key'] ?? index"
7
- :span="col.span || config.span || 24 / config.items.length"
8
- >
9
- <m-form-container
10
- :model="name ? model[name] : model"
11
- :config="col"
12
- :prop="prop"
13
- :label-width="config.labelWidth || labelWidth"
14
- :expand-more="expandMore"
15
- :size="size"
16
- @change="changeHandler"
17
- ></m-form-container>
18
- </el-col>
6
+ :span="config.span || config.span || 24 / config.items.length"
7
+ :config="col"
8
+ :labelWidth="config.labelWidth || labelWidth"
9
+ :expandMore="expandMore"
10
+ :model="name ? model[name] : model"
11
+ :prop="prop"
12
+ :size="size"
13
+ @change="changeHandler"
14
+ />
19
15
  </el-row>
20
16
  </template>
21
17
 
@@ -23,11 +19,14 @@
23
19
  import { defineComponent, inject, PropType } from 'vue';
24
20
 
25
21
  import { FormState, RowConfig } from '../schema';
26
- import { display as displayFunction } from '../utils/form';
22
+
23
+ import Col from './Col.vue';
27
24
 
28
25
  export default defineComponent({
29
26
  name: 'm-form-row',
30
27
 
28
+ components: { Col },
29
+
31
30
  props: {
32
31
  labelWidth: String,
33
32
  expandMore: Boolean,
@@ -58,9 +57,6 @@ export default defineComponent({
58
57
 
59
58
  return {
60
59
  mForm,
61
- display(config: any) {
62
- return displayFunction(mForm, config.display, props);
63
- },
64
60
  changeHandler,
65
61
  };
66
62
  },
@@ -43,7 +43,7 @@ export default defineComponent({
43
43
  return props.config.activeValue;
44
44
  }
45
45
 
46
- return 'true';
46
+ return undefined;
47
47
  }),
48
48
 
49
49
  inactiveValue: computed(() => {
@@ -55,7 +55,7 @@ export default defineComponent({
55
55
  return props.config.inactiveValue;
56
56
  }
57
57
 
58
- return 'false';
58
+ return undefined;
59
59
  }),
60
60
 
61
61
  changeHandler(value: number | boolean) {
@@ -1,17 +1,15 @@
1
1
  <template>
2
- <div v-if="model">
3
- <el-input
4
- v-model="model[name]"
5
- type="textarea"
6
- :size="size"
7
- clearable
8
- :placeholder="config.placeholder"
9
- :disabled="disabled"
10
- @change="changeHandler"
11
- @input="inputHandler"
12
- >
13
- </el-input>
14
- </div>
2
+ <el-input
3
+ v-model="model[name]"
4
+ type="textarea"
5
+ :size="size"
6
+ clearable
7
+ :placeholder="config.placeholder"
8
+ :disabled="disabled"
9
+ @change="changeHandler"
10
+ @input="inputHandler"
11
+ >
12
+ </el-input>
15
13
  </template>
16
14
 
17
15
  <script lang="ts">