Skip to content

Commit 7ddd16f

Browse files
committed
Stop using global variables in badge.js
Pathway towards making the functions more testable
1 parent f755124 commit 7ddd16f

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

binderhub/static/js/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import 'bootstrap';
1717
import 'event-source-polyfill';
1818

1919
import BinderImage from './src/image';
20-
import { markdownBadge, rstBadge } from './src/badge';
20+
import { makeBadgeMarkup } from './src/badge';
2121
import { getPathType, updatePathText } from './src/path';
2222
import { nextHelpText } from './src/loading';
2323

@@ -135,8 +135,12 @@ function updateUrls(formValues) {
135135
// update URLs and links (badges, etc.)
136136
$("#badge-link").attr('href', url);
137137
$('#basic-url-snippet').text(url);
138-
$('#markdown-badge-snippet').text(markdownBadge(url));
139-
$('#rst-badge-snippet').text(rstBadge(url));
138+
$('#markdown-badge-snippet').text(
139+
makeBadgeMarkup(BADGE_BASE_URL, BASE_URL, url, 'markdown')
140+
);
141+
$('#rst-badge-snippet').text(
142+
makeBadgeMarkup(BADGE_BASE_URL, BASE_URL, url, 'rst')
143+
);
140144
} else {
141145
['#basic-url-snippet', '#markdown-badge-snippet', '#rst-badge-snippet' ].map(function(item){
142146
const el = $(item);

binderhub/static/js/src/badge.js

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
const BASE_URL = $("#base-url").data().url;
2-
const BADGE_BASE_URL = $('#badge-base-url').data().url;
3-
let badge_url;
1+
export function makeBadgeMarkup(badgeBaseUrl, baseUrl, url, syntax) {
2+
let badgeImageUrl;
43

5-
if (BADGE_BASE_URL) {
6-
badge_url = BADGE_BASE_URL + "badge_logo.svg";
7-
}
8-
else {
9-
badge_url = window.location.origin + BASE_URL + "badge_logo.svg";
10-
}
4+
if (badgeBaseUrl) {
5+
badgeImageUrl = badgeBaseUrl + "badge_logo.svg";
6+
} else {
7+
badgeImageUrl = window.location.origin + baseUrl + "badge_logo.svg";
8+
}
119

12-
export function markdownBadge(url) {
13-
// return markdown badge snippet
14-
return "[![Binder](" + badge_url + ")](" + url + ")";
15-
}
10+
if (syntax === 'markdown') {
11+
return "[![Binder](" + badgeImageUrl + ")](" + url + ")";
12+
} else if (syntax === 'rst') {
13+
return ".. image:: " + badgeImageUrl + "\n :target: " + url;
1614

17-
export function rstBadge(url) {
18-
// return rst badge snippet
19-
return ".. image:: " + badge_url + "\n :target: " + url;
15+
}
2016
}

0 commit comments

Comments
 (0)