Show More
@@ -371,18 +371,16 b' var IPython = (function (IPython) {' | |||
|
371 | 371 | } |
|
372 | 372 | |
|
373 | 373 | |
|
374 |
OutputArea.prototype._append_javascript_error = function (err, |
|
|
374 | OutputArea.prototype._append_javascript_error = function (err, element) { | |
|
375 | 375 | // display a message when a javascript error occurs in display output |
|
376 | 376 | var msg = "Javascript error adding output!" |
|
377 | console.log(msg, err); | |
|
378 | if ( container === undefined ) return; | |
|
379 | container.append( | |
|
377 | if ( element === undefined ) return; | |
|
378 | element.append( | |
|
380 | 379 | $('<div/>').html(msg + "<br/>" + |
|
381 | 380 | err.toString() + |
|
382 | 381 | '<br/>See your browser Javascript console for more details.' |
|
383 | 382 | ).addClass('js-error') |
|
384 | 383 | ); |
|
385 | container.show(); | |
|
386 | 384 | }; |
|
387 | 385 | |
|
388 | 386 | OutputArea.prototype._safe_append = function (toinsert) { |
@@ -394,7 +392,13 b' var IPython = (function (IPython) {' | |||
|
394 | 392 | this.element.append(toinsert); |
|
395 | 393 | } catch(err) { |
|
396 | 394 | console.log(err); |
|
397 | this._append_javascript_error(err, this.element); | |
|
395 | // Create an actual output_area and output_subarea, which creates | |
|
396 | // the prompt area and the proper indentation. | |
|
397 | var toinsert = this.create_output_area(); | |
|
398 | var subarea = $('<div/>').addClass('output_subarea'); | |
|
399 | toinsert.append(subarea); | |
|
400 | this._append_javascript_error(err, subarea); | |
|
401 | this.element.append(toinsert); | |
|
398 | 402 | } |
|
399 | 403 | }; |
|
400 | 404 | |
@@ -512,16 +516,13 b' var IPython = (function (IPython) {' | |||
|
512 | 516 | |
|
513 | 517 | OutputArea.prototype.append_javascript = function (js, md, container) { |
|
514 | 518 | // We just eval the JS code, element appears in the local scope. |
|
515 | var element = this.create_output_subarea(md, ""); | |
|
519 | var element = this.create_output_subarea(md, "output_javascript"); | |
|
516 | 520 | container.append(element); |
|
517 | // Div for js shouldn't be drawn, as it will add empty height to the area. | |
|
518 | container.hide(); | |
|
519 | // If the Javascript appends content to `element` that should be drawn, then | |
|
520 | // it must also call `container.show()`. | |
|
521 | 521 | try { |
|
522 | 522 | eval(js); |
|
523 | 523 | } catch(err) { |
|
524 | this._append_javascript_error(err, container); | |
|
524 | console.log(err); | |
|
525 | this._append_javascript_error(err, element); | |
|
525 | 526 | } |
|
526 | 527 | }; |
|
527 | 528 |
@@ -29,3 +29,11 b' div.inner_cell {' | |||
|
29 | 29 | .vbox(); |
|
30 | 30 | .box-flex1(); |
|
31 | 31 | } |
|
32 | ||
|
33 | /* This is needed so that empty prompt areas can collapse to zero height when there | |
|
34 | is no content in the output_subarea and the prompt. The main purpose of this is | |
|
35 | to make sure that empty JavaScript output_subareas have no height. */ | |
|
36 | div.prompt:empty { | |
|
37 | padding-top: 0; | |
|
38 | padding-bottom: 0; | |
|
39 | } |
@@ -127,6 +127,11 b' div.output_png {' | |||
|
127 | 127 | div.output_jpeg { |
|
128 | 128 | } |
|
129 | 129 | |
|
130 | /* Empty output_javascript divs should have no height */ | |
|
131 | div.output_javascript:empty { | |
|
132 | padding: 0; | |
|
133 | } | |
|
134 | ||
|
130 | 135 | .js-error { |
|
131 | 136 | color: darkred; |
|
132 | 137 | } |
@@ -57,6 +57,7 b' input.engine_num_input{height:20px;margin-bottom:2px;padding-top:0;padding-botto' | |||
|
57 | 57 | div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;padding:5px 5px 5px 0px;margin:0px;outline:none;}div.cell.selected{border-radius:4px;border:thin #ababab solid;} |
|
58 | 58 | div.prompt{min-width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231em;} |
|
59 | 59 | div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;} |
|
60 | div.prompt:empty{padding-top:0;padding-bottom:0;} | |
|
60 | 61 | div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;} |
|
61 | 62 | div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;} |
|
62 | 63 | div.input_prompt{color:navy;border-top:1px solid transparent;} |
@@ -102,6 +103,7 b' div.output_subarea{padding:0.4em 0.4em 0em 0.4em;-webkit-box-flex:1;-moz-box-fle' | |||
|
102 | 103 | div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231em;} |
|
103 | 104 | div.output_stderr{background:#fdd;} |
|
104 | 105 | div.output_latex{text-align:left;} |
|
106 | div.output_javascript:empty{padding:0;} | |
|
105 | 107 | .js-error{color:darkred;} |
|
106 | 108 | div.raw_input{padding-top:0px;padding-bottom:0px;height:1em;line-height:1em;font-family:monospace;} |
|
107 | 109 | span.input_prompt{font-family:inherit;} |
@@ -1438,6 +1438,7 b' input.engine_num_input{height:20px;margin-bottom:2px;padding-top:0;padding-botto' | |||
|
1438 | 1438 | div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;padding:5px 5px 5px 0px;margin:0px;outline:none;}div.cell.selected{border-radius:4px;border:thin #ababab solid;} |
|
1439 | 1439 | div.prompt{min-width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231em;} |
|
1440 | 1440 | div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;} |
|
1441 | div.prompt:empty{padding-top:0;padding-bottom:0;} | |
|
1441 | 1442 | div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;} |
|
1442 | 1443 | div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;} |
|
1443 | 1444 | div.input_prompt{color:navy;border-top:1px solid transparent;} |
@@ -1483,6 +1484,7 b' div.output_subarea{padding:0.4em 0.4em 0em 0.4em;-webkit-box-flex:1;-moz-box-fle' | |||
|
1483 | 1484 | div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231em;} |
|
1484 | 1485 | div.output_stderr{background:#fdd;} |
|
1485 | 1486 | div.output_latex{text-align:left;} |
|
1487 | div.output_javascript:empty{padding:0;} | |
|
1486 | 1488 | .js-error{color:darkred;} |
|
1487 | 1489 | div.raw_input{padding-top:0px;padding-bottom:0px;height:1em;line-height:1em;font-family:monospace;} |
|
1488 | 1490 | span.input_prompt{font-family:inherit;} |
General Comments 0
You need to be logged in to leave comments.
Login now