wip: replace bookmark and insert table row with content control

This commit is contained in:
zzs 2025-03-25 18:33:03 +08:00
parent 4476517dcb
commit 89d9394a0f

View File

@ -116,6 +116,12 @@ onMounted(async () => {
case 'ReplaceTextAndInsertTableRow':
handleReplaceTextAndInsertTableRow(data)
break
case 'ReplaceTextAndInsertTableRowWithContentControl':
handleReplaceTextAndInsertTableRowWithContentControl(data)
break
case 'NextEditableZone':
handleNextEditableZone()
break
}
// WOPI Client
switch (MessageId) {
@ -609,6 +615,53 @@ function handleReplaceTextAndInsertTableRow(data: any) {
})
}
function handleReplaceTextAndInsertTableRowWithContentControl(data: any) {
const Payload = data.Payload
const text = Payload.text
const table = Payload.table
const tableData: any[] = []
for (const tab_obj of table) {
tableData.push({
location_bookmark_name: tab_obj.bookmarkName,
start_row_index: tab_obj.startRowIndex,
data: tab_obj.data,
})
}
sendMessageToWopiClient({
MessageId: 'CallPythonScript',
SendTime: Date.now(),
ScriptFile: 'BookmarkOP.py',
Function: 'ReplaceTextAndInsertTableRowWithContentControl',
Values: {
params: {
type: 'string',
value: JSON.stringify({
text,
table: tableData,
}),
},
},
})
}
const callCount = ref(0)
function handleNextEditableZone() {
sendMessageToWopiClient({
MessageId: 'CallPythonScript',
SendTime: Date.now(),
ScriptFile: 'BookmarkOP.py',
Function: 'NextEditableZone',
Values: {
params: {
type: 'string',
value: callCount.value.toString(),
},
},
})
callCount.value++
}
function logEvent(e: MessageEvent) {
console.log('=============receive message start=======')
console.log(typeof e.data)