diff options
author | ROSPARS Benoit <benoit.rospars@inria.fr> | 2019-03-27 13:03:30 +0100 |
---|---|---|
committer | ROSPARS Benoit <benoit.rospars@inria.fr> | 2019-03-27 16:53:25 +0100 |
commit | f620c69acc12074128c3f2f50e4a26f9d3c2df1c (patch) | |
tree | c3d886d5fc57dcac5d9fec6d0996ca29e2ec45bd /app/assets/javascripts/notebook/cells | |
parent | 0610bb091766d3bb935fc10898dd66bc6f76b1c5 (diff) | |
download | gitlab-ce-f620c69acc12074128c3f2f50e4a26f9d3c2df1c.tar.gz |
Fix jupyter rendering bug that ended in an infinite loop
Diffstat (limited to 'app/assets/javascripts/notebook/cells')
-rw-r--r-- | app/assets/javascripts/notebook/cells/output/index.vue | 29 |
1 files changed, 15 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)" |