Files
EdgeAdmin/web/views/@default/admins/recipients/instances/instance.js
2021-04-05 20:48:13 +08:00

48 lines
1.6 KiB
JavaScript

Tea.context(function () {
let scriptEditor = null
this.from = encodeURIComponent(window.location.toString())
if (this.instance.media.type == "script" && this.instance.params.scriptType == "code") {
this.$delay(function () {
this.loadEditor()
})
}
this.loadEditor = function () {
if (scriptEditor == null) {
scriptEditor = CodeMirror(document.getElementById("script-code-editor"), {
theme: "idea",
lineNumbers: false,
value: "",
readOnly: true,
showCursorWhenSelecting: true,
height: "auto",
//scrollbarStyle: null,
viewportMargin: Infinity,
lineWrapping: true,
highlightFormatting: false,
indentUnit: 4,
indentWithTabs: true
})
}
scriptEditor.setValue(this.instance.params.script)
let lang = "shell"
if (this.instance.params.scriptLang != null && this.instance.params.scriptLang.length > 0) {
lang = this.instance.params.scriptLang
}
let mimeType = "text/x-" + lang
if (lang == "nodejs") {
mimeType = "text/javascript"
} else if (lang == "shell") {
mimeType = "text/x-sh"
}
let info = CodeMirror.findModeByMIME(mimeType)
if (info != null) {
scriptEditor.setOption("mode", info.mode)
CodeMirror.modeURL = "/codemirror/mode/%N/%N.js"
CodeMirror.autoLoadMode(scriptEditor, info.mode)
}
}
})