-
Notifications
You must be signed in to change notification settings - Fork 2
/
toolbar.js
371 lines (300 loc) · 61.7 KB
/
toolbar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
/**
* Renders the tool bar to make notes
*
*
* */
window.topID = 0;//This will be the ID of all the DOM nodes created in 1 request
window.annot = new annotation();//The reciever of the action...
window.isDirty=false;
window.notes = new sbnotes();
$('document').ready(function(){
//Document is ready...
var logger = function(){
var oldConsoleLog = null;
var pub = {};
pub.enableLogger = function enableLogger(){
if(oldConsoleLog == null)
return;
window['console']['log'] = oldConsoleLog;
};
pub.disableLogger = function disableLogger(){
oldConsoleLog = console.log;
window['console']['log'] = function() {};
};
return pub;
}();
logger.disableLogger();//For debugging
console.log('Renering UI...');
//Render the old stuff...
var globalWindow = chrome.extension.getBackgroundPage();
window.notes.recreateNotes(globalWindow.noteDataToRender);
window.pageProp.url = globalWindow.urlOfPage ;
window.pageProp.title = globalWindow.titleOfPage;
window.pageProp.folderid = globalWindow.folderidOfPage;
window.pageProp.folderName = globalWindow.folderNameOfPage;
window.renderUI();
})
//Details for a specfic page
window.pageProp ={
isnew : true,
pageid : null,
title : null,
folderName : null,
folderid : null,
url : null
}
/*Adds handlers to mark objects*/
function addMarkHandlers(){
var doc = $('#sbinnerframe')[0].contentDocument;
//Add hover attributes to mark elements.
$(doc).find('mark').hover(
function() {
//$(this).css("border")
if($(this).css("border")=="" || $(this).css("border") == null){
$(this).css("border","2px dashed rgb(0, 0, 0)");
$(this).attr('sbremovehover','Y');
}else{
$(this).attr('sboldborder', $(this).css("border"));
$(this).css("border","2px dashed rgb(0, 0, 0)");
$(this).attr('sbremovehover','Y');
}
},
function() {
if( $(this).attr("sboldborder")!=null){
$(this).css("border", $(this).attr('sboldborder'));
$(this).attr('sbremovehover','N');
}else{
$(this).css("border","none");
$(this).attr('sbremovehover','N');
}
}
)
$(doc).find('mark').click(function(){
// Click handlers to delete highlights
$(doc).find('mark[sbremovehover="Y"]').each(function(){
try{
//Couldnt do this with Jquery :(
var markElement = this;
var nextSibling = markElement.nextSibling;//Need to insert just before this
var textNode = doc.createTextNode(markElement.textContent);
var parentNode = markElement.parentNode;//maybe HTML or MARK... Its ok...
parentNode.removeChild(markElement);
parentNode.insertBefore(textNode,nextSibling);
$(this).unbind();//Cleanup?
}catch(e){
//We were not able to remove a mark element
//Best to put the ID of these elements as -1 and let user erase them using DOM eraser...
console.log('Error while removing the mark element. Remove manually...'+e.message);
}
})
})
}
/*Manages the removal of annotation from the page
* and highlights mouse hovers
* */
function removeMarkHandlers(){
$('#removesbannotation').find('img').removeClass('sb_ui-state-hover');
$('#removesbannotation').find('img').hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
var doc = $('#sbinnerframe')[0].contentDocument;
$(doc).find('mark').unbind();
$('#sbinnerframe').attr('sandbox','allow-same-origin');
}
/**
*
* */
function sendSelectionRequest(event){
removeMarkHandlers();
console.log('Marking with: '+event.data.marker+'. Style: '+event.data.style)
annot.doAnnotation(event.data.style);
//saveSBSoon();
}
function sendNoteRequest(event){
console.log('Making a note...')
var resp = window.notes.createNewNote();
console.log(resp.message);
//saveSBSoon();
}
/*Undo the markers*/
function sendUndoRequest(){
annot.undoAction();
//saveSBSoon();
}
/*Function to save the data */
function saveAnnotations (){
console.log('Sending some data to save');
var doc = $('#sbinnerframe')[0].contentDocument;
var noteData = window.notes.getNotes();
var params = {
folderid: window.pageProp.folderid,
folderName: window.pageProp.folderName,
pageid: window.pageProp.pageid,
url: window.pageProp.url,
title: window.pageProp.title,
data:null,
notes:noteData
};
var docsaver = new DocumentSaver()
docsaver.processDocument(doc, function(doccontent){
try{
params.data = new XMLSerializer().serializeToString(doccontent);
params.status = 'OK';
params.message = 'Annotations saved';
params.code = 551;
}catch(err){
params.status = 'BAD';
params.message = err.message;
params.code = 555;
params.data = null;
}
console.log(params);
chrome.runtime.sendMessage({requestType: 'savepage', params: params}, function(response) {
displayMessage(response.message);
});
//chrome.runtime.sendMessage(params);
});
}
//Test function will be triggered by clicking scrap this page from pop up.
function renderUI(){
//Which body to append to?
$('#sbsite-bottom-bar').remove();
$('body').append(
'<div id="sbsite-bottom-bar" class="fixed-position">'+
'<div id="sbsite-bottom-bar-frame">'+
'<div id="sbsite-bottom-bar-content">'+
//'<div id="sbmenu-root" >Toggle Menu</div>'+
'<div style="position:relative;">'+
'<div id="sbmarkers" style = "position:static; width:100%; margin-left: 3% ">'+
'</div >'+
/*'<div style="position:absolute; width:200; padding-left : 76%; padding-top:0.4%;">'+
'<input type="text" name="category" id="category" value="" />'+
'<ul id="categorymenu" class= "mcdropdown_menu">'+
'</ul>'+
'</div>'+*/
'</div>'+
'</div>'+
'</div>'+
'</div>')
var b1 = $('<button style="float:left;" id="sbbutton1" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"> <span class="sb_ui-button-text">Marker1</span> </button>');
b1.bind("click",{marker:"marker1" , style:"border : thin dashed rgb(255, 204, 0); background-color: rgb(255, 255, 153); color: rgb(0, 0, 0); " },sendSelectionRequest );
var b2 = $('<button style="float:left;" id="sbbutton2" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"> <span class="sb_ui-button-text">Marker2</span> </button>');
b2.bind("click",{marker:"marker2" , style:"border : medium solid rgb(92,55,46); background-color: rgb(255, 255, 255)" },sendSelectionRequest );
var b3 = $('<button style="float:left;" id="sbbutton3" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"> <span class="sb_ui-button-text">Marker3</span> </button>');
b3.bind("click",{marker:"marker3" , style:"background-color: rgb(238, 51, 17); color: rgb(255, 255, 255); font-weight: bold" },sendSelectionRequest );
var b4 = $('<button style="float:left;" id="sbbutton4" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"> <span class="sb_ui-button-text">Marker4</span> </button>');
b4.bind("click",{marker:"marker4" , style:"background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)')" },sendSelectionRequest );
var sep = $('<div id = "sbseparator"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAyCAYAAABcfPsmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFuSURBVEiJ7Ze9TsMwFEaP+4sQ0AjKA7DyAuw8BG/UiaETI0vF0rdiqNqwOEk7QNqSyxBHhWA7BLHhK0WWffMdX99k8KdEhL+MXtMLSikFKDMVaahAufIG1AWGwMBA90AO7ESk+DHQwHrAKXAJjM08A2IgBbZWqIh8e4COgV1Pp9P7OI71arXSk8nkAbipNrBqHcCeqex2uVzqPM8lz3NZLBYZcAdcAUc2bcfVW9O3aDQanVWLURSdAOfAMdA1rfkSLmCV64tIXTQ0J/j89RuBqjbaNLact0KnyKxb/7cmoC28P/ZvgN4IwAAMwAAMwAAMwAD870DXFe9HQN/VrdWFU2pjPVe4NvNVWAA7pVRd+EZpgMQG9VW4BdIsy9bVYpqmG0ADr8B7mwoLI4rn8/ljkiRaa53MZrMn4BnYAHub7/N5vT6lmxoDF5S+bw28cLBmrYCVeRwAfXOaHWUr9q3MYw3c4WByChosbiOwbXwAB2vMZA72jXYAAAAASUVORK5CYII="/></div>');
var note = $('<button style="float:left;" id="notebutton" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"><span class="sb_ui-button-text">Attach Note</span></button>');
note.bind("click",{marker:"note" },sendNoteRequest );
//var undo = $('<button id="undobutton" class="sb_ui-button sb_ui-widget sb_ui-state-default sb_ui-corner-all sb_ui-button-text-only" role="button" aria-disabled="false"><span class="sb_ui-button-text">Undo</span></button>');
var undo = $('<div id = "undopage"><image class="sb_ui-corner-all" src ="data:image/png;base64,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" title= "Undo" /> </div>');
undo.bind("click", sendUndoRequest)
var save = $('<div id = "savesbpage"><image class="sb_ui-corner-all" src ="data:image/png;base64,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" title= "Save annotations" /> </div>')
save.bind("click", saveAnnotations);
var remove = $('<div markRemoveMode = "N" id = "removesbannotation"><image class="sb_ui-corner-all" src ="data:image/png;base64, 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" title= "Remove annotations" /> </div>')
//remove.bind("click", removeAnnotation);
var messages = $('<div style="float:left;" id ="sbmessageholder"> </div>')
$('#sbmarkers').append(b1).append(b2).append(b3).append(b4).append(note).append(sep).append(undo).append(save).append(remove).append(messages);
//Hover states...
$('#sbmarkers button').each(function(){
$(this).hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
}
);
$(undo).find('img').hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
$(save).find('img').hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
$(remove).find('img').hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
var bindfn = function(){
var r = $(remove).find('img')
if($(remove).attr('markRemoveMode')=='N'){
$(r).unbind();//remove click and hover events
$('#sbinnerframe').attr('sandbox','allow-same-origin allow-scripts');//Activate sandbox
$(remove).attr('markRemoveMode', 'Y');
$(r).addClass('sb_ui-state-hover');//Show it pressed
addMarkHandlers();
$(r).click(bindfn);
}else{
$(r).unbind();
$(remove).attr('markRemoveMode', 'N');
$(r).removeClass('sb_ui-state-hover')
$(r).hover(
function() { $(this).addClass('sb_ui-state-hover'); },
function() { $(this).removeClass('sb_ui-state-hover'); }
)
//Remove the mark handlers
var doc = $('#sbinnerframe')[0].contentDocument;
$(doc).find('mark').unbind();
$('#sbinnerframe').attr('sandbox','allow-same-origin');
$(r).click(bindfn);
}
}
$(remove).find('img').click(bindfn);
}
function displayMessage(message){
var pl = '#sbmessageholder';
$(pl).empty();
$(pl).append('<div class = "sb_ui-state-highlight sb_ui-corner-all">'+
'<span class="sb_ui-icon sb_ui-icon-info" style="position:static ;float: left; margin-right: .3em;">'+
'</span> <strong> </strong></div>');
$(pl+'>div>strong').append(document.createTextNode(message));
$('#scrapbutton').after('<span id="sbsavepagetext" class = "load-sbtext" value="saving page..." > Saving page.</span>');
//$('#sbsavepagetext').blink({delay:900});
$(pl).show(100, function(){
$(pl).hide(4000)
});
//setTimeout();
}
//Event listener for recieving annotation requests from Extension
//acts as client of the command pattern
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
/**The call back function needed for async actions......*/
this.callback = function(params){
console.log(params.code);
console.log('Got a success message... '+params.message);
sendResponse(params);// ll this work?
}
this.errorcallback = function(params){
console.log(params.returnCode);
console.log('An error occured...'+params.message+'::'+params.code+'::'+params.message);
sendResponse(params);// ll this work?
}
try{
if(request.requestType == 'setpageproperty'){
console.log('Setting page property...'+request.propName+' :: '+ request.propValue);
window.pageProp[request.propName] = request.propValue;
}
else if(request.requestType == 'getpageproperty'){
console.log('getting page prop: '+window.pageProp[request.propName] );
sendResponse({ status :'OK',message :'Sending property', code: 510, data: window.pageProp[request.propName] });
}else if(!sender.tab && request && request.requestType=='close'){
//need to make sure that if the page was changed to ask the user if we want to save the data
if(this.isDirty){
if(confirm("Do you want to save page before closing?")){
retParams = annot.save(request);
sendResponse({ data: retParams.data , status :'OK',message :'Save data', code: 520 });
}else{
sendResponse({ status :'OK',message :'Dont save', code: 521 });
}
}else{
sendResponse({ status :'OK',message :'No change', code: 521 });
}
}
}catch(err){
sendResponse({ status :'BAD',message :err.message, code: 999 });
}
console.log('Do you see it?');//Ok now mark up this text
});