Compare commits

...

2 Commits

Author SHA1 Message Date
zzs
89d9394a0f wip: replace bookmark and insert table row with content control 2025-03-25 18:33:03 +08:00
zzs
4476517dcb wip: replace bookmark and insert table row 2025-03-25 14:13:48 +08:00

View File

@ -113,6 +113,15 @@ onMounted(async () => {
case 'ModifyStatus':
handleSendModifyStatus()
break
case 'ReplaceTextAndInsertTableRow':
handleReplaceTextAndInsertTableRow(data)
break
case 'ReplaceTextAndInsertTableRowWithContentControl':
handleReplaceTextAndInsertTableRowWithContentControl(data)
break
case 'NextEditableZone':
handleNextEditableZone()
break
}
// WOPI Client
switch (MessageId) {
@ -577,6 +586,82 @@ function handleDocumentReady(data: any) {
}
}
function handleReplaceTextAndInsertTableRow(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: 'ReplaceTextAndInsertTableRow',
Values: {
params: {
type: 'string',
value: JSON.stringify({
text,
table: tableData,
}),
},
},
})
}
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)