|
@@ -232,8 +232,8 @@
|
|
<CodeEditor
|
|
<CodeEditor
|
|
style="height: 100%"
|
|
style="height: 100%"
|
|
:key="drawer.randomkey"
|
|
:key="drawer.randomkey"
|
|
- :json="true"
|
|
|
|
- :language="'json'"
|
|
|
|
|
|
+ :json="drawer.language === 'json'"
|
|
|
|
+ :language="drawer.language"
|
|
v-model="drawer.value"
|
|
v-model="drawer.value"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
@@ -244,7 +244,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
-import { reactive, defineComponent, ref, onMounted, onUnmounted } from 'vue';
|
|
|
|
|
|
+import { reactive, defineComponent, ref, onMounted, onUnmounted, toRaw } from 'vue';
|
|
import {
|
|
import {
|
|
getter,
|
|
getter,
|
|
setter,
|
|
setter,
|
|
@@ -260,13 +260,16 @@ import { MessagePlugin } from 'tdesign-vue-next';
|
|
import { s8 } from '@/services/random';
|
|
import { s8 } from '@/services/random';
|
|
import CodeEditor from '@/views/components/common/CodeEditor.vue';
|
|
import CodeEditor from '@/views/components/common/CodeEditor.vue';
|
|
import { ChevronLeftDoubleIcon, FormatVerticalAlignLeftIcon, FormatVerticalAlignCenterIcon, FormatVerticalAlignRightIcon } from 'tdesign-icons-vue-next';
|
|
import { ChevronLeftDoubleIcon, FormatVerticalAlignLeftIcon, FormatVerticalAlignCenterIcon, FormatVerticalAlignRightIcon } from 'tdesign-icons-vue-next';
|
|
-
|
|
|
|
|
|
+import { filterShapes } from '../../services/filter'
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
pen: any;
|
|
pen: any;
|
|
}>();
|
|
}>();
|
|
-
|
|
|
|
const changeValue = (prop: string) => {
|
|
const changeValue = (prop: string) => {
|
|
updatePen(props.pen, prop);
|
|
updatePen(props.pen, prop);
|
|
|
|
+ // 选择器需要设置option,更新控件
|
|
|
|
+ if(filterShapes.includes(props.pen.name)){
|
|
|
|
+ props.pen.onSetOption?.(props.pen,prop);
|
|
|
|
+ }
|
|
// selections.pen[prop] = getter(props.pen, prop);
|
|
// selections.pen[prop] = getter(props.pen, prop);
|
|
if (prop === 'iframe') {
|
|
if (prop === 'iframe') {
|
|
getThumbImg();
|
|
getThumbImg();
|
|
@@ -329,6 +332,7 @@ const showDrawer = (item: any) => {
|
|
drawer.placeholder = item.placeholder;
|
|
drawer.placeholder = item.placeholder;
|
|
drawer.randomkey = s8(); //props.pen.id;
|
|
drawer.randomkey = s8(); //props.pen.id;
|
|
drawer.visible = true;
|
|
drawer.visible = true;
|
|
|
|
+ drawer.language = item.language || 'json';
|
|
};
|
|
};
|
|
|
|
|
|
const onConfirmDrawer = () => {
|
|
const onConfirmDrawer = () => {
|
|
@@ -337,7 +341,11 @@ const onConfirmDrawer = () => {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
props.pen[drawer.key] = drawer.value;
|
|
props.pen[drawer.key] = drawer.value;
|
|
- updatePen(props.pen, drawer.key);
|
|
|
|
|
|
+ updatePen(toRaw(props.pen), drawer.key);
|
|
|
|
+ // 选择器需要设置option,更新控件
|
|
|
|
+ if(filterShapes.includes(props.pen.name)){
|
|
|
|
+ props.pen.onSetOption?.(props.pen,drawer.key);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
const cell = ref({
|
|
const cell = ref({
|