Skip to content

Commit a76ab2f

Browse files
kumarharshvardhannAdityaHirapara
authored andcommitted
Save text to drop box
1 parent b79cac2 commit a76ab2f

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

js/paper.js

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ chrome.contextMenus.onClicked.addListener(function(info, tab) {
5555
saveToPaper(authToken, paperId, selectedText);
5656
}
5757
else {
58-
createPaper(authToken);
58+
createPaper(authToken, selectedText);
5959
}
6060
});
6161
}
@@ -70,7 +70,7 @@ function authorise() {
7070
chrome.tabs.create({ url: dropboxURL });
7171
}
7272

73-
function createPaper(token) {
73+
function createPaper(token, text) {
7474
//TODO: create paper on user's dropbox and store paperId to storage
7575
var url = 'https://api.dropboxapi.com/2/paper/docs/create';
7676
var xhr = new XMLHttpRequest();
@@ -85,7 +85,9 @@ function createPaper(token) {
8585
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
8686
var paperid = JSON.parse(this.response);
8787
chrome.storage.sync.set({paperId : paperid.doc_id});
88-
chrome.storage.sync.set({revision : paperid.revision});
88+
chrome.storage.sync.set({Revision : paperid.revision}, function(){
89+
saveToPaper(token, paperid.doc_id, text);
90+
});
8991
}
9092
};
9193

@@ -94,5 +96,22 @@ function createPaper(token) {
9496
}
9597

9698
function saveToPaper(token, paperId, text) {
97-
//TODO: save text to paper
99+
chrome.storage.sync.get(['Revision'], function(result) {
100+
var url = 'https://api.dropboxapi.com/2/paper/docs/update';
101+
var xhr = new XMLHttpRequest();
102+
xhr.open("POST", url, true);
103+
var rev = result.Revision;
104+
105+
xhr.setRequestHeader("Authorization", "Bearer " + token);
106+
xhr.setRequestHeader("Dropbox-API-Arg", "{\"doc_id\": \"" + paperId + "\",\"doc_update_policy\": \"prepend\",\"revision\": " + rev + ",\"import_format\": \"markdown\"}");
107+
xhr.setRequestHeader("Content-Type", "application/octet-stream");
108+
109+
xhr.onreadystatechange = function() {
110+
if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
111+
new_rev = JSON.parse(this.response);
112+
chrome.storage.sync.set({Revision : new_rev.revision});
113+
}
114+
}
115+
xhr.send(text);
116+
});
98117
}

0 commit comments

Comments
 (0)