mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-19 14:56:09 +01:00
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import {openMobileFileById} from "../editor";
|
|
import {processSync, progressLoading, progressStatus, reloadSync, transactionError} from "../../dialog/processSystem";
|
|
import {Constants} from "../../constants";
|
|
|
|
const processReadonly = () => {
|
|
const inputElement = document.getElementById("toolbarName") as HTMLInputElement;
|
|
const editIconElement = document.querySelector("#toolbarEdit use");
|
|
if (!window.siyuan.config.editor.readOnly) {
|
|
inputElement.readOnly = false;
|
|
editIconElement.setAttribute("xlink:href", "#iconEdit");
|
|
} else {
|
|
inputElement.readOnly = true;
|
|
editIconElement.setAttribute("xlink:href", "#iconPreview");
|
|
}
|
|
};
|
|
|
|
export const onMessage = (data: IWebSocketData) => {
|
|
if (data) {
|
|
switch (data.cmd) {
|
|
case "syncMergeResult":
|
|
reloadSync(data.data);
|
|
break;
|
|
case "readonly":
|
|
window.siyuan.config.editor.readOnly = data.data;
|
|
processReadonly();
|
|
break;
|
|
case"progress":
|
|
progressLoading(data);
|
|
break;
|
|
case"syncing":
|
|
processSync(data);
|
|
if (data.code !== 0) {
|
|
document.getElementById("toolbarSync").classList.add("fn__none");
|
|
}
|
|
break;
|
|
case "createdailynote":
|
|
openMobileFileById(data.data.id);
|
|
break;
|
|
case "openFileById":
|
|
openMobileFileById(data.data.id, [Constants.CB_GET_FOCUS]);
|
|
break;
|
|
case"txerr":
|
|
transactionError();
|
|
break;
|
|
case"statusbar":
|
|
progressStatus(data);
|
|
break;
|
|
}
|
|
}
|
|
};
|