diff --git a/js/toolbar.js b/js/toolbar.js
index fb6115faa0..1557734eeb 100644
--- a/js/toolbar.js
+++ b/js/toolbar.js
@@ -12,6 +12,9 @@ let WRAP = true;
const $j = jQuery.noConflict();
class Toolbar {
+ /**
+ * @constructor
+ */
constructor() {
this.stopIconColorWhenPlaying = "#ea174c";
this.language = localStorage.languagePreference;
@@ -21,11 +24,15 @@ class Toolbar {
this.tooltipsDisabled = false;
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderLogoIcon(onclick) {
const logoIcon = docById("mb-logo");
if (this.language === "ja") {
- logoIcon.innerHTML =
- '
';
+ logoIcon.innerHTML = '
';
}
logoIcon.onmouseenter = () => {
@@ -41,6 +48,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderPlayIcon(onclick) {
const playIcon = docById("play");
const stopIcon = docById("stop");
@@ -51,6 +63,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderStopIcon(onclick) {
const stopIcon = docById("stop");
@@ -60,6 +77,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderNewProjectIcon(onclick) {
const newProjectIcon = docById("new-project");
@@ -68,6 +90,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderLoadIcon(onclick) {
const loadIcon = docById("load");
@@ -76,7 +103,10 @@ class Toolbar {
};
}
- // let wrapTurtleTooltipData = "Wrap Turtle Off";
+ /**
+ * @public
+ * @returns {void}
+ */
renderWrapIcon() {
const wrapIcon = docById("wrapTurtle");
let wrapButtonTooltipData = "Turtle Wrap Off";
@@ -103,6 +133,19 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} html_onclick
+ * @param {Function} doSVG_onclick
+ * @param {Function} svg_onclick
+ * @param {Function} png_onclick
+ * @param {Function} wave_onclick
+ * @param {Function} ly_onclick
+ * @param {Function} abc_onclick
+ * @param {Function} mxml_onclick
+ * @param {Function} blockartworksvg_onclick
+ * @returns {void}
+ */
renderSaveIcons(
html_onclick,
doSVG_onclick,
@@ -112,7 +155,8 @@ class Toolbar {
ly_onclick,
abc_onclick,
mxml_onclick,
- blockartworksvg_onclick) {
+ blockartworksvg_onclick
+ ) {
const saveButton = docById("saveButton");
const saveButtonAdvanced = docById("saveButtonAdvanced");
let saveHTML;
@@ -136,13 +180,13 @@ class Toolbar {
saveButton.onclick = () => {
//html_onclick();
saveHTML = docById("save-html-beg");
- console.debug(saveHTML);
+ // console.debug(saveHTML);
saveHTML.onclick = () => {
html_onclick();
};
savePNG = docById("save-png-beg");
- console.debug(savePNG);
+ // console.debug(savePNG);
svgData = doSVG_onclick(
canvas,
logo,
@@ -165,12 +209,12 @@ class Toolbar {
};
}
} else {
- console.debug("ADVANCED MODE BUTTONS");
+ // console.debug("ADVANCED MODE BUTTONS");
saveButton.style.display = "none";
saveButtonAdvanced.style.display = "block";
saveButtonAdvanced.onclick = () => {
saveHTML = docById("save-html");
- console.debug(saveHTML);
+ // console.debug(saveHTML);
saveHTML.onclick = () => {
html_onclick();
@@ -178,15 +222,8 @@ class Toolbar {
saveSVG = docById("save-svg");
savePNG = docById("save-png");
- console.debug(savePNG);
- svgData = doSVG_onclick(
- canvas,
- logo,
- turtles,
- canvas.width,
- canvas.height,
- 1.0
- );
+ // console.debug(savePNG);
+ svgData = doSVG_onclick(canvas, logo, turtles, canvas.width, canvas.height, 1.0);
// if there is no mouse artwork to save then grey out
if (svgData == "") {
@@ -241,11 +278,16 @@ class Toolbar {
};
}
}
-
+ /**
+ * @public
+ * @param {} planet
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderPlanetIcon(planet, onclick) {
const planetIcon = docById("planetIcon");
const planetIconDisabled = docById("planetIconDisabled");
-
+ console.log(planet);
if (planet) {
planetIcon.onclick = () => {
docById("toolbars").style.display = "none";
@@ -259,12 +301,16 @@ class Toolbar {
}
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderMenuIcon(onclick) {
const menuIcon = docById("menu");
const auxToolbar = docById("aux-toolbar");
menuIcon.onclick = () => {
- if (auxToolbar.style.display == "" ||
- auxToolbar.style.display == "none") {
+ if (auxToolbar.style.display == "" || auxToolbar.style.display == "none") {
onclick(false);
auxToolbar.style.display = "block";
menuIcon.innerHTML = "more_vert";
@@ -278,6 +324,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderRunSlowlyIcon(onclick) {
const runSlowlyIcon = docById("runSlowlyIcon");
if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && language === "ja") {
@@ -290,6 +341,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderHelpIcon(onclick) {
const helpIcon = docById("helpIcon");
@@ -298,6 +354,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderModeSelectIcon(onclick) {
if (_THIS_IS_MUSIC_BLOCKS_) {
const begIcon = docById("beginnerMode");
@@ -314,6 +375,11 @@ class Toolbar {
}
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderRunSlowlyIcon(onclick) {
const runSlowlyIcon = docById("runSlowlyIcon");
if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") {
@@ -326,6 +392,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderRunStepIcon(onclick) {
const runStepByStepIcon = docById("runStepByStepIcon");
if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") {
@@ -337,13 +408,22 @@ class Toolbar {
docById("stop").style.color = this.stopIconColorWhenPlaying;
};
}
-
+ /**
+ * @public
+ * @param {Function} analytics_onclick
+ * @param {Function} openPlugin_onclick
+ * @param {Function} delPlugin_onclick
+ * @param {Function} setScroller
+ * @param {Function} _setupBlocksContainerEvents
+ * @returns {void}
+ */
renderAdvancedIcons(
analytics_onclick,
openPlugin_onclick,
delPlugin_onclick,
setScroller,
- _setupBlocksContainerEvents) {
+ _setupBlocksContainerEvents
+ ) {
const displayStatsIcon = docById("displayStatsIcon");
const loadPluginIcon = docById("loadPluginIcon");
const delPluginIcon = docById("delPluginIcon");
@@ -380,14 +460,11 @@ class Toolbar {
}
}
- // let scrollEnabled = false;
- // renderEnableHorizScrollIcon(setScroller, _setupBlocksContainerEvents) {
- // let enableHorizScrollIcon = docById('enableHorizScrollIcon');
- // enableHorizScrollIcon.onclick = () => {
- // setScroller();
- // _setupBlocksContainerEvents();
- // }
- // }
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderMergeIcon(onclick) {
const mergeWithCurrentIcon = docById("mergeWithCurrentIcon");
@@ -396,6 +473,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderRestoreIcon(onclick) {
const restoreIcon = docById("restoreIcon");
@@ -404,6 +486,11 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderChooseKeyIcon(onclick) {
const chooseKeyIcon = docById("chooseKeyIcon");
docById("chooseKeyDiv").style.display = "none";
@@ -412,11 +499,20 @@ class Toolbar {
};
}
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
renderJavaScriptIcon(onclick) {
docById("toggleJavaScriptIcon").onclick = () => onclick();
}
+ /**
+ * @param {Object} languageBox
+ */
renderLanguageSelectIcon(languageBox) {
+ console.log(languageBox);
const languageSelectIcon = docById("languageSelectIcon");
languageSelectIcon.onclick = () => {
const enUS = docById("enUS");
@@ -516,8 +612,13 @@ class Toolbar {
};
};
}
-
+ /**
+ * Initializes the toolbar
+ * @param {boolean} mode
+ * @returns {void}
+ */
init(mode) {
+ console.log(mode);
let strings;
let strings_;
if (_THIS_IS_MUSIC_BLOCKS_) {
@@ -556,11 +657,7 @@ class Toolbar {
["save-abc", _("Save sheet music as ABC"), "innerHTML"],
["save-ly", _("Save sheet music as Lilypond"), "innerHTML"],
["save-mxml", _("Save sheet music as MusicXML"), "innerHTML"],
- [
- "save-blockartwork-svg",
- _("Save block artwork as SVG"),
- "innerHTML"
- ],
+ ["save-blockartwork-svg", _("Save block artwork as SVG"), "innerHTML"],
["new-project", _("Confirm"), "innerHTML"],
["enUS", _("English (United States)"), "innerHTML"],
["enUK", _("English (United Kingdom)"), "innerHTML"],
@@ -647,11 +744,7 @@ class Toolbar {
["save-html", _("Save project as HTML"), "innerHTML"],
["save-svg", _("Save mouse artwork as SVG"), "innerHTML"],
["save-png", _("Save mouse artwork as PNG"), "innerHTML"],
- [
- "save-blockartwork-svg",
- _("Save block artwork as SVG"),
- "innerHTML"
- ],
+ ["save-blockartwork-svg", _("Save block artwork as SVG"), "innerHTML"],
["new-project", _("Confirm"), "innerHTML"],
["enUS", _("English (United States)"), "innerHTML"],
["enUK", _("English (United Kingdom)"), "innerHTML"],
@@ -741,12 +834,22 @@ class Toolbar {
belowOrigin: true // Displays dropdown below the button
});
}
-
+ /**
+ * @public
+ * @param {Object} jquery
+ * @returns {void}
+ */
disableTooltips = (jquery) => {
+ console.log(jquery);
jquery(".tooltipped").tooltip("remove");
this.tooltipsDisabled = true;
- }
+ };
+ /**
+ * @public
+ * @param {Function} onclick
+ * @returns {void}
+ */
closeAuxToolbar = (onclick) => {
if (auxToolbar.style.display === "block") {
onclick(false);
@@ -755,5 +858,5 @@ class Toolbar {
menuIcon.innerHTML = "menu";
docById("toggleAuxBtn").className -= "blue darken-1";
}
- }
+ };
}