diff options
author | ROSPARS Benoit <benoit.rospars@inria.fr> | 2019-03-27 15:03:30 +0300 |
---|---|---|
committer | ROSPARS Benoit <benoit.rospars@inria.fr> | 2019-03-27 18:53:25 +0300 |
commit | f620c69acc12074128c3f2f50e4a26f9d3c2df1c (patch) | |
tree | c3d886d5fc57dcac5d9fec6d0996ca29e2ec45bd | |
parent | 0610bb091766d3bb935fc10898dd66bc6f76b1c5 (diff) |
Fix jupyter rendering bug that ended in an infinite loop
-rw-r--r-- | app/assets/javascripts/notebook/cells/output/index.vue | 29 | ||||
-rw-r--r-- | changelogs/unreleased/59079-fix-jupyter-render-loop.yml | 5 |
2 files changed, 20 insertions, 14 deletions
diff --git a/app/assets/javascripts/notebook/cells/output/index.vue b/app/assets/javascripts/notebook/cells/output/index.vue index c5ae7e7ee10..b59ddd0d57a 100644 --- a/app/assets/javascripts/notebook/cells/output/index.vue +++ b/app/assets/javascripts/notebook/cells/output/index.vue @@ -20,12 +20,20 @@ export default { required: true, }, }, - data() { - return { - outputType: '', - }; - }, methods: { + outputType(output) { + if (output.text) { + return 'text/plain'; + } else if (output.data['image/png']) { + return 'image/png'; + } else if (output.data['text/html']) { + return 'text/html'; + } else if (output.data['image/svg+xml']) { + return 'image/svg+xml'; + } + + return 'text/plain'; + }, dataForType(output, type) { let data = output.data[type]; @@ -39,20 +47,13 @@ export default { if (output.text) { return CodeOutput; } else if (output.data['image/png']) { - this.outputType = 'image/png'; - return ImageOutput; } else if (output.data['text/html']) { - this.outputType = 'text/html'; - return HtmlOutput; } else if (output.data['image/svg+xml']) { - this.outputType = 'image/svg+xml'; - return HtmlOutput; } - this.outputType = 'text/plain'; return CodeOutput; }, rawCode(output) { @@ -60,7 +61,7 @@ export default { return output.text.join(''); } - return this.dataForType(output, this.outputType); + return this.dataForType(output, this.outputType(output)); }, }, }; @@ -73,7 +74,7 @@ export default { v-for="(output, index) in outputs" :key="index" type="output" - :output-type="outputType" + :output-type="outputType(output)" :count="count" :index="index" :raw-code="rawCode(output)" diff --git a/changelogs/unreleased/59079-fix-jupyter-render-loop.yml b/changelogs/unreleased/59079-fix-jupyter-render-loop.yml new file mode 100644 index 00000000000..29264b33dfa --- /dev/null +++ b/changelogs/unreleased/59079-fix-jupyter-render-loop.yml @@ -0,0 +1,5 @@ +--- +title: Fix jupyter rendering bug that ended in an infinite loop +merge_request: 26656 +author: ROSPARS Benoit +type: fixed |