From 2d8966f7f521c3d5eae47ff5f1cbc13d37cfc185 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 1 Mar 2018 01:33:06 -0600 Subject: migrate balsamiq_viewer to dynamic import --- app/assets/javascripts/blob/balsamiq_viewer.js | 4 +--- app/assets/javascripts/blob/viewer/index.js | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'app/assets/javascripts/blob') diff --git a/app/assets/javascripts/blob/balsamiq_viewer.js b/app/assets/javascripts/blob/balsamiq_viewer.js index 062577af385..06ef86ecb77 100644 --- a/app/assets/javascripts/blob/balsamiq_viewer.js +++ b/app/assets/javascripts/blob/balsamiq_viewer.js @@ -7,7 +7,7 @@ function onError() { return flash; } -function loadBalsamiqFile() { +export default function loadBalsamiqFile() { const viewer = document.getElementById('js-balsamiq-viewer'); if (!(viewer instanceof Element)) return; @@ -17,5 +17,3 @@ function loadBalsamiqFile() { const balsamiqViewer = new BalsamiqViewer(viewer); balsamiqViewer.loadFile(endpoint).catch(onError); } - -$(loadBalsamiqFile); diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index 612f604e725..0f1f026dc8b 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -5,6 +5,7 @@ import axios from '../../lib/utils/axios_utils'; export default class BlobViewer { constructor() { BlobViewer.initAuxiliaryViewer(); + BlobViewer.initRichViewer(); this.initMainViewers(); } @@ -16,6 +17,26 @@ export default class BlobViewer { BlobViewer.loadViewer(auxiliaryViewer); } + static initRichViewer() { + const viewer = document.querySelector('.blob-viewer[data-type="rich"]'); + if (!viewer || !viewer.dataset.richType) return; + + const initViewer = promise => promise + .then(module => module.default(viewer)) + .catch((error) => { + Flash('Error loading file viewer.'); + throw error; + }); + + switch (viewer.dataset.richType) { + case 'balsamiq': + initViewer(import(/* webpackChunkName: 'balsamiq_viewer' */ '../balsamiq_viewer')); + break; + default: + break; + } + } + initMainViewers() { this.$fileHolder = $('.file-holder'); if (!this.$fileHolder.length) return; -- cgit v1.2.1 From e2c87838157d90062725fd648788c6e1839bc8d8 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 1 Mar 2018 01:47:06 -0600 Subject: migrate notebook_viewer to dynamic import --- app/assets/javascripts/blob/notebook_viewer.js | 2 +- app/assets/javascripts/blob/viewer/index.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'app/assets/javascripts/blob') diff --git a/app/assets/javascripts/blob/notebook_viewer.js b/app/assets/javascripts/blob/notebook_viewer.js index b7a0a195a92..226ae69893e 100644 --- a/app/assets/javascripts/blob/notebook_viewer.js +++ b/app/assets/javascripts/blob/notebook_viewer.js @@ -1,3 +1,3 @@ import renderNotebook from './notebook'; -document.addEventListener('DOMContentLoaded', renderNotebook); +export default renderNotebook; diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index 0f1f026dc8b..0574b5b79aa 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -32,6 +32,9 @@ export default class BlobViewer { case 'balsamiq': initViewer(import(/* webpackChunkName: 'balsamiq_viewer' */ '../balsamiq_viewer')); break; + case 'notebook': + initViewer(import(/* webpackChunkName: 'notebook_viewer' */ '../notebook_viewer')); + break; default: break; } -- cgit v1.2.1 From 4e86a7378cd96ffebfb1c128c9fcb614ee479ffe Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 1 Mar 2018 02:02:18 -0600 Subject: migrate pdf_viewer to dynamic import --- app/assets/javascripts/blob/pdf_viewer.js | 2 +- app/assets/javascripts/blob/viewer/index.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'app/assets/javascripts/blob') diff --git a/app/assets/javascripts/blob/pdf_viewer.js b/app/assets/javascripts/blob/pdf_viewer.js index 91abe9dd699..cabbb396ea7 100644 --- a/app/assets/javascripts/blob/pdf_viewer.js +++ b/app/assets/javascripts/blob/pdf_viewer.js @@ -1,3 +1,3 @@ import renderPDF from './pdf'; -document.addEventListener('DOMContentLoaded', renderPDF); +export default renderPDF; diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index 0574b5b79aa..b227cf38920 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -35,6 +35,9 @@ export default class BlobViewer { case 'notebook': initViewer(import(/* webpackChunkName: 'notebook_viewer' */ '../notebook_viewer')); break; + case 'pdf': + initViewer(import(/* webpackChunkName: 'pdf_viewer' */ '../pdf_viewer')); + break; default: break; } -- cgit v1.2.1 From 9d9d0105947e4cc23f150135e0c904d6ad31f315 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 1 Mar 2018 02:11:07 -0600 Subject: migrate sketch_viewer to dynamic import --- app/assets/javascripts/blob/sketch_viewer.js | 4 ++-- app/assets/javascripts/blob/viewer/index.js | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'app/assets/javascripts/blob') diff --git a/app/assets/javascripts/blob/sketch_viewer.js b/app/assets/javascripts/blob/sketch_viewer.js index 0640dd26855..2c1c6339fdb 100644 --- a/app/assets/javascripts/blob/sketch_viewer.js +++ b/app/assets/javascripts/blob/sketch_viewer.js @@ -1,8 +1,8 @@ /* eslint-disable no-new */ import SketchLoader from './sketch'; -document.addEventListener('DOMContentLoaded', () => { +export default () => { const el = document.getElementById('js-sketch-viewer'); new SketchLoader(el); -}); +}; diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index b227cf38920..ac18e6fb9f9 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -38,6 +38,9 @@ export default class BlobViewer { case 'pdf': initViewer(import(/* webpackChunkName: 'pdf_viewer' */ '../pdf_viewer')); break; + case 'sketch': + initViewer(import(/* webpackChunkName: 'sketch_viewer' */ '../sketch_viewer')); + break; default: break; } -- cgit v1.2.1 From ce4dd19e09612dc9347b055190f86d805cdc8ef3 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 1 Mar 2018 02:21:08 -0600 Subject: migrate stl_viewer to dynamic import --- app/assets/javascripts/blob/stl_viewer.js | 4 ++-- app/assets/javascripts/blob/viewer/index.js | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'app/assets/javascripts/blob') diff --git a/app/assets/javascripts/blob/stl_viewer.js b/app/assets/javascripts/blob/stl_viewer.js index f611c4fe640..63236b6477f 100644 --- a/app/assets/javascripts/blob/stl_viewer.js +++ b/app/assets/javascripts/blob/stl_viewer.js @@ -1,6 +1,6 @@ import Renderer from './3d_viewer'; -document.addEventListener('DOMContentLoaded', () => { +export default () => { const viewer = new Renderer(document.getElementById('js-stl-viewer')); [].slice.call(document.querySelectorAll('.js-material-changer')).forEach((el) => { @@ -16,4 +16,4 @@ document.addEventListener('DOMContentLoaded', () => { viewer.changeObjectMaterials(target.dataset.type); }); }); -}); +}; diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index ac18e6fb9f9..92ea91c45a8 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -41,6 +41,9 @@ export default class BlobViewer { case 'sketch': initViewer(import(/* webpackChunkName: 'sketch_viewer' */ '../sketch_viewer')); break; + case 'stl': + initViewer(import(/* webpackChunkName: 'stl_viewer' */ '../stl_viewer')); + break; default: break; } -- cgit v1.2.1