feat: 添加保存功能并调用父窗口回调接口
实现点击保存按钮时获取编辑器内容并通过OCDViewer.onSave回调传递给父窗口。当父窗口未提供回调接口时显示警告信息。
This commit is contained in:
parent
4a8d53c66e
commit
8d99d268c4
23
src/main.ts
23
src/main.ts
|
|
@ -169,6 +169,29 @@ window.onload = function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 保存(调用父窗口回调)
|
||||||
|
const saveCallbackDom = document.querySelector<HTMLDivElement>('.menu-item__save')!
|
||||||
|
saveCallbackDom.onclick = function () {
|
||||||
|
try {
|
||||||
|
const editorValue = instance.command.getValue()
|
||||||
|
const content = JSON.stringify(editorValue.data, null, 2)
|
||||||
|
|
||||||
|
const parentWin: any = window.parent || window
|
||||||
|
const viewer = (parentWin && parentWin.OCDViewer) || (window as any).OCDViewer
|
||||||
|
|
||||||
|
if (viewer && typeof viewer.onSave === 'function') {
|
||||||
|
viewer.onSave(content)
|
||||||
|
console.log('已调用父窗口 OCDViewer.onSave')
|
||||||
|
} else {
|
||||||
|
console.warn('父窗口未提供 OCDViewer.onSave')
|
||||||
|
alert('未检测到父窗口的保存接口')
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('保存回调调用失败:', error)
|
||||||
|
alert('保存回调调用失败')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const undoDom = document.querySelector<HTMLDivElement>('.menu-item__undo')!
|
const undoDom = document.querySelector<HTMLDivElement>('.menu-item__undo')!
|
||||||
undoDom.title = `撤销(${isApple ? '⌘' : 'Ctrl'}+Z)`
|
undoDom.title = `撤销(${isApple ? '⌘' : 'Ctrl'}+Z)`
|
||||||
undoDom.onclick = function () {
|
undoDom.onclick = function () {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user