Skip to content

Commit 02b3bf1

Browse files
committed
Use let instead of var, and camelCase instead of snake
‘let’ has more predictable scoping rules and has been in the spec for over 10 years. camelCase was discussed here: #15
1 parent f94e37a commit 02b3bf1

3 files changed

Lines changed: 36 additions & 38 deletions

File tree

silicon/static/js/edit.js

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
// object for editor state
2-
var editor = {
2+
let editor = {
33
changed: false,
4-
submit_clicked: false,
4+
submitClicked: false,
55
};
66

7-
if (silicon_editor === "codemirror") {
8-
var cm_instance;
9-
}
7+
let codemirrorInstance = null;
108

11-
function usurp_unload(e) {
9+
function usurpUnload(e) {
1210
e.preventDefault();
1311
e.returnValue = "";
1412
}
1513

1614
window.addEventListener("load", function () {
1715
// load CodeMirror instance
18-
if (silicon_editor === "codemirror") {
16+
if (siliconEditor === "codemirror") {
1917
require.config({
20-
baseUrl: js_modules_root,
18+
baseUrl: jsModulesRoot,
2119
});
2220

2321
require([
@@ -37,7 +35,7 @@ window.addEventListener("load", function () {
3735
"addon/display/fullscreen",
3836
"addon/display/panel",
3937
].map((x) => `codemirror/${x}`), function (CodeMirror) {
40-
cm_instance = CodeMirror.fromTextArea(
38+
codemirrorInstance = CodeMirror.fromTextArea(
4139
document.querySelector("#body-text"),
4240
{
4341
mode: {
@@ -76,19 +74,19 @@ window.addEventListener("load", function () {
7674

7775
// don't nag if the Submit button was clicked
7876
document.querySelector("#page-form").onsubmit = function () {
79-
editor.submit_clicked = true;
77+
editor.submitClicked = true;
8078
};
8179

8280
window.addEventListener("beforeunload", function (e) {
83-
if (silicon_editor === "codemirror") {
81+
if (siliconEditor === "codemirror") {
8482
// alert on changed codemirror
85-
if (!cm_instance.isClean() && !editor.submit_clicked) {
86-
usurp_unload(e);
83+
if (!codemirrorInstance.isClean() && !editor.submitClicked) {
84+
usurpUnload(e);
8785
}
8886
} else {
8987
// alert on changed textarea
90-
if (editor.changed && !editor.submit_clicked) {
91-
usurp_unload(e);
88+
if (editor.changed && !editor.submitClicked) {
89+
usurpUnload(e);
9290
}
9391
}
9492
});

silicon/static/js/widgets.js

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88
* `element`: the element in the DOM
99
* `url`: a URL as specified in the element's `data-widget-url` attribute
1010
*/
11-
function get_widget(target) {
12-
const widget_element = document.querySelector(target);
11+
function getWidget(target) {
12+
const widgetElement = document.querySelector(target);
1313

1414
return {
15-
element: widget_element,
16-
url: widget_element.getAttribute("data-widget-url"),
15+
element: widgetElement,
16+
url: widgetElement.getAttribute("data-widget-url"),
1717
};
1818
}
1919

2020
/*
2121
* Set up relation add button event.
2222
*/
23-
function relation_add_button() {
23+
function relationAddButton() {
2424
document
2525
.querySelector("#add-relation-btn")
2626
.addEventListener("click", (event) => {
@@ -31,7 +31,7 @@ function relation_add_button() {
3131
return;
3232
}
3333

34-
const widget = get_widget("#related-links");
34+
const widget = getWidget("#related-links");
3535
fetch(widget.url, {
3636
method: "POST",
3737
body: new URLSearchParams({ relative: relative }),
@@ -49,7 +49,7 @@ function relation_add_button() {
4949
})
5050
.then((html) => {
5151
widget.element.innerHTML = html;
52-
relation_delete_buttons();
52+
relationDeleteButtons();
5353
})
5454
.catch((err) => {
5555
console.error(err);
@@ -60,11 +60,11 @@ function relation_add_button() {
6060
/*
6161
* Set up relation delete button events.
6262
*/
63-
function relation_delete_buttons() {
64-
const del_btns = document.querySelectorAll(".del-relation-btn");
65-
const widget = get_widget("#related-links");
63+
function relationDeleteButtons() {
64+
const deleteButtons = document.querySelectorAll(".del-relation-btn");
65+
const widget = getWidget("#related-links");
6666

67-
del_btns.forEach(function (btn) {
67+
deleteButtons.forEach(function (btn) {
6868
const relative = btn.getAttribute("data-del-relative");
6969
btn.addEventListener("click", (event) => {
7070
const answer = window.confirm(
@@ -79,7 +79,7 @@ function relation_delete_buttons() {
7979
})
8080
.then((html) => {
8181
widget.element.innerHTML = html;
82-
relation_delete_buttons();
82+
relationDeleteButtons();
8383
});
8484
}
8585
});
@@ -89,7 +89,7 @@ function relation_delete_buttons() {
8989
/*
9090
* Set up the table of contents update button.
9191
*/
92-
function toc_update_button() {
92+
function tocUpdateButton() {
9393
if (!document.querySelector("#body-text")) {
9494
// we're not on the edit page, nothing to do
9595
return;
@@ -100,18 +100,18 @@ function toc_update_button() {
100100
document
101101
.querySelector("#update-toc-btn")
102102
.addEventListener("click", (event) => {
103-
const widget = get_widget("#toc");
103+
const widget = getWidget("#toc");
104104
// get the contents of CodeMirror, or the textarea
105-
let body_text;
105+
let bodyText;
106106
if (document.querySelector(".CodeMirror")) {
107-
body_text = document.querySelector(".CodeMirror").CodeMirror.getValue();
107+
bodyText = document.querySelector(".CodeMirror").CodeMirror.getValue();
108108
} else {
109-
body_text = document.querySelector("#body-text").value;
109+
bodyText = document.querySelector("#body-text").value;
110110
}
111111

112112
fetch(widget.url, {
113113
method: "POST",
114-
body: new URLSearchParams({ body: body_text }),
114+
body: new URLSearchParams({ body: bodyText }),
115115
headers: new Headers({
116116
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8",
117117
}),
@@ -137,9 +137,9 @@ function toc_update_button() {
137137
* Set up all the page events.
138138
*/
139139
window.addEventListener("load", function () {
140-
relation_add_button();
141-
relation_delete_buttons();
142-
toc_update_button();
140+
relationAddButton();
141+
relationDeleteButtons();
142+
tocUpdateButton();
143143

144144
const editor = document.querySelector("#body-text");
145145
if (editor) {

silicon/templates/edit.html.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
<script src="{{ url_for('static', filename='node_modules/requirejs/require.js') }}" defer></script>
1717
{% endif %}
1818
<script type="text/javascript">
19-
const js_modules_root = "{{ url_for('static', filename='node_modules') }}";
20-
const silicon_editor = "{{ config.SILICON_EDITOR }}";
19+
const jsModulesRoot = "{{ url_for('static', filename='node_modules') }}";
20+
const siliconEditor = "{{ config.SILICON_EDITOR }}";
2121
</script>
2222
<script src="{{ url_for('static', filename='js/widgets.js') }}" defer></script>
2323
<script src="{{ url_for('static', filename='js/edit.js') }}" defer></script>

0 commit comments

Comments
 (0)