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')!
|
||||
undoDom.title = `撤销(${isApple ? '⌘' : 'Ctrl'}+Z)`
|
||||
undoDom.onclick = function () {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user