kouxiangtang 0.0.49 → 0.0.51

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 (52) hide show
  1. package/dist/{AttachmentUploader-DCyshkG0.js → AttachmentUploader-_msYAbGH.js} +2 -2
  2. package/dist/{AttachmentUploader-DCyshkG0.js.map → AttachmentUploader-_msYAbGH.js.map} +1 -1
  3. package/dist/{ImageUploader-B1_mID5R.js → ImageUploader-CKZUbnad.js} +2 -2
  4. package/dist/{ImageUploader-B1_mID5R.js.map → ImageUploader-CKZUbnad.js.map} +1 -1
  5. package/dist/{ImagesUploader-D-XPUBP2.js → ImagesUploader-BrPwlOhq.js} +2 -2
  6. package/dist/{ImagesUploader-D-XPUBP2.js.map → ImagesUploader-BrPwlOhq.js.map} +1 -1
  7. package/dist/{RichTextEditor-B_0MIOKx.js → RichTextEditor-B60OqEhT.js} +2 -2
  8. package/dist/{RichTextEditor-B_0MIOKx.js.map → RichTextEditor-B60OqEhT.js.map} +1 -1
  9. package/dist/{config-CNtiXWZ8.js → config-B07n74O1.js} +2 -2
  10. package/dist/{config-CNtiXWZ8.js.map → config-B07n74O1.js.map} +1 -1
  11. package/dist/{config-BW9jvuW5.js → config-B7DptQ5I.js} +3 -3
  12. package/dist/{config-BW9jvuW5.js.map → config-B7DptQ5I.js.map} +1 -1
  13. package/dist/{config-BLvYyM3T.js → config-BYRXuV1L.js} +2 -2
  14. package/dist/{config-BLvYyM3T.js.map → config-BYRXuV1L.js.map} +1 -1
  15. package/dist/{config-B7lceYyH.js → config-BmPFrgGO.js} +2 -2
  16. package/dist/{config-B7lceYyH.js.map → config-BmPFrgGO.js.map} +1 -1
  17. package/dist/config-Bvjhiou4.js +127 -0
  18. package/dist/config-Bvjhiou4.js.map +1 -0
  19. package/dist/{config-D_6sEq9t.js → config-C7GBOZMS.js} +38 -38
  20. package/dist/config-C7GBOZMS.js.map +1 -0
  21. package/dist/{config-BbKfNDqe.js → config-CJaVYHmM.js} +2 -2
  22. package/dist/{config-BbKfNDqe.js.map → config-CJaVYHmM.js.map} +1 -1
  23. package/dist/{config-DW9zXh7I.js → config-CT5-gpf6.js} +2 -2
  24. package/dist/{config-DW9zXh7I.js.map → config-CT5-gpf6.js.map} +1 -1
  25. package/dist/{config-BCAUAyF7.js → config-Cqq_Fb8R.js} +2 -2
  26. package/dist/{config-BCAUAyF7.js.map → config-Cqq_Fb8R.js.map} +1 -1
  27. package/dist/{config-CRAIqQDi.js → config-DMvmRe_r.js} +3 -3
  28. package/dist/{config-CRAIqQDi.js.map → config-DMvmRe_r.js.map} +1 -1
  29. package/dist/{config-JvrjLObh.js → config-DtRJ5KMD.js} +2 -2
  30. package/dist/{config-JvrjLObh.js.map → config-DtRJ5KMD.js.map} +1 -1
  31. package/dist/{config-B_RLj9Hv.js → config-DxZWia-9.js} +2 -2
  32. package/dist/{config-B_RLj9Hv.js.map → config-DxZWia-9.js.map} +1 -1
  33. package/dist/{config-BRxoZQ52.js → config-ExmJM8_N.js} +3 -3
  34. package/dist/config-ExmJM8_N.js.map +1 -0
  35. package/dist/{config-Dyr3ggPP.js → config-TgGpybgc.js} +2 -2
  36. package/dist/{config-Dyr3ggPP.js.map → config-TgGpybgc.js.map} +1 -1
  37. package/dist/{config-CAot7p98.js → config-WE6NkyUV.js} +2 -2
  38. package/dist/{config-CAot7p98.js.map → config-WE6NkyUV.js.map} +1 -1
  39. package/dist/{config-D43m9_jf.js → config-akW2JaYL.js} +2 -2
  40. package/dist/{config-D43m9_jf.js.map → config-akW2JaYL.js.map} +1 -1
  41. package/dist/{index-VhXXlvT7.js → index-B7tfCF6Q.js} +858 -848
  42. package/dist/index-B7tfCF6Q.js.map +1 -0
  43. package/dist/kouxiangtang.js +1 -1
  44. package/dist/kouxiangtang.umd.cjs +8 -8
  45. package/dist/kouxiangtang.umd.cjs.map +1 -1
  46. package/dist/style.css +1 -1
  47. package/package.json +1 -1
  48. package/dist/config-BRxoZQ52.js.map +0 -1
  49. package/dist/config-C5JzH89W.js +0 -127
  50. package/dist/config-C5JzH89W.js.map +0 -1
  51. package/dist/config-D_6sEq9t.js.map +0 -1
  52. package/dist/index-VhXXlvT7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config-CRAIqQDi.js","sources":["../src/framework/field/attachment/FieldDisplay.vue","../src/framework/field/attachment/FieldEditor.vue","../src/framework/field/attachment/config.js"],"sourcesContent":["<template>\n <div v-if=\"attachments.length > 0\">\n <div v-for=\"file in attachments\">\n <div class=\"file-name\">\n <el-icon color=\"#73767a\">\n <Document />\n </el-icon>\n <span class=\"name\">{{ file.name }}</span>\n <span class=\"file-type\">.{{ file.fileType }}</span>\n <el-icon color=\"#409eff\" size=\"16\" @click=\"download(file)\">\n <Download />\n </el-icon>\n <el-link\n v-if=\"file.isPreview\"\n type=\"primary\"\n :href=\"file.url\"\n target=\"_blank\"\n :underline=\"false\"\n >\n <el-icon size=\"16\">\n <View />\n </el-icon>\n </el-link>\n </div>\n </div>\n </div>\n <div v-else>\n <EmptyTip />\n </div>\n</template>\n\n<script setup>\nimport { ElIcon, ElLink } from \"element-plus\";\nimport { Document, Download, View } from \"@element-plus/icons-vue\";\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref, watch } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst attachments = ref([]);\n\nfunction download(file) {\n fetch(file.url)\n .then((res) => res.blob())\n .then((blob) => {\n const link = document.createElement(\"a\");\n if (blob.type == \"application/x-rar-compressed\") {\n link.href = file.url;\n } else {\n link.href = URL.createObjectURL(blob);\n }\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n });\n}\n\nfunction isPreview(fileType) {\n const imageExtensions = [\"jpg\", \"jpeg\", \"png\", \"gif\", \"webp\", \"bmp\", \"pdf\"];\n return imageExtensions.includes(fileType);\n}\n\nwatch(\n () => props.row,\n () => {\n attachments.value = props.row[props.field.code].map((item) => {\n const fileType = item.url.substring(item.url.lastIndexOf(\".\") + 1);\n return {\n ...item,\n fileType: fileType,\n isPreview: isPreview(fileType),\n };\n });\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\">\n.file-name {\n display: flex;\n align-items: center;\n margin: 10px 0 5px 0;\n .file-type {\n height: 22px;\n line-height: 22px;\n margin-right: 5px;\n background: #eeeeee;\n border-radius: 4px;\n font-size: 12px;\n padding: 0 4px;\n }\n .name {\n margin: 0 5px;\n }\n}\n:deep(.el-icon) {\n margin: 0 5px;\n cursor: pointer;\n}\n</style>\n","<template>\n <AttachmentUploader\n :pics=\"_form.value\"\n :props=\"props.field.props ? props.field.props : {}\"\n @on-success=\"(file) => change(file, 'success')\"\n @on-remove=\"(file) => change(file, 'remove')\"\n @on-change=\"(file) => change(file, 'change')\"\n />\n</template>\n\n<script setup>\nimport { reactive, defineAsyncComponent } from \"vue\";\nimport { ElMessage } from \"element-plus\";\n\nconst AttachmentUploader = defineAsyncComponent(() => {\n return import(\"./AttachmentUploader.vue\");\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Array,\n field: Object,\n domainConfig: Object,\n disabled: Boolean,\n formData: Object,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction add(attachment) {\n _form.value = _form.value ? [..._form.value, attachment] : [attachment];\n}\n\nfunction remove(attachment) {\n const index = _form.value.findIndex((item) => item.id === attachment.id);\n _form.value.splice(index, 1);\n}\n\nasync function updateFileName(attachment) {\n const restApi = props.domainConfig.rest;\n const regex = /^[\\u4e00-\\u9fa5\\w-_]+$/;\n\n if (!regex.test(attachment.name)) {\n ElMessage({\n message: \"请勿输入特殊字符!\",\n type: \"warning\",\n });\n return;\n }\n\n await restApi.updateFilesName(attachment).then(() => {\n ElMessage({\n message: \"附件名称已修改!\",\n type: \"success\",\n });\n });\n}\n\nfunction change(image, type) {\n if (type == \"success\") {\n add(image);\n emit(\"update:modelValue\", _form.value);\n return;\n }\n\n if (type == \"remove\") {\n remove(image);\n emit(\"update:modelValue\", _form.value);\n return;\n }\n\n if (type == \"change\") {\n updateFileName(image);\n return;\n }\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class AttachmentFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.attachmentType = rawConfig.attachmentType;\n this.props = rawConfig.props;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.checkValidProperties(rawConfig);\n }\n\n defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","attachments","ref","download","file","res","blob","link","isPreview","fileType","watch","item","AttachmentUploader","defineAsyncComponent","emit","__emit","_form","reactive","add","attachment","remove","index","updateFileName","restApi","ElMessage","change","image","type","AttachmentFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":"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"}
1
+ {"version":3,"file":"config-DMvmRe_r.js","sources":["../src/framework/field/attachment/FieldDisplay.vue","../src/framework/field/attachment/FieldEditor.vue","../src/framework/field/attachment/config.js"],"sourcesContent":["<template>\n <div v-if=\"attachments.length > 0\">\n <div v-for=\"file in attachments\">\n <div class=\"file-name\">\n <el-icon color=\"#73767a\">\n <Document />\n </el-icon>\n <span class=\"name\">{{ file.name }}</span>\n <span class=\"file-type\">.{{ file.fileType }}</span>\n <el-icon color=\"#409eff\" size=\"16\" @click=\"download(file)\">\n <Download />\n </el-icon>\n <el-link\n v-if=\"file.isPreview\"\n type=\"primary\"\n :href=\"file.url\"\n target=\"_blank\"\n :underline=\"false\"\n >\n <el-icon size=\"16\">\n <View />\n </el-icon>\n </el-link>\n </div>\n </div>\n </div>\n <div v-else>\n <EmptyTip />\n </div>\n</template>\n\n<script setup>\nimport { ElIcon, ElLink } from \"element-plus\";\nimport { Document, Download, View } from \"@element-plus/icons-vue\";\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref, watch } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst attachments = ref([]);\n\nfunction download(file) {\n fetch(file.url)\n .then((res) => res.blob())\n .then((blob) => {\n const link = document.createElement(\"a\");\n if (blob.type == \"application/x-rar-compressed\") {\n link.href = file.url;\n } else {\n link.href = URL.createObjectURL(blob);\n }\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n });\n}\n\nfunction isPreview(fileType) {\n const imageExtensions = [\"jpg\", \"jpeg\", \"png\", \"gif\", \"webp\", \"bmp\", \"pdf\"];\n return imageExtensions.includes(fileType);\n}\n\nwatch(\n () => props.row,\n () => {\n attachments.value = props.row[props.field.code].map((item) => {\n const fileType = item.url.substring(item.url.lastIndexOf(\".\") + 1);\n return {\n ...item,\n fileType: fileType,\n isPreview: isPreview(fileType),\n };\n });\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\">\n.file-name {\n display: flex;\n align-items: center;\n margin: 10px 0 5px 0;\n .file-type {\n height: 22px;\n line-height: 22px;\n margin-right: 5px;\n background: #eeeeee;\n border-radius: 4px;\n font-size: 12px;\n padding: 0 4px;\n }\n .name {\n margin: 0 5px;\n }\n}\n:deep(.el-icon) {\n margin: 0 5px;\n cursor: pointer;\n}\n</style>\n","<template>\n <AttachmentUploader\n :pics=\"_form.value\"\n :props=\"props.field.props ? props.field.props : {}\"\n @on-success=\"(file) => change(file, 'success')\"\n @on-remove=\"(file) => change(file, 'remove')\"\n @on-change=\"(file) => change(file, 'change')\"\n />\n</template>\n\n<script setup>\nimport { reactive, defineAsyncComponent } from \"vue\";\nimport { ElMessage } from \"element-plus\";\n\nconst AttachmentUploader = defineAsyncComponent(() => {\n return import(\"./AttachmentUploader.vue\");\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Array,\n field: Object,\n domainConfig: Object,\n disabled: Boolean,\n formData: Object,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction add(attachment) {\n _form.value = _form.value ? [..._form.value, attachment] : [attachment];\n}\n\nfunction remove(attachment) {\n const index = _form.value.findIndex((item) => item.id === attachment.id);\n _form.value.splice(index, 1);\n}\n\nasync function updateFileName(attachment) {\n const restApi = props.domainConfig.rest;\n const regex = /^[\\u4e00-\\u9fa5\\w-_]+$/;\n\n if (!regex.test(attachment.name)) {\n ElMessage({\n message: \"请勿输入特殊字符!\",\n type: \"warning\",\n });\n return;\n }\n\n await restApi.updateFilesName(attachment).then(() => {\n ElMessage({\n message: \"附件名称已修改!\",\n type: \"success\",\n });\n });\n}\n\nfunction change(image, type) {\n if (type == \"success\") {\n add(image);\n emit(\"update:modelValue\", _form.value);\n return;\n }\n\n if (type == \"remove\") {\n remove(image);\n emit(\"update:modelValue\", _form.value);\n return;\n }\n\n if (type == \"change\") {\n updateFileName(image);\n return;\n }\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class AttachmentFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.attachmentType = rawConfig.attachmentType;\n this.props = rawConfig.props;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.checkValidProperties(rawConfig);\n }\n\n defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","attachments","ref","download","file","res","blob","link","isPreview","fileType","watch","item","AttachmentUploader","defineAsyncComponent","emit","__emit","_form","reactive","add","attachment","remove","index","updateFileName","restApi","ElMessage","change","image","type","AttachmentFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { B as p } from "./index-VhXXlvT7.js";
1
+ import { B as p } from "./index-B7tfCF6Q.js";
2
2
  import { ref as f, computed as b, openBlock as u, createElementBlock as V, createVNode as h, unref as c, reactive as v, watch as y, createBlock as B } from "vue";
3
3
  import { ElSwitch as m } from "element-plus";
4
4
  import "./el-switch-l0sNRNKZ.js";
@@ -66,4 +66,4 @@ class C extends p {
66
66
  export {
67
67
  C as default
68
68
  };
69
- //# sourceMappingURL=config-JvrjLObh.js.map
69
+ //# sourceMappingURL=config-DtRJ5KMD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-JvrjLObh.js","sources":["../src/framework/field/switch/FieldDisplay.vue","../src/framework/field/switch/FieldEditor.vue","../src/framework/field/switch/config.js"],"sourcesContent":["<template>\n <span style=\"display: flex; align-items: center\">\n <el-switch\n v-model=\"value\"\n size=\"small\"\n :disabled=\"isDeleted ? true : false\"\n :before-change=\"($event) => switchChange(row, field.label)\"\n />\n </span>\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { computed, ref } from \"vue\";\n\nconst emit = defineEmits([\"enable\"]);\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isDeleted = ref(props.row.deletedAt);\n\nfunction switchChange(row, label) {\n row.label = label;\n return new Promise((resolve, reject) => {\n emit(\"enable\", row);\n });\n}\n\nconst value = computed(() => {\n return props.row[props.field.code];\n});\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-switch\n v-model=\"_form.value\"\n :disabled=\"props.disabled\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Boolean,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class SwitchFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.default = rawConfig.default || false;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["emit","__emit","props","__props","isDeleted","ref","switchChange","row","label","resolve","reject","value","computed","_form","reactive","change","watch","SwitchFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;AAeA,UAAMA,IAAOC,GACPC,IAAQC,GAQRC,IAAYC,EAAIH,EAAM,IAAI,SAAS;AAEzC,aAASI,EAAaC,GAAKC,GAAO;AAChC,aAAAD,EAAI,QAAQC,GACL,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,QAAAV,EAAK,UAAUO,CAAG;AAAA,MACtB,CAAG;AAAA,IACH;AAEA,UAAMI,IAAQC,EAAS,MACdV,EAAM,IAAIA,EAAM,MAAM,IAAI,CAClC;;;;;;;;;;;;;;;;;;;;ACvBD,UAAMF,IAAOC,GACPC,IAAQC,GAKRU,IAAQC,EAAS,EAAE,OAAOZ,EAAM,WAAY,CAAA;AAElD,aAASa,IAAS;AAChB,MAAAf,EAAK,qBAAqBa,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMd,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAW,EAAM,QAAQX,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;AC1Be,MAAMe,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,WAAW,IACpC,KAAK,UAAUE,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
1
+ {"version":3,"file":"config-DtRJ5KMD.js","sources":["../src/framework/field/switch/FieldDisplay.vue","../src/framework/field/switch/FieldEditor.vue","../src/framework/field/switch/config.js"],"sourcesContent":["<template>\n <span style=\"display: flex; align-items: center\">\n <el-switch\n v-model=\"value\"\n size=\"small\"\n :disabled=\"isDeleted ? true : false\"\n :before-change=\"($event) => switchChange(row, field.label)\"\n />\n </span>\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { computed, ref } from \"vue\";\n\nconst emit = defineEmits([\"enable\"]);\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isDeleted = ref(props.row.deletedAt);\n\nfunction switchChange(row, label) {\n row.label = label;\n return new Promise((resolve, reject) => {\n emit(\"enable\", row);\n });\n}\n\nconst value = computed(() => {\n return props.row[props.field.code];\n});\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-switch\n v-model=\"_form.value\"\n :disabled=\"props.disabled\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Boolean,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class SwitchFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.default = rawConfig.default || false;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["emit","__emit","props","__props","isDeleted","ref","switchChange","row","label","resolve","reject","value","computed","_form","reactive","change","watch","SwitchFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;AAeA,UAAMA,IAAOC,GACPC,IAAQC,GAQRC,IAAYC,EAAIH,EAAM,IAAI,SAAS;AAEzC,aAASI,EAAaC,GAAKC,GAAO;AAChC,aAAAD,EAAI,QAAQC,GACL,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,QAAAV,EAAK,UAAUO,CAAG;AAAA,MACtB,CAAG;AAAA,IACH;AAEA,UAAMI,IAAQC,EAAS,MACdV,EAAM,IAAIA,EAAM,MAAM,IAAI,CAClC;;;;;;;;;;;;;;;;;;;;ACvBD,UAAMF,IAAOC,GACPC,IAAQC,GAKRU,IAAQC,EAAS,EAAE,OAAOZ,EAAM,WAAY,CAAA;AAElD,aAASa,IAAS;AAChB,MAAAf,EAAK,qBAAqBa,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMd,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAW,EAAM,QAAQX,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;AC1Be,MAAMe,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,WAAW,IACpC,KAAK,UAAUE,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
@@ -1,4 +1,4 @@
1
- import { B as i, F as s } from "./index-VhXXlvT7.js";
1
+ import { B as i, F as s } from "./index-B7tfCF6Q.js";
2
2
  class u extends i {
3
3
  constructor(t, e) {
4
4
  super(t, e), this.editable = () => !1, this.isRouter = this.isRouter(t), this.rowQuery = t.rowQuery || (() => ({})), this.display = s, this.fixed = !0, this.checkValidProperties(t);
@@ -17,4 +17,4 @@ class u extends i {
17
17
  export {
18
18
  u as default
19
19
  };
20
- //# sourceMappingURL=config-B_RLj9Hv.js.map
20
+ //# sourceMappingURL=config-DxZWia-9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-B_RLj9Hv.js","sources":["../src/framework/field/row-id/config.js"],"sourcesContent":["import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\n\nexport default class RowIdFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.editable = () => false;\n this.isRouter = this.isRouter(rawConfig);\n this.rowQuery = rawConfig.rowQuery || (() => ({}));\n this.display = FieldDisplay;\n this.fixed = true;\n\n this.checkValidProperties(rawConfig);\n }\n\n isRouter(rawConfig) {\n const raw = rawConfig.isRouter;\n\n if (typeof raw == \"boolean\") {\n return () => raw;\n }\n\n if (typeof raw == \"function\") {\n return raw;\n }\n\n if (typeof raw == \"undefined\") {\n return () => true;\n }\n\n throw new Exception(`invalid isRouter : ${raw}`);\n }\n}\n"],"names":["RowIdFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","raw"],"mappings":";AAGe,MAAMA,UAAyBC,EAAgB;AAAA,EAC5D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,WAAW,MAAM,IACtB,KAAK,WAAW,KAAK,SAASD,CAAS,GACvC,KAAK,WAAWA,EAAU,aAAa,OAAO,CAAA,KAC9C,KAAK,UAAUE,GACf,KAAK,QAAQ,IAEb,KAAK,qBAAqBF,CAAS;AAAA,EACpC;AAAA,EAED,SAASA,GAAW;AAClB,UAAMG,IAAMH,EAAU;AAEtB,QAAI,OAAOG,KAAO;AAChB,aAAO,MAAMA;AAGf,QAAI,OAAOA,KAAO;AAChB,aAAOA;AAGT,QAAI,OAAOA,IAAO;AAChB,aAAO,MAAM;AAGf,UAAM,IAAI,UAAU,sBAAsBA,CAAG,EAAE;AAAA,EAChD;AACH;"}
1
+ {"version":3,"file":"config-DxZWia-9.js","sources":["../src/framework/field/row-id/config.js"],"sourcesContent":["import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\n\nexport default class RowIdFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.editable = () => false;\n this.isRouter = this.isRouter(rawConfig);\n this.rowQuery = rawConfig.rowQuery || (() => ({}));\n this.display = FieldDisplay;\n this.fixed = true;\n\n this.checkValidProperties(rawConfig);\n }\n\n isRouter(rawConfig) {\n const raw = rawConfig.isRouter;\n\n if (typeof raw == \"boolean\") {\n return () => raw;\n }\n\n if (typeof raw == \"function\") {\n return raw;\n }\n\n if (typeof raw == \"undefined\") {\n return () => true;\n }\n\n throw new Exception(`invalid isRouter : ${raw}`);\n }\n}\n"],"names":["RowIdFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","raw"],"mappings":";AAGe,MAAMA,UAAyBC,EAAgB;AAAA,EAC5D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,WAAW,MAAM,IACtB,KAAK,WAAW,KAAK,SAASD,CAAS,GACvC,KAAK,WAAWA,EAAU,aAAa,OAAO,CAAA,KAC9C,KAAK,UAAUE,GACf,KAAK,QAAQ,IAEb,KAAK,qBAAqBF,CAAS;AAAA,EACpC;AAAA,EAED,SAASA,GAAW;AAClB,UAAMG,IAAMH,EAAU;AAEtB,QAAI,OAAOG,KAAO;AAChB,aAAO,MAAMA;AAGf,QAAI,OAAOA,KAAO;AAChB,aAAOA;AAGT,QAAI,OAAOA,IAAO;AAChB,aAAO,MAAM;AAGf,UAAM,IAAI,UAAU,sBAAsBA,CAAG,EAAE;AAAA,EAChD;AACH;"}
@@ -1,4 +1,4 @@
1
- import { _ as c, B as a } from "./index-VhXXlvT7.js";
1
+ import { _ as c, B as a } from "./index-B7tfCF6Q.js";
2
2
  import { openBlock as r, createElementBlock as l, createElementVNode as p, defineAsyncComponent as u, reactive as _, watch as m, createVNode as f, unref as h } from "vue";
3
3
  const v = { class: "editor-field" }, y = ["innerHTML"], V = {
4
4
  __name: "FieldDisplay",
@@ -28,7 +28,7 @@ const v = { class: "editor-field" }, y = ["innerHTML"], V = {
28
28
  },
29
29
  emits: ["update:modelValue"],
30
30
  setup(t, { emit: e }) {
31
- const o = u(() => import("./RichTextEditor-B_0MIOKx.js")), n = e, s = _({ value: t.modelValue });
31
+ const o = u(() => import("./RichTextEditor-B60OqEhT.js")), n = e, s = _({ value: t.modelValue });
32
32
  return m(
33
33
  () => s.value,
34
34
  () => {
@@ -55,4 +55,4 @@ class k extends a {
55
55
  export {
56
56
  k as default
57
57
  };
58
- //# sourceMappingURL=config-BRxoZQ52.js.map
58
+ //# sourceMappingURL=config-ExmJM8_N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-ExmJM8_N.js","sources":["../src/framework/field/rich-text/FieldDisplay.vue","../src/framework/field/rich-text/FieldEditor.vue","../src/framework/field/rich-text/config.js"],"sourcesContent":["<script setup>\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\n</script>\n\n<template>\n <div class=\"editor-field\">\n <div class=\"content\" v-html=\"props.row[props.field.code]\" />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.editor-field {\n width: 100%;\n background: #999;\n padding: 20px 0;\n\n .content {\n max-width: 500px;\n padding: 20px;\n margin: 0 auto;\n background: white;\n\n :deep(img) {\n width: 100%;\n max-width: 100%;\n }\n }\n}\n</style>\n","<template>\n <div style=\"width: 100%\">\n <RichTextEditor v-model:content=\"_form.value\" />\n </div>\n</template>\n\n<script setup>\nimport { reactive, watch, defineAsyncComponent, defineEmits } from \"vue\";\n\nconst RichTextEditor = defineAsyncComponent(() => {\n return import(\"./RichTextEditor.vue\");\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: String,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nwatch(\n () => _form.value,\n () => {\n emit(\"update:modelValue\", _form.value);\n },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class EditorFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n\n defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","RichTextEditor","defineAsyncComponent","emit","__emit","_form","reactive","watch","EditorFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;AACA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;ACQd,UAAMC,IAAiBC,EAAqB,MACnC,OAAO,8BAAsB,CACrC,GAEKC,IAAOC,GAMPC,IAAQC,EAAS,EAAE,OALXN,EAKwB,WAAY,CAAA;AAElD,WAAAO;AAAA,MACE,MAAMF,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAF,EAAK,qBAAqBE,EAAM,KAAK;AAAA,MACtC;AAAA,IACH;;;;;;;;ACtBe,MAAMG,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
@@ -1,4 +1,4 @@
1
- import { E as m, B as f } from "./index-VhXXlvT7.js";
1
+ import { E as m, B as f } from "./index-B7tfCF6Q.js";
2
2
  import { ref as u, openBlock as s, createElementBlock as d, toDisplayString as h, createBlock as p, createTextVNode as v, reactive as _, watch as y, unref as V } from "vue";
3
3
  import { ElCascader as B } from "element-plus";
4
4
  const k = { key: 0 }, E = {
@@ -57,4 +57,4 @@ class j extends f {
57
57
  export {
58
58
  j as default
59
59
  };
60
- //# sourceMappingURL=config-Dyr3ggPP.js.map
60
+ //# sourceMappingURL=config-TgGpybgc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-Dyr3ggPP.js","sources":["../src/framework/field/cascader/FieldDisplay.vue","../src/framework/field/cascader/FieldEditor.vue","../src/framework/field/cascader/config.js"],"sourcesContent":["<template>\n <div>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n edit\n </div>\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-cascader\n v-model=\"_form.value\"\n :props=\"props.field.props\"\n clearable\n style=\"width: 100%\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElCascader } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Array,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nclass CascaderFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.props = rawConfig.props || (() => {});\n this.formChange = rawConfig.formChange || (() => {});\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.multiple = this.defaultBy(rawConfig.multiple, false);\n\n this.checkValidProperties(rawConfig);\n }\n}\n\nexport default CascaderFieldConfig;\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","CascaderFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;;;AClBlB,UAAMI,IAAOC,GACPP,IAAQC,GAKRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC5BA,MAAMY,UAA4BC,EAAgB;AAAA,EAChD,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,QAAQD,EAAU,UAAU,MAAM;AAAA,IAAE,IACzC,KAAK,aAAaA,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,WAAW,KAAK,UAAUH,EAAU,UAAU,EAAK,GAExD,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
1
+ {"version":3,"file":"config-TgGpybgc.js","sources":["../src/framework/field/cascader/FieldDisplay.vue","../src/framework/field/cascader/FieldEditor.vue","../src/framework/field/cascader/config.js"],"sourcesContent":["<template>\n <div>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n edit\n </div>\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-cascader\n v-model=\"_form.value\"\n :props=\"props.field.props\"\n clearable\n style=\"width: 100%\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElCascader } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Array,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nclass CascaderFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.props = rawConfig.props || (() => {});\n this.formChange = rawConfig.formChange || (() => {});\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.multiple = this.defaultBy(rawConfig.multiple, false);\n\n this.checkValidProperties(rawConfig);\n }\n}\n\nexport default CascaderFieldConfig;\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","CascaderFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;;;AClBlB,UAAMI,IAAOC,GACPP,IAAQC,GAKRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC5BA,MAAMY,UAA4BC,EAAgB;AAAA,EAChD,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,QAAQD,EAAU,UAAU,MAAM;AAAA,IAAE,IACzC,KAAK,aAAaA,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,WAAW,KAAK,UAAUH,EAAU,UAAU,EAAK,GAExD,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
@@ -1,4 +1,4 @@
1
- import { E as p, B as m } from "./index-VhXXlvT7.js";
1
+ import { E as p, B as m } from "./index-B7tfCF6Q.js";
2
2
  import { ref as u, openBlock as i, createElementBlock as f, toDisplayString as y, createBlock as d, reactive as v, watch as V, unref as _ } from "vue";
3
3
  import { ElInput as b } from "element-plus";
4
4
  const h = { key: 0 }, E = {
@@ -53,4 +53,4 @@ class O extends m {
53
53
  export {
54
54
  O as default
55
55
  };
56
- //# sourceMappingURL=config-CAot7p98.js.map
56
+ //# sourceMappingURL=config-WE6NkyUV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-CAot7p98.js","sources":["../src/framework/field/string/FieldDisplay.vue","../src/framework/field/string/FieldEditor.vue","../src/framework/field/string/config.js"],"sourcesContent":["<template>\n <span v-if=\"!isEmpty\"> {{ formattedValue }} </span>\n <EmptyTip v-else />\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-input\n v-model=\"_form.value\"\n :type=\"field.type\"\n clearable\n :disabled=\"props.disabled\"\n @input=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInput } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: [Object, String, Number],\n field: Object,\n type: String,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class StringFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","StringFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;ACblB,UAAMI,IAAOC,GACPP,IAAQC,GAMRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC7Be,MAAMY,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
1
+ {"version":3,"file":"config-WE6NkyUV.js","sources":["../src/framework/field/string/FieldDisplay.vue","../src/framework/field/string/FieldEditor.vue","../src/framework/field/string/config.js"],"sourcesContent":["<template>\n <span v-if=\"!isEmpty\"> {{ formattedValue }} </span>\n <EmptyTip v-else />\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-input\n v-model=\"_form.value\"\n :type=\"field.type\"\n clearable\n :disabled=\"props.disabled\"\n @input=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInput } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: [Object, String, Number],\n field: Object,\n type: String,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class StringFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","StringFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;ACblB,UAAMI,IAAOC,GACPP,IAAQC,GAMRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC7Be,MAAMY,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
@@ -1,4 +1,4 @@
1
- import { E as p, B as m } from "./index-VhXXlvT7.js";
1
+ import { E as p, B as m } from "./index-B7tfCF6Q.js";
2
2
  import { ref as n, openBlock as s, createElementBlock as f, toDisplayString as v, createBlock as u, reactive as _, watch as y, unref as V } from "vue";
3
3
  import { ElInput as b } from "element-plus";
4
4
  const h = { key: 0 }, E = {
@@ -59,4 +59,4 @@ class j extends m {
59
59
  export {
60
60
  j as default
61
61
  };
62
- //# sourceMappingURL=config-D43m9_jf.js.map
62
+ //# sourceMappingURL=config-akW2JaYL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-D43m9_jf.js","sources":["../src/framework/field/text/FieldDisplay.vue","../src/framework/field/text/FieldEditor.vue","../src/framework/field/text/config.js"],"sourcesContent":["<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<template>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n</template>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-input\n v-model=\"_form.value\"\n type=\"textarea\"\n rows=\"5\"\n clearable\n :disabled=\"props.disabled\"\n @input=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInput } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: String,\n field: Object,\n type: String,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class TextFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n\n defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","TextFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;ACPlB,UAAMI,IAAOC,GACPP,IAAQC,GAMRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;AC9Be,MAAMY,UAAwBC,EAAgB;AAAA,EAC3D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
1
+ {"version":3,"file":"config-akW2JaYL.js","sources":["../src/framework/field/text/FieldDisplay.vue","../src/framework/field/text/FieldEditor.vue","../src/framework/field/text/config.js"],"sourcesContent":["<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<template>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n</template>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-input\n v-model=\"_form.value\"\n type=\"textarea\"\n rows=\"5\"\n clearable\n :disabled=\"props.disabled\"\n @input=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInput } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: String,\n field: Object,\n type: String,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class TextFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n\n defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","TextFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;ACPlB,UAAMI,IAAOC,GACPP,IAAQC,GAMRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;AC9Be,MAAMY,UAAwBC,EAAgB;AAAA,EAC3D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}