Show More
@@ -254,6 +254,7 define([ | |||
|
254 | 254 | } else if (model.type == 'notebook') { |
|
255 | 255 | if(this.sessions[path_name] === undefined){ |
|
256 | 256 | this.add_delete_button(item); |
|
257 | this.add_duplicate_button(item); | |
|
257 | 258 | } else { |
|
258 | 259 | this.add_shutdown_button(item, this.sessions[path_name]); |
|
259 | 260 | } |
@@ -306,7 +307,53 define([ | |||
|
306 | 307 | return false; |
|
307 | 308 | }); |
|
308 | 309 | // var new_buttons = item.find('a'); // shutdown_button; |
|
309 |
item.find(".item_buttons"). |
|
|
310 | item.find(".item_buttons").append(shutdown_button); | |
|
311 | }; | |
|
312 | ||
|
313 | NotebookList.prototype.add_duplicate_button = function (item) { | |
|
314 | var new_buttons = $('<span/>').addClass("btn-group pull-right"); | |
|
315 | var notebooklist = this; | |
|
316 | var duplicate_button = $("<button/>").text("Duplicate").addClass("btn btn-defaultbtn-xs"). | |
|
317 | click(function (e) { | |
|
318 | // $(this) is the button that was clicked. | |
|
319 | var that = $(this); | |
|
320 | // We use the nbname and notebook_id from the parent notebook_item element's | |
|
321 | // data because the outer scopes values change as we iterate through the loop. | |
|
322 | var parent_item = that.parents('div.list_item'); | |
|
323 | var nbname = parent_item.data('nbname'); | |
|
324 | var message = 'Are you sure you want to duplicate the notebook: ' + nbname + '?'; | |
|
325 | var copy_from = {'copy_from' : nbname} | |
|
326 | IPython.dialog.modal({ | |
|
327 | title : "Duplicate notebook", | |
|
328 | body : message, | |
|
329 | buttons : { | |
|
330 | Duplicate : { | |
|
331 | class: "btn-primary", | |
|
332 | click: function() { | |
|
333 | var settings = { | |
|
334 | processData : false, | |
|
335 | cache : false, | |
|
336 | type : "POST", | |
|
337 | dataType : "json", | |
|
338 | data : JSON.stringify(copy_from), | |
|
339 | success : function (data, status, xhr) { | |
|
340 | notebooklist.load_list(); | |
|
341 | } | |
|
342 | }; | |
|
343 | var url = utils.url_join_encode( | |
|
344 | notebooklist.base_url, | |
|
345 | 'api/notebooks', | |
|
346 | notebooklist.notebook_path | |
|
347 | ); | |
|
348 | $.ajax(url, settings); | |
|
349 | } | |
|
350 | }, | |
|
351 | Cancel : {} | |
|
352 | } | |
|
353 | }); | |
|
354 | return false; | |
|
355 | }); | |
|
356 | item.find(".item_buttons").append(duplicate_button); | |
|
310 | 357 | }; |
|
311 | 358 | |
|
312 | 359 | NotebookList.prototype.add_delete_button = function (item) { |
@@ -340,7 +387,7 define([ | |||
|
340 | 387 | }); |
|
341 | 388 | return false; |
|
342 | 389 | }); |
|
343 |
item.find(".item_buttons"). |
|
|
390 | item.find(".item_buttons").append(delete_button); | |
|
344 | 391 | }; |
|
345 | 392 | |
|
346 | 393 | NotebookList.prototype.notebook_deleted = function(path) { |
General Comments 0
You need to be logged in to leave comments.
Login now