// Copyright (c) IPython Development Team. // Distributed under the terms of the Modified BSD License. define([ 'base/js/namespace', 'jquery', 'base/js/utils', 'bootstrap', ], function(IPython, $, utils, bootstrap) { "use strict"; var MenuBar = function (selector, options) { // Constructor // // A MenuBar Class to generate the menubar of IPython notebook // // Parameters: // selector: string // options: dictionary // Dictionary of keyword arguments. // codemirror: CodeMirror instance // contents: ContentManager instance // events: $(Events) instance // base_url : string // file_path : string options = options || {}; this.base_url = options.base_url || utils.get_body_data("baseUrl"); this.selector = selector; this.codemirror = options.codemirror; this.contents = options.contents; this.events = options.events; this.file_path = options.file_path; if (this.selector !== undefined) { this.element = $(selector); this.bind_events(); } }; MenuBar.prototype.bind_events = function () { // File var that = this; this.element.find('#save_file').click(function () { var ix = that.file_path.lastIndexOf("/"); var dir_path, basename; if (ix === -1) { dir_path = ''; basename = that.file_path; } else { dir_path = that.file_path.substring(0, ix); basename = that.file_path.substring(ix+1); } var model = { path: dir_path, name: basename, type: 'file', format: 'text', content: that.codemirror.getValue(), }; console.log(model); that.contents.save(dir_path, basename, model, { success: function() { that.events.trigger("save_succeeded.TextEditor"); } }); }); }; return {'MenuBar': MenuBar}; });