Tracked changes in a DOCX file are a feature that allows you to suggest and review changes in a document. This is particularly useful for collaborative work, as it helps you keep track of who made which changes and when.
Tracked changes can be created by typing in reviewing mode. They may also be accepted or rejected from the reviewing panel while in reviewing mode or by clicking on the tracked change in editing mode.
Tracked changes can be retrieved by using the getTrackedChanges
API.
JavaScript
1WebViewer(...)
2 .then(instance => {
3 instance.Core.documentViewer.addEventListener('documentLoaded', async () => {
4 const officeEditor = instance.Core.documentViewer.getDocument().getOfficeEditor();
5 // retrieves a list of tracked changes in the document
6 const trackedChanges = await officeEditor.getTrackedChanges();
7 });
8 });
Tracked changes will be represented by an array of TrackedChange
objects.
JSON
1{
2 "id": "number - The unique identifier of the object",
3 "type": "'inserted'|'deleted' - The type of tracked change",
4 "author": "string - The author of the tracked change",
5 "date": "Date - The date of the tracked change",
6 "plainText": "string - The content of the tracked change to be inserted or deleted"
7}
Updates to tracked changes may be listened for by the trackedChangesUpdated
event on the document. This will be triggered when a tracked change is added, modified, or deleted.
JavaScript
1WebViewer(...)
2 .then(instance => {
3 instance.Core.documentViewer.addEventListener('documentLoaded', async () => {
4 const officeEditor = instance.Core.documentViewer.getDocument().getOfficeEditor();
5 let trackedChanges = await officeEditor.getTrackedChanges();
6
7 // set up a listener to respond to updates about tracked changes
8 instance.Core.documentViewer.getDocument().addEventListener('trackedChangesUpdated', async () => {
9 trackedChanges = await officeEditor.getTrackedChanges();
10 });
11 });
12 });
Tracked changes can be programmatically accepted or rejected by calling the following APIs using the trackedChangeId
retrieved from the list of tracked changes.
JavaScript
1WebViewer(...)
2 .then(instance => {
3 instance.Core.documentViewer.addEventListener('documentLoaded', async () => {
4 const officeEditor = instance.Core.documentViewer.getDocument().getOfficeEditor();
5 const trackedChanges = await officeEditor.getTrackedChanges();
6
7 // accept a tracked change by ID
8 await officeEditor.acceptTrackedChange(trackedChanges[0].id);
9
10 // reject a tracked change by ID
11 await officeEditor.rejectTrackedChange(trackedChanges[1].id);
12 });
13 });
14