summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-11 11:28:17 +0100
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-11 11:28:17 +0100
commit897d8d547c5888bc63d3c3ecc0d0dd971d70e6c0 (patch)
tree3b45a0ae3c5cf504f0e4e3716cf8bdf05748a34b /app/assets/javascripts/blob
parentb72e18b04fb6a054368a065c4c612505e842b526 (diff)
downloadgitlab-ce-897d8d547c5888bc63d3c3ecc0d0dd971d70e6c0.tar.gz
Further review changes
Diffstat (limited to 'app/assets/javascripts/blob')
-rw-r--r--app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js28
1 files changed, 19 insertions, 9 deletions
diff --git a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js
index d0c161f2aad..3885b0f43b2 100644
--- a/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js
+++ b/app/assets/javascripts/blob/balsamiq/balsamiq_viewer.js
@@ -1,6 +1,7 @@
/* global Flash */
import sqljs from 'sql.js';
+import _ from 'underscore';
import Spinner from '../../spinner';
class BalsamiqViewer {
@@ -52,6 +53,10 @@ class BalsamiqViewer {
return thumbnails[0].values.map(BalsamiqViewer.parsePreview);
}
+ getTitle(resourceID) {
+ return this.database.exec(`SELECT * FROM resources WHERE id = '${resourceID}'`);
+ }
+
renderPreview(preview) {
const previewElement = document.createElement('li');
@@ -62,13 +67,14 @@ class BalsamiqViewer {
}
renderTemplate(preview) {
- let template = BalsamiqViewer.PREVIEW_TEMPLATE;
-
- const title = this.database.exec(`SELECT * FROM resources WHERE id = '${preview.resourceID}'`);
- const name = JSON.parse(title[0].values[0][2]).name;
+ const title = this.getTitle(preview.resourceID);
+ const name = BalsamiqViewer.parseTitle(title);
const image = preview.image;
- template = template.replace(/{{name}}/g, name).replace(/{{image}}/g, image);
+ const template = BalsamiqViewer.PREVIEW_TEMPLATE({
+ name,
+ image,
+ });
return template;
}
@@ -77,6 +83,10 @@ class BalsamiqViewer {
return JSON.parse(preview[1]);
}
+ static parseTitle(title) {
+ return JSON.parse(title[0].values[0][2]).name;
+ }
+
static onError() {
const flash = new Flash('Balsamiq file could not be loaded.');
@@ -84,13 +94,13 @@ class BalsamiqViewer {
}
}
-BalsamiqViewer.PREVIEW_TEMPLATE = `
+BalsamiqViewer.PREVIEW_TEMPLATE = _.template(`
<div class="panel panel-default">
- <div class="panel-heading">{{name}}</div>
+ <div class="panel-heading"><%- name %></div>
<div class="panel-body">
- <img class="img-thumbnail" src="data:image/png;base64,{{image}}"/>
+ <img class="img-thumbnail" src="data:image/png;base64,<%- image %>"/>
</div>
</div>
-`;
+`);
export default BalsamiqViewer;