You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
6.0 KiB
183 lines
6.0 KiB
function onRead() {
|
|
easyMDE.codemirror.doc.setValue(Android.getValue())
|
|
easyMDE.codemirror.doc.markClean()
|
|
easyMDE.codemirror.focus()
|
|
console.log(Android.getCursor())
|
|
easyMDE.codemirror.doc.setCursor(JSON.parse(Android.getCursor()))
|
|
pasteText()
|
|
}
|
|
|
|
function saveAs() {
|
|
Android.triggerNewBuffer(easyMDE.value())
|
|
}
|
|
function saveFile() {
|
|
if (!easyMDE.codemirror.doc.isClean()) Android.triggerSaveFile(easyMDE.value())
|
|
easyMDE.codemirror.doc.markClean()
|
|
}
|
|
function blankBuffer() {
|
|
Android.triggerNewBuffer("")
|
|
}
|
|
|
|
function openFile() {
|
|
saveFile()
|
|
Android.triggerOpenFile()
|
|
onRead()
|
|
easyMDE.codemirror.doc.markClean()
|
|
}
|
|
function dispatchCut() {
|
|
console.log("dispatch cut")
|
|
easyMDE.codemirror.getTextArea().dispatchEvent(new Event("cut"))
|
|
}
|
|
function getValue() {
|
|
return easyMDE.value()
|
|
}
|
|
function myPreview() {
|
|
saveFile()
|
|
easyMDE.togglePreview()
|
|
}
|
|
function refresh() {
|
|
Android.refresh()
|
|
onRead()
|
|
}
|
|
function displayName() {
|
|
if (typeof Android !== 'undefined') return Android.triggerDisplayName()
|
|
else return "NONdroid"
|
|
}
|
|
function shareText() {
|
|
saveFile()
|
|
Android.triggerShare(easyMDE.markdown(easyMDE.codemirror.doc.getValue()))
|
|
}
|
|
|
|
function shareGhostText() {
|
|
saveFile()
|
|
if (confirm('Are you sure you want to publish this?')) {
|
|
Android.triggerGhost(easyMDE.markdown(easyMDE.codemirror.doc.getValue()))
|
|
}
|
|
}
|
|
|
|
function getHtml() {
|
|
return encodeURIComponent(easyMDE.markdown(easyMDE.codemirror.doc.getValue()))
|
|
}
|
|
|
|
function appendText() {
|
|
if ((appendix = Android.getMdToAppend()) !== "") {
|
|
cursor = easyMDE.codemirror.doc.getCursor()
|
|
easyMDE.codemirror.doc.setValue(easyMDE.codemirror.doc.getValue() + appendix)
|
|
easyMDE.codemirror.doc.setCursor(cursor)
|
|
}
|
|
}
|
|
|
|
|
|
function pasteText() {
|
|
data = new DataTransfer()
|
|
data.setData("text/plain", Android.getMdToAppend())
|
|
event = new Event("paste")
|
|
event.clipboardData = data
|
|
easyMDE.codemirror.focus()
|
|
document.getElementsByClassName("CodeMirror-scroll")[0].dispatchEvent(event);
|
|
saveFile()
|
|
}
|
|
|
|
const easyMDE = new EasyMDE({
|
|
spellChecker: false,
|
|
nativeSpellcheck: false,
|
|
maxHeight: String(window.innerHeight-120)+"px",
|
|
inputStyle: "textarea",
|
|
autoDownloadFontAwesome: false,
|
|
theme: "solarized",
|
|
status: [
|
|
{
|
|
className: "editor-statusbar-left",
|
|
onUpdate: (el) => {
|
|
el.innerHTML = "<i class=\"fa fa-circle\"></i>"
|
|
}
|
|
},
|
|
{
|
|
className: "displayName",
|
|
defaultValue: "None",
|
|
onUpdate: (el) => {
|
|
el.innerHTML = `${displayName()}`
|
|
},
|
|
}, "lines", "words", "cursor",
|
|
{
|
|
className: "editor-statusbar-right",
|
|
onUpdate: (el) => {
|
|
el.innerHTML = "<i class=\"fa fa-square\"></i>"
|
|
}
|
|
}
|
|
],
|
|
toolbar: [
|
|
{
|
|
name: "more",
|
|
className: "fa-solid fa-angles-down",
|
|
title: "more",
|
|
children: [
|
|
{
|
|
name: "saveAs",
|
|
action: saveAs,
|
|
className: "fa fa-star",
|
|
title: "saveAs"
|
|
},
|
|
{
|
|
name: "new",
|
|
action: blankBuffer,
|
|
className: "fa fa-file",
|
|
title: "New"
|
|
},
|
|
/* {
|
|
name: "refresh",
|
|
action: refresh,
|
|
className: "fa fa-refresh",
|
|
title: "Refresh"
|
|
},*/
|
|
{
|
|
name: "day",
|
|
action: () => easyMDE.codemirror.setOption("theme","solarized"),
|
|
className: "fa fa-sun",
|
|
title: "Day Theme"
|
|
},
|
|
{
|
|
name: "night",
|
|
action: () => easyMDE.codemirror.setOption("theme","3024-night"),
|
|
className: "fa fa-moon",
|
|
title: "Night Theme"
|
|
},
|
|
"guide"
|
|
]
|
|
},
|
|
{
|
|
name: "save",
|
|
action: saveFile,
|
|
className: "fa fa-save",
|
|
title: "Save"
|
|
},
|
|
{
|
|
name: "open",
|
|
action: openFile,
|
|
className: "fa-regular fa-folder-open",
|
|
title: "Open"
|
|
},
|
|
{
|
|
name: "share",
|
|
action: shareText,
|
|
className: "fa fa-share-nodes",
|
|
title: "Share"
|
|
},
|
|
{
|
|
name: "shareGhost",
|
|
action: shareGhostText,
|
|
className: "fa fa-ghost",
|
|
title: "Share Ghost"
|
|
}, "undo",
|
|
{
|
|
name: "preview",
|
|
action: myPreview,
|
|
className: "fa fa-eye",
|
|
title: "Preview",
|
|
noDisable: true
|
|
},"redo",
|
|
"bold", "italic","link","code"
|
|
]
|
|
});
|
|
onRead();
|