index.ts 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import { markRaw } from "vue";
  2. import {
  3. Alert, Checkbox, DatePicker, Form,
  4. FormItem, Image, Input, InputNumber,
  5. Rate, Switch, Textarea, TimePicker
  6. } from "ant-design-vue";
  7. import { DynamicFormItemRegistry, type IDynamicFormOptions, configDefaultDynamicFormOptions } from "@imengyu/vue-dynamic-form";
  8. import PasswordWithStrengthInput from "./PasswordWithStrengthInput.vue";
  9. import CheckBoxValue from "./CheckBoxValue.vue";
  10. import SimpleSelectFormItem from "./SimpleSelectFormItem.vue";
  11. import IdAsValueDropdown from "./Dropdown/IdAsValueDropdown.vue";
  12. import IdAsValueTreeDropdown from "./Dropdown/IdAsValueTreeDropdown.vue";
  13. import SelectValue from "./SelectValue.vue";
  14. import IdAsValueTree from "./IdAsValueTree.vue";
  15. import UploadImageFormItem from "./UploadImageFormItem.vue";
  16. import WrapperTimeRangePicker from "./WrapperTimeRangePicker.vue";
  17. import WrapperRangePicker from "./WrapperRangePicker.vue";
  18. import ActionRender from "./ActionRender.vue";
  19. import CheckBoxToInt from "./CheckBoxToInt.vue";
  20. import RadioValueVue from "./RadioValue.vue";
  21. import StateRendererVue from "./Display/StateRenderer.vue";
  22. import ShowDateOrNullVue from "./Display/ShowDateOrNull.vue";
  23. import ShowImageListVue from "./Display/ShowImageList.vue";
  24. import ShowValueOrNullVue from "./Display/ShowValueOrNull.vue";
  25. import CascaderFormItemVue from "./CascaderFormItem.vue";
  26. import SimpleEditDynamicStringListVue from "./SimpleEditDynamicStringList.vue";
  27. import WhiteSpaceVue from "./WhiteSpace.vue";
  28. import NumberRange from "./NumberRange.vue";
  29. export const defaultConfig = {
  30. internalWidgets: {
  31. Form: {
  32. component: markRaw(Form),
  33. propsMap: {
  34. rules: 'rules',
  35. wrapperCol: 'wrapperCol',
  36. labelCol: 'labelCol',
  37. },
  38. },
  39. FormItem: {
  40. component: markRaw(FormItem),
  41. propsMap: {
  42. name: 'name',
  43. wrapperCol: 'wrapperCol',
  44. labelCol: 'labelCol',
  45. },
  46. },
  47. },
  48. } as IDynamicFormOptions
  49. export function registerAllFormComponents() {
  50. configDefaultDynamicFormOptions(defaultConfig);
  51. DynamicFormItemRegistry
  52. .register('text', markRaw(Input))
  53. .register('password', markRaw(Input), { type: "password" })
  54. .register('number', markRaw(InputNumber))
  55. .register('text-area', markRaw(Textarea))
  56. .register('password-with-strength', markRaw(PasswordWithStrengthInput))
  57. .register('switch', markRaw(Switch), {}, 'checked')
  58. .register('cascader', markRaw(CascaderFormItemVue))
  59. .register('check-box', markRaw(Checkbox), {}, 'checked')
  60. .register('check-box-int', markRaw(CheckBoxToInt))
  61. .register('check-box-value', markRaw(CheckBoxValue))
  62. .register('radio-value', markRaw(RadioValueVue))
  63. .register('number-range', markRaw(NumberRange))
  64. .register('rate', markRaw(Rate))
  65. .register('select', markRaw(SimpleSelectFormItem))
  66. .register('select-value', markRaw(SelectValue))
  67. .register('select-id', markRaw(IdAsValueDropdown))
  68. .register('select-tree-id', markRaw(IdAsValueTreeDropdown))
  69. .register('tree-id', markRaw(IdAsValueTree))
  70. .register('date', markRaw(DatePicker))
  71. .register('time', markRaw(TimePicker))
  72. .register('date-time', markRaw(DatePicker), { showTime: true })
  73. .register('date-range', markRaw(WrapperRangePicker))
  74. .register('time-range', markRaw(WrapperTimeRangePicker))
  75. .register('date-time-range', markRaw(WrapperRangePicker), { showTime: true })
  76. .register('single-image', markRaw(UploadImageFormItem), { single: true })
  77. .register('mulit-image', markRaw(UploadImageFormItem))
  78. .register('actions', markRaw(ActionRender))
  79. .register('alert', markRaw(Alert))
  80. .register('string-list', markRaw(SimpleEditDynamicStringListVue))
  81. .register('static-image', markRaw(Image), {}, "src")
  82. .register('static-state', markRaw(StateRendererVue))
  83. .register('static-value', markRaw(ShowValueOrNullVue))
  84. .register('static-date', markRaw(ShowDateOrNullVue))
  85. .register('static-image-list', markRaw(ShowImageListVue), {}, "images")
  86. .register('space', markRaw(WhiteSpaceVue))
  87. }