##// END OF EJS Templates
Refactor static printing.
Stefan van der Walt -
Show More
@@ -0,0 +1,54 b''
1 var IPython = (function (IPython) {
2
3 var PrintWidget = function (selector) {
4 this.selector = selector;
5 if (this.selector !== undefined) {
6 this.element = $(selector);
7 this.style();
8 this.bind_events();
9 }
10 };
11
12 PrintWidget.prototype.style = function () {
13 this.element.find('button#print_notebook').button();
14 };
15
16 PrintWidget.prototype.bind_events = function () {
17 var that = this;
18 this.element.find('button#print_notebook').click(function () {
19 that.print_notebook();
20 });
21 };
22
23 PrintWidget.prototype.enable = function () {
24 this.element.find('button#print_notebook').button('enable');
25 };
26
27 PrintWidget.prototype.disable = function () {
28 this.element.find('button#print_notebook').button('disable');
29 };
30
31 PrintWidget.prototype.print_notebook = function () {
32 var w = window.open('', '_blank', 'scrollbars=1,menubar=1');
33 var html = '<html><head>' +
34 $('head').clone().html() +
35 '<style type="text/css">' +
36 '@media print { body { overflow: visible !important; } }' +
37 '.ui-widget-content { border: 0px; }' +
38 '</style>' +
39 '</head><body style="overflow: auto;">' +
40 $('#notebook').clone().html() +
41 '</body></html>';
42
43 w.document.open();
44 w.document.write(html);
45 w.document.close();
46
47 return false;
48 };
49
50 IPython.PrintWidget = PrintWidget;
51
52 return IPython;
53
54 }(IPython)); No newline at end of file
@@ -762,24 +762,6 b' var IPython = (function (IPython) {'
762 762 };
763 763 };
764 764
765 Notebook.prototype.publish_notebook = function () {
766 var w = window.open('', '_blank', 'scrollbars=1,menubar=1');
767 var html = '<html><head>' +
768 $('head').clone().html() +
769 '<style type="text/css">' +
770 '@media print { body { overflow: visible !important; } }' +
771 '.ui-widget-content { border: 0px; }' +
772 '</style>' +
773 '</head><body style="overflow: auto;">' +
774 $('#notebook').clone().html() +
775 '</body></html>';
776
777 w.document.open();
778 w.document.write(html);
779 w.document.close();
780
781 return false;
782 };
783 765
784 766 Notebook.prototype.notebook_saved = function (data, status, xhr) {
785 767 this.dirty = false;
@@ -26,6 +26,7 b' $(document).ready(function () {'
26 26 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
27 27 IPython.left_panel = new IPython.LeftPanel('div#left_panel', 'div#left_panel_splitter');
28 28 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
29 IPython.print_widget = new IPython.PrintWidget('span#print_widget');
29 30 IPython.notebook = new IPython.Notebook('div#notebook');
30 31 IPython.kernel_status_widget = new IPython.KernelStatusWidget('#kernel_status');
31 32 IPython.kernel_status_widget.status_idle();
@@ -21,7 +21,6 b' var IPython = (function (IPython) {'
21 21 SaveWidget.prototype.style = function () {
22 22 this.element.find('input#notebook_name').addClass('ui-widget ui-widget-content');
23 23 this.element.find('button#save_notebook').button();
24 this.element.find('button#publish_notebook').button();
25 24 var left_panel_width = $('div#left_panel').outerWidth();
26 25 var left_panel_splitter_width = $('div#left_panel_splitter').outerWidth();
27 26 $('span#save_widget').css({marginLeft:left_panel_width+left_panel_splitter_width});
@@ -34,10 +33,6 b' var IPython = (function (IPython) {'
34 33 IPython.notebook.save_notebook();
35 34 that.set_document_title();
36 35 });
37
38 this.element.find('button#publish_notebook').click(function () {
39 IPython.notebook.publish_notebook();
40 });
41 36 };
42 37
43 38
@@ -89,23 +84,23 b' var IPython = (function (IPython) {'
89 84
90 85
91 86 SaveWidget.prototype.status_save = function () {
92 $('button#save_notebook').button('option', 'label', 'Save');
93 $('button#save_notebook').button('enable');
94 $('button#publish_notebook').button('enable');
87 this.element.find('button#save_notebook').button('option', 'label', 'Save');
88 this.element.find('button#save_notebook').button('enable');
89 IPython.print_widget.enable();
95 90 };
96 91
97 92
98 93 SaveWidget.prototype.status_saving = function () {
99 $('button#save_notebook').button('option', 'label', 'Saving');
100 $('button#save_notebook').button('disable');
101 $('button#publish_notebook').button('disable');
94 this.element.find('button#save_notebook').button('option', 'label', 'Saving');
95 this.element.find('button#save_notebook').button('disable');
96 IPython.print_widget.disable();
102 97 };
103 98
104 99
105 100 SaveWidget.prototype.status_loading = function () {
106 $('button#save_notebook').button('option', 'label', 'Loading');
107 $('button#save_notebook').button('disable');
108 $('button#publish_notebook').button('disable');
101 this.element.find('button#save_notebook').button('option', 'label', 'Loading');
102 this.element.find('button#save_notebook').button('disable');
103 IPython.print_widget.disable();
109 104 };
110 105
111 106
@@ -41,7 +41,6 b''
41 41 <input type="text" id="notebook_name" size="20"></textarea>
42 42 <span id="notebook_id" style="display:none">{{notebook_id}}</span>
43 43 <button id="save_notebook">Save</button>
44 <button id="publish_notebook">Publish</button>
45 44 </span>
46 45 <span id="kernel_status">Idle</span>
47 46 </div>
@@ -69,6 +68,10 b''
69 68 </select>
70 69 </span>
71 70 <span class="section_row_buttons">
71 <span id="print_widget">
72 <button id="print_notebook">Print/HTML</button>
73 </span>
74
72 75 <button id="download_notebook">Export</button>
73 76 </span>
74 77 </div>
@@ -213,6 +216,7 b''
213 216 <script src="static/js/savewidget.js" type="text/javascript" charset="utf-8"></script>
214 217 <script src="static/js/pager.js" type="text/javascript" charset="utf-8"></script>
215 218 <script src="static/js/panelsection.js" type="text/javascript" charset="utf-8"></script>
219 <script src="static/js/printwidget.js" type="text/javascript" charset="utf-8"></script>
216 220 <script src="static/js/leftpanel.js" type="text/javascript" charset="utf-8"></script>
217 221 <script src="static/js/notebook.js" type="text/javascript" charset="utf-8"></script>
218 222 <script src="static/js/notebook_main.js" type="text/javascript" charset="utf-8"></script>
General Comments 0
You need to be logged in to leave comments. Login now