From e0abb91fbc02e361071cec7443e2b70e49901df5 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Wed, 10 May 2017 13:43:31 +0100 Subject: Moved endpoint to be passed to loadFile and simplified $.ready syntax --- app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js | 9 +++++---- app/assets/javascripts/blob/balsamiq_viewer.js | 8 ++++---- spec/javascripts/blob/balsamiq/balsamiq_viewer_spec.js | 13 +++---------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js index 4d72e36279b..7db33612416 100644 --- a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js +++ b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js @@ -13,15 +13,16 @@ const PREVIEW_TEMPLATE = _template(` `); class BalsamiqViewer { - constructor(viewer, endpoint) { + constructor(viewer) { this.viewer = viewer; - this.endpoint = endpoint; } - loadFile() { + loadFile(endpoint) { + if (!endpoint) return; + const xhr = new XMLHttpRequest(); - xhr.open('GET', this.endpoint, true); + xhr.open('GET', endpoint, true); xhr.responseType = 'arraybuffer'; xhr.onload = this.renderFile.bind(this); diff --git a/app/assets/javascripts/blob/balsamiq_viewer.js b/app/assets/javascripts/blob/balsamiq_viewer.js index 8030897cb94..f2969380be9 100644 --- a/app/assets/javascripts/blob/balsamiq_viewer.js +++ b/app/assets/javascripts/blob/balsamiq_viewer.js @@ -3,12 +3,12 @@ import BalsamiqViewer from './balsamiq/balsamiq_viewer'; function loadBalsamiqViewer() { const viewer = document.getElementById('js-balsamiq-viewer'); - if (!(viewer instanceof Element) || !viewer.dataset.endpoint) return; + if (!(viewer instanceof Element)) return; const endpoint = viewer.dataset.endpoint; - const balsamiqViewer = new BalsamiqViewer(viewer, endpoint); - balsamiqViewer.loadFile(); + const balsamiqViewer = new BalsamiqViewer(viewer); + balsamiqViewer.loadFile(endpoint); } -$(document).ready(loadBalsamiqViewer); +$(loadBalsamiqViewer); diff --git a/spec/javascripts/blob/balsamiq/balsamiq_viewer_spec.js b/spec/javascripts/blob/balsamiq/balsamiq_viewer_spec.js index 5b60719396b..cf7fb8cf4ca 100644 --- a/spec/javascripts/blob/balsamiq/balsamiq_viewer_spec.js +++ b/spec/javascripts/blob/balsamiq/balsamiq_viewer_spec.js @@ -4,39 +4,32 @@ import ClassSpecHelper from '../../helpers/class_spec_helper'; describe('BalsamiqViewer', () => { let balsamiqViewer; - let endpoint; let viewer; describe('class constructor', () => { beforeEach(() => { - endpoint = 'endpoint'; viewer = {}; - balsamiqViewer = new BalsamiqViewer(viewer, endpoint); + balsamiqViewer = new BalsamiqViewer(viewer); }); it('should set .viewer', () => { expect(balsamiqViewer.viewer).toBe(viewer); }); - - it('should set .endpoint', () => { - expect(balsamiqViewer.endpoint).toBe(endpoint); - }); }); describe('loadFile', () => { + const endpoint = 'endpoint'; let xhr; beforeEach(() => { - endpoint = 'endpoint'; xhr = jasmine.createSpyObj('xhr', ['open', 'send']); balsamiqViewer = jasmine.createSpyObj('balsamiqViewer', ['renderFile']); - balsamiqViewer.endpoint = endpoint; spyOn(window, 'XMLHttpRequest').and.returnValue(xhr); - BalsamiqViewer.prototype.loadFile.call(balsamiqViewer); + BalsamiqViewer.prototype.loadFile.call(balsamiqViewer, endpoint); }); it('should call .open', () => { -- cgit v1.2.1