mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2024-11-01 14:10:27 +08:00
优化
This commit is contained in:
parent
150498c25a
commit
65ddc0f000
@ -74,7 +74,22 @@
|
|||||||
</cl-editor-preview>
|
</cl-editor-preview>
|
||||||
|
|
||||||
<!-- 设置 -->
|
<!-- 设置 -->
|
||||||
<cl-form ref="Form" />
|
<cl-form ref="Form">
|
||||||
|
<template #slot-upload>
|
||||||
|
<cl-row>
|
||||||
|
<cl-upload-space
|
||||||
|
:show-list="false"
|
||||||
|
:multiple="false"
|
||||||
|
text="选择文件"
|
||||||
|
@confirm="onFileConfirm"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<el-text type="warning" :style="{ marginLeft: '10px' }"
|
||||||
|
>选择后会在光标后插入文件链接</el-text
|
||||||
|
>
|
||||||
|
</cl-row>
|
||||||
|
</template>
|
||||||
|
</cl-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -134,10 +149,18 @@ function toSet(item: Eps.PluginInfoEntity) {
|
|||||||
component: {
|
component: {
|
||||||
name: "cl-editor",
|
name: "cl-editor",
|
||||||
props: {
|
props: {
|
||||||
name: "cl-editor-monaco"
|
name: "cl-editor-monaco",
|
||||||
|
ref: setRefs("editor")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: " ",
|
||||||
|
flex: false,
|
||||||
|
component: {
|
||||||
|
name: "slot-upload"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "状态",
|
label: "状态",
|
||||||
prop: "status",
|
prop: "status",
|
||||||
@ -192,6 +215,11 @@ function toDel(item: Eps.PluginInfoEntity, index: number) {
|
|||||||
.catch(() => null);
|
.catch(() => null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 文件选择
|
||||||
|
function onFileConfirm(arr: any[]) {
|
||||||
|
refs.editor.appendContent(arr[0]?.url);
|
||||||
|
}
|
||||||
|
|
||||||
// 状态修改
|
// 状态修改
|
||||||
function onStatusChange(item: Eps.PluginInfoEntity) {
|
function onStatusChange(item: Eps.PluginInfoEntity) {
|
||||||
service.plugin.info
|
service.plugin.info
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<template v-if="showBtn">
|
<template v-if="showBtn">
|
||||||
<el-button @click="open">{{ text }}</el-button>
|
<el-button @click="open">{{ text }}</el-button>
|
||||||
|
|
||||||
<div class="cl-upload-space__wrap-list" v-show="urls.length > 0">
|
<div class="cl-upload-space__wrap-list" v-show="urls.length > 0 && showList">
|
||||||
<cl-upload v-model="urls" disabled deletable draggable :multiple="multiple" />
|
<cl-upload v-model="urls" disabled deletable draggable :multiple="multiple" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -73,6 +73,31 @@ function setContent(value: string = "") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 光标后追加内容
|
||||||
|
function appendContent(text: string = "") {
|
||||||
|
const position = editor?.getPosition();
|
||||||
|
|
||||||
|
if (position) {
|
||||||
|
editor?.executeEdits("", [
|
||||||
|
{
|
||||||
|
range: new monaco.Range(
|
||||||
|
position.lineNumber,
|
||||||
|
position.column,
|
||||||
|
position.lineNumber,
|
||||||
|
position.column
|
||||||
|
),
|
||||||
|
text
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
editor?.setPosition({
|
||||||
|
lineNumber: position.lineNumber,
|
||||||
|
column: position.column + text.length
|
||||||
|
});
|
||||||
|
editor?.focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 格式化内容
|
// 格式化内容
|
||||||
async function formatCode() {
|
async function formatCode() {
|
||||||
await editor?.getAction("editor.action.formatDocument")?.run();
|
await editor?.getAction("editor.action.formatDocument")?.run();
|
||||||
@ -164,6 +189,7 @@ onUnmounted(() => {
|
|||||||
defineExpose({
|
defineExpose({
|
||||||
editor,
|
editor,
|
||||||
setContent,
|
setContent,
|
||||||
|
appendContent,
|
||||||
formatCode
|
formatCode
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user