From 42f048f0d2a40efb76ef733101f0c650d1cc5f81 Mon Sep 17 00:00:00 2001 From: Daksh Doshi Date: Fri, 5 Feb 2021 14:56:55 +0530 Subject: [PATCH 1/6] Pretiffy toolbar.js --- js/toolbar.js | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/js/toolbar.js b/js/toolbar.js index fb6115faa0..de1befa7ef 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -24,8 +24,7 @@ class Toolbar { renderLogoIcon(onclick) { const logoIcon = docById("mb-logo"); if (this.language === "ja") { - logoIcon.innerHTML = - ''; + logoIcon.innerHTML = ''; } logoIcon.onmouseenter = () => { @@ -112,7 +111,8 @@ class Toolbar { ly_onclick, abc_onclick, mxml_onclick, - blockartworksvg_onclick) { + blockartworksvg_onclick + ) { const saveButton = docById("saveButton"); const saveButtonAdvanced = docById("saveButtonAdvanced"); let saveHTML; @@ -179,14 +179,7 @@ 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 - ); + 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 == "") { @@ -263,8 +256,7 @@ class Toolbar { 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"; @@ -343,7 +335,8 @@ class Toolbar { openPlugin_onclick, delPlugin_onclick, setScroller, - _setupBlocksContainerEvents) { + _setupBlocksContainerEvents + ) { const displayStatsIcon = docById("displayStatsIcon"); const loadPluginIcon = docById("loadPluginIcon"); const delPluginIcon = docById("delPluginIcon"); @@ -556,11 +549,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 +636,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"], @@ -745,7 +730,7 @@ class Toolbar { disableTooltips = (jquery) => { jquery(".tooltipped").tooltip("remove"); this.tooltipsDisabled = true; - } + }; closeAuxToolbar = (onclick) => { if (auxToolbar.style.display === "block") { @@ -755,5 +740,5 @@ class Toolbar { menuIcon.innerHTML = "menu"; docById("toggleAuxBtn").className -= "blue darken-1"; } - } + }; } From e71370731ea6c321fb423efa3569f4303775ce31 Mon Sep 17 00:00:00 2001 From: Daksh Doshi Date: Fri, 5 Feb 2021 15:04:06 +0530 Subject: [PATCH 2/6] Removed debug logs --- js/toolbar.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/js/toolbar.js b/js/toolbar.js index de1befa7ef..e22871011c 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -136,13 +136,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 +165,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,7 +178,7 @@ class Toolbar { saveSVG = docById("save-svg"); savePNG = docById("save-png"); - console.debug(savePNG); + // 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 From 219ac711c1b9d0764497e08251e08474a6c7ae47 Mon Sep 17 00:00:00 2001 From: Daksh Doshi Date: Fri, 5 Feb 2021 15:26:36 +0530 Subject: [PATCH 3/6] Linting toolbar.js --- js/toolbar.js | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/js/toolbar.js b/js/toolbar.js index e22871011c..cc98dd0586 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -8,6 +8,9 @@ // You should have received a copy of the GNU Affero General Public // License along with this library; if not, write to the Free Software // Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA + +/* global _,jQuery,_THIS_IS_MUSIC_BLOCKS_,docById,canvas,logo,turtles,beginnerMode,language,stopIconColorWhenPlaying,auxToolbar,localStorage,navigator,document */ + let WRAP = true; const $j = jQuery.noConflict(); @@ -272,13 +275,13 @@ class Toolbar { renderRunSlowlyIcon(onclick) { const runSlowlyIcon = docById("runSlowlyIcon"); - if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && language === "ja") { + if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") { runSlowlyIcon.style.display = "none"; } runSlowlyIcon.onclick = () => { onclick(); - docById("stop").style.color = stopIconColorWhenPlaying; + docById("stop").style.color = this.stopIconColorWhenPlaying; }; } @@ -306,18 +309,6 @@ class Toolbar { } } - renderRunSlowlyIcon(onclick) { - const runSlowlyIcon = docById("runSlowlyIcon"); - if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") { - runSlowlyIcon.style.display = "none"; - } - - runSlowlyIcon.onclick = () => { - onclick(); - docById("stop").style.color = this.stopIconColorWhenPlaying; - }; - } - renderRunStepIcon(onclick) { const runStepByStepIcon = docById("runStepByStepIcon"); if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") { From 8661985a38e0d874dad702a472a17a48c6c4dbbc Mon Sep 17 00:00:00 2001 From: Daksh Doshi Date: Fri, 5 Feb 2021 15:29:12 +0530 Subject: [PATCH 4/6] Fix error --- js/toolbar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/toolbar.js b/js/toolbar.js index cc98dd0586..c318a7707a 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -9,7 +9,7 @@ // License along with this library; if not, write to the Free Software // Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA -/* global _,jQuery,_THIS_IS_MUSIC_BLOCKS_,docById,canvas,logo,turtles,beginnerMode,language,stopIconColorWhenPlaying,auxToolbar,localStorage,navigator,document */ +/* global _,jQuery,_THIS_IS_MUSIC_BLOCKS_,docById,canvas,logo,turtles,beginnerMode,language,stopIconColorWhenPlaying,auxToolbar */ let WRAP = true; const $j = jQuery.noConflict(); From 6c15bfcdbed7924362a24e04d1cd2398324d154c Mon Sep 17 00:00:00 2001 From: Daksh Doshi Date: Fri, 5 Feb 2021 15:42:00 +0530 Subject: [PATCH 5/6] Add JSDoc documentation --- js/toolbar.js | 572 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 344 insertions(+), 228 deletions(-) diff --git a/js/toolbar.js b/js/toolbar.js index c318a7707a..17b5b8ab92 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -15,6 +15,10 @@ let WRAP = true; const $j = jQuery.noConflict(); class Toolbar { + + /** + * @constructor + */ constructor() { this.stopIconColorWhenPlaying = "#ea174c"; this.language = localStorage.languagePreference; @@ -24,6 +28,233 @@ class Toolbar { this.tooltipsDisabled = false; } + /** + * Initializes the toolbar + * @param {boolean} mode + * @returns {void} + */ + init(mode) { + let strings; + let strings_; + if (_THIS_IS_MUSIC_BLOCKS_) { + strings = [ + ["mb-logo", _("About Music Blocks")], + ["play", _("Play")], + ["stop", _("Stop")], + ["newFile", _("New project")], + ["load", _("Load project from file")], + ["saveButton", _("Save project")], + ["saveButtonAdvanced", _("Save project as HTML")], + ["planetIcon", _("Find and share projects")], + ["planetIconDisabled", _("Offline. Sharing is unavailable")], + ["toggleAuxBtn", _("Auxilary menu")], + ["helpIcon", _("Help")], + ["runSlowlyIcon", _("Run slowly")], + ["runStepByStepIcon", _("Run step by step")], + ["displayStatsIcon", _("Display statistics")], + ["loadPluginIcon", _("Load plugin")], + ["delPluginIcon", _("Delete plugin")], + ["enableHorizScrollIcon", _("Enable horizontal scrolling")], + ["disableHorizScrollIcon", _("Disable horizontal scrolling")], + ["mergeWithCurrentIcon", _("Merge with current project")], + ["chooseKeyIcon", _("Set Pitch Preview")], + ["toggleJavaScriptIcon", _("Toggle JavaScript Editor")], + ["restoreIcon", _("Restore")], + ["beginnerMode", _("Switch to beginner mode")], + ["advancedMode", _("Switch to advanced mode")], + ["languageSelectIcon", _("Select language")], + ["save-html-beg", _("Save project as HTML"), "innerHTML"], + ["save-png-beg", _("Save mouse artwork as PNG"), "innerHTML"], + ["save-html", _("Save project as HTML"), "innerHTML"], + ["save-svg", _("Save mouse artwork as SVG"), "innerHTML"], + ["save-png", _("Save mouse artwork as PNG"), "innerHTML"], + ["save-wav", _("Save music as WAV"), "innerHTML"], + ["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"], + ["new-project", _("Confirm"), "innerHTML"], + ["enUS", _("English (United States)"), "innerHTML"], + ["enUK", _("English (United Kingdom)"), "innerHTML"], + ["ja", _("日本語"), "innerHTML"], + ["ko", _("한국어"), "innerHTML"], + ["es", _("español"), "innerHTML"], + ["pt", _("português"), "innerHTML"], + ["kana", _("にほんご"), "innerHTML"], + ["zhCN", _("中文"), "innerHTML"], + ["th", _("ภาษาไทย"), "innerHTML"], + ["ayc", _("aymara"), "innerHTML"], + ["quz", _("quechua"), "innerHTML"], + ["gug", _("guarani"), "innerHTML"], + ["hi", _("हिंदी"), "innerHTML"], + ["ibo", _("igbo"), "innerHTML"], + ["ar", _("عربى"), "innerHTML"], + ["he", _("עִברִית"), "innerHTML"] + ]; + + // Workaround for FF + strings_ = [ + _("About Music Blocks"), + _("Play"), + _("Stop"), + _("New project"), + _("Load project from file"), + _("Save project"), + _("Save project"), + _("Find and share projects"), + _("Offline. Sharing is unavailable"), + _("Auxilary menu"), + _("Help"), + _("Run slowly"), + _("Run step by step"), + _("Display statistics"), + _("Load plugin"), + _("Delete plugin"), + _("Enable horizontal scrolling"), + _("Disable horizontal scrolling"), + _("Merge with current project"), + _("Set Pitch Preview"), + _("Toggle JavaScript Editor"), + _("Restore"), + _("Switch to beginner mode"), + _("Switch to advanced mode"), + _("Select language"), + _("Save project as HTML"), + _("Save mouse artwork as SVG"), + _("Save mouse artwork as PNG"), + _("Save music as WAV"), + _("Save sheet music as ABC"), + _("Save sheet music as Lilypond"), + _("Save block artwork as SVG"), + _("Confirm"), + _("Select language") + ]; + } else { + strings = [ + ["mb-logo", _("About Turtle Blocks")], + ["play", _("Play")], + ["stop", _("Stop")], + ["newFile", _("New project")], + ["load", _("Load project from file")], + ["saveButton", _("Save project")], + ["saveButtonAdvanced", _("Save project as HTML")], + ["planetIcon", _("Find and share projects")], + ["planetIconDisabled", _("Offline. Sharing is unavailable")], + ["toggleAuxBtn", _("Auxilary menu")], + ["helpIcon", _("Help")], + ["runSlowlyIcon", _("Run slowly")], + ["runStepByStepIcon", _("Run step by step")], + ["displayStatsIcon", _("Display statistics")], + ["loadPluginIcon", _("Load plugin")], + ["delPluginIcon", _("Delete plugin")], + ["enableHorizScrollIcon", _("Enable horizontal scrolling")], + ["disableHorizScrollIcon", _("Disable horizontal scrolling")], + ["mergeWithCurrentIcon", _("Merge with current project")], + ["chooseKeyIcon", _("Set Pitch Preview")], + ["toggleJavaScriptIcon", _("Toggle JavaScript Editor")], + ["restoreIcon", _("Restore")], + ["languageSelectIcon", _("Select language")], + ["save-html-beg", _("Save project as HTML"), "innerHTML"], + ["save-png-beg", _("Save mouse artwork as PNG"), "innerHTML"], + ["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"], + ["new-project", _("Confirm"), "innerHTML"], + ["enUS", _("English (United States)"), "innerHTML"], + ["enUK", _("English (United Kingdom)"), "innerHTML"], + ["ja", _("日本語"), "innerHTML"], + ["ko", _("한국인"), "innerHTML"], + ["es", _("español"), "innerHTML"], + ["pt", _("português"), "innerHTML"], + ["kana", _("にほんご"), "innerHTML"], + ["zhCN", _("中文"), "innerHTML"], + ["th", _("ภาษาไทย"), "innerHTML"], + ["ayc", _("aymara"), "innerHTML"], + ["quz", _("quechua"), "innerHTML"], + ["gug", _("guarani"), "innerHTML"], + ["hi", _("हिंदी"), "innerHTML"], + ["ibo", _("igbo"), "innerHTML"], + ["ar", _("عربى"), "innerHTML"], + ["he", _("עִברִית"), "innerHTML"] + ]; + + // Workaround for FF + strings_ = [ + _("About Turtle Blocks"), + _("Play"), + _("Stop"), + _("New project"), + _("Load project from file"), + _("Save project"), + _("Save project"), + _("Find and share projects"), + _("Offline. Sharing is unavailable"), + _("Auxilary menu"), + _("Help"), + _("Run slowly"), + _("Run step by step"), + _("Display statistics"), + _("Load plugin"), + _("Delete plugin"), + _("Enable horizontal scrolling"), + _("Disable horizontal scrolling"), + _("Merge with current project"), + _("Set Pitch Preview"), + _("Toggle JavaScript Editor"), + _("Restore"), + _("Select language"), + _("Save project as HTML"), + _("Save turtle artwork as SVG"), + _("Save turtle artwork as PNG"), + _("Save block artwork as SVG"), + _("Confirm"), + _("Select language") + ]; + } + + if (_THIS_IS_MUSIC_BLOCKS_) { + const beginnerMode = docById("beginnerMode"); + const advancedMode = docById("advancedMode"); + if (mode || mode === "null") { + advancedMode.style.display = "block"; + beginnerMode.style.display = "none"; + } else { + advancedMode.style.display = "none"; + beginnerMode.style.display = "display"; + } + } + + for (let i = 0; i < strings.length; i++) { + const obj = strings[i]; + const trans = strings_[i]; + const elem = docById(obj[0]); + if (strings[i].length === 3) { + elem.innerHTML = obj[1]; + } else { + elem.setAttribute("data-tooltip", trans); + } + } + + if (!this.tooltipsDisabled) { + $j(".tooltipped").tooltip({ + html: true, + delay: 100 + }); + } + + $j(".materialize-iso, .dropdown-trigger").dropdown({ + constrainWidth: false, + hover: false, + belowOrigin: true // Displays dropdown below the button + }); + } + + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderLogoIcon(onclick) { const logoIcon = docById("mb-logo"); if (this.language === "ja") { @@ -43,6 +274,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderPlayIcon(onclick) { const playIcon = docById("play"); const stopIcon = docById("stop"); @@ -53,6 +289,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderStopIcon(onclick) { const stopIcon = docById("stop"); @@ -62,6 +303,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderNewProjectIcon(onclick) { const newProjectIcon = docById("new-project"); @@ -70,6 +316,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderLoadIcon(onclick) { const loadIcon = docById("load"); @@ -78,7 +329,11 @@ class Toolbar { }; } - // let wrapTurtleTooltipData = "Wrap Turtle Off"; + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderWrapIcon() { const wrapIcon = docById("wrapTurtle"); let wrapButtonTooltipData = "Turtle Wrap Off"; @@ -105,6 +360,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, @@ -238,10 +506,15 @@ class Toolbar { } } + /** + * @public + * @param {Object} planet + * @param {Function} onclick + * @returns {void} + */ renderPlanetIcon(planet, onclick) { const planetIcon = docById("planetIcon"); const planetIconDisabled = docById("planetIconDisabled"); - if (planet) { planetIcon.onclick = () => { docById("toolbars").style.display = "none"; @@ -255,6 +528,11 @@ class Toolbar { } } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderMenuIcon(onclick) { const menuIcon = docById("menu"); const auxToolbar = docById("aux-toolbar"); @@ -273,6 +551,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderRunSlowlyIcon(onclick) { const runSlowlyIcon = docById("runSlowlyIcon"); if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") { @@ -285,6 +568,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderHelpIcon(onclick) { const helpIcon = docById("helpIcon"); @@ -293,6 +581,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderModeSelectIcon(onclick) { if (_THIS_IS_MUSIC_BLOCKS_) { const begIcon = docById("beginnerMode"); @@ -309,6 +602,11 @@ class Toolbar { } } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderRunStepIcon(onclick) { const runStepByStepIcon = docById("runStepByStepIcon"); if (_THIS_IS_MUSIC_BLOCKS_ && beginnerMode && this.language === "ja") { @@ -320,7 +618,15 @@ 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, @@ -364,14 +670,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"); @@ -380,6 +683,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderRestoreIcon(onclick) { const restoreIcon = docById("restoreIcon"); @@ -388,6 +696,11 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderChooseKeyIcon(onclick) { const chooseKeyIcon = docById("chooseKeyIcon"); docById("chooseKeyDiv").style.display = "none"; @@ -396,10 +709,20 @@ class Toolbar { }; } + /** + * @public + * @param {Function} onclick + * @returns {void} + */ renderJavaScriptIcon(onclick) { docById("toggleJavaScriptIcon").onclick = () => onclick(); } + /** + * @public + * @param {Object} languageBox + * @returns {void} + */ renderLanguageSelectIcon(languageBox) { const languageSelectIcon = docById("languageSelectIcon"); languageSelectIcon.onclick = () => { @@ -501,228 +824,21 @@ class Toolbar { }; } - init(mode) { - let strings; - let strings_; - if (_THIS_IS_MUSIC_BLOCKS_) { - strings = [ - ["mb-logo", _("About Music Blocks")], - ["play", _("Play")], - ["stop", _("Stop")], - ["newFile", _("New project")], - ["load", _("Load project from file")], - ["saveButton", _("Save project")], - ["saveButtonAdvanced", _("Save project as HTML")], - ["planetIcon", _("Find and share projects")], - ["planetIconDisabled", _("Offline. Sharing is unavailable")], - ["toggleAuxBtn", _("Auxilary menu")], - ["helpIcon", _("Help")], - ["runSlowlyIcon", _("Run slowly")], - ["runStepByStepIcon", _("Run step by step")], - ["displayStatsIcon", _("Display statistics")], - ["loadPluginIcon", _("Load plugin")], - ["delPluginIcon", _("Delete plugin")], - ["enableHorizScrollIcon", _("Enable horizontal scrolling")], - ["disableHorizScrollIcon", _("Disable horizontal scrolling")], - ["mergeWithCurrentIcon", _("Merge with current project")], - ["chooseKeyIcon", _("Set Pitch Preview")], - ["toggleJavaScriptIcon", _("Toggle JavaScript Editor")], - ["restoreIcon", _("Restore")], - ["beginnerMode", _("Switch to beginner mode")], - ["advancedMode", _("Switch to advanced mode")], - ["languageSelectIcon", _("Select language")], - ["save-html-beg", _("Save project as HTML"), "innerHTML"], - ["save-png-beg", _("Save mouse artwork as PNG"), "innerHTML"], - ["save-html", _("Save project as HTML"), "innerHTML"], - ["save-svg", _("Save mouse artwork as SVG"), "innerHTML"], - ["save-png", _("Save mouse artwork as PNG"), "innerHTML"], - ["save-wav", _("Save music as WAV"), "innerHTML"], - ["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"], - ["new-project", _("Confirm"), "innerHTML"], - ["enUS", _("English (United States)"), "innerHTML"], - ["enUK", _("English (United Kingdom)"), "innerHTML"], - ["ja", _("日本語"), "innerHTML"], - ["ko", _("한국어"), "innerHTML"], - ["es", _("español"), "innerHTML"], - ["pt", _("português"), "innerHTML"], - ["kana", _("にほんご"), "innerHTML"], - ["zhCN", _("中文"), "innerHTML"], - ["th", _("ภาษาไทย"), "innerHTML"], - ["ayc", _("aymara"), "innerHTML"], - ["quz", _("quechua"), "innerHTML"], - ["gug", _("guarani"), "innerHTML"], - ["hi", _("हिंदी"), "innerHTML"], - ["ibo", _("igbo"), "innerHTML"], - ["ar", _("عربى"), "innerHTML"], - ["he", _("עִברִית"), "innerHTML"] - ]; - - // Workaround for FF - strings_ = [ - _("About Music Blocks"), - _("Play"), - _("Stop"), - _("New project"), - _("Load project from file"), - _("Save project"), - _("Save project"), - _("Find and share projects"), - _("Offline. Sharing is unavailable"), - _("Auxilary menu"), - _("Help"), - _("Run slowly"), - _("Run step by step"), - _("Display statistics"), - _("Load plugin"), - _("Delete plugin"), - _("Enable horizontal scrolling"), - _("Disable horizontal scrolling"), - _("Merge with current project"), - _("Set Pitch Preview"), - _("Toggle JavaScript Editor"), - _("Restore"), - _("Switch to beginner mode"), - _("Switch to advanced mode"), - _("Select language"), - _("Save project as HTML"), - _("Save mouse artwork as SVG"), - _("Save mouse artwork as PNG"), - _("Save music as WAV"), - _("Save sheet music as ABC"), - _("Save sheet music as Lilypond"), - _("Save block artwork as SVG"), - _("Confirm"), - _("Select language") - ]; - } else { - strings = [ - ["mb-logo", _("About Turtle Blocks")], - ["play", _("Play")], - ["stop", _("Stop")], - ["newFile", _("New project")], - ["load", _("Load project from file")], - ["saveButton", _("Save project")], - ["saveButtonAdvanced", _("Save project as HTML")], - ["planetIcon", _("Find and share projects")], - ["planetIconDisabled", _("Offline. Sharing is unavailable")], - ["toggleAuxBtn", _("Auxilary menu")], - ["helpIcon", _("Help")], - ["runSlowlyIcon", _("Run slowly")], - ["runStepByStepIcon", _("Run step by step")], - ["displayStatsIcon", _("Display statistics")], - ["loadPluginIcon", _("Load plugin")], - ["delPluginIcon", _("Delete plugin")], - ["enableHorizScrollIcon", _("Enable horizontal scrolling")], - ["disableHorizScrollIcon", _("Disable horizontal scrolling")], - ["mergeWithCurrentIcon", _("Merge with current project")], - ["chooseKeyIcon", _("Set Pitch Preview")], - ["toggleJavaScriptIcon", _("Toggle JavaScript Editor")], - ["restoreIcon", _("Restore")], - ["languageSelectIcon", _("Select language")], - ["save-html-beg", _("Save project as HTML"), "innerHTML"], - ["save-png-beg", _("Save mouse artwork as PNG"), "innerHTML"], - ["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"], - ["new-project", _("Confirm"), "innerHTML"], - ["enUS", _("English (United States)"), "innerHTML"], - ["enUK", _("English (United Kingdom)"), "innerHTML"], - ["ja", _("日本語"), "innerHTML"], - ["ko", _("한국인"), "innerHTML"], - ["es", _("español"), "innerHTML"], - ["pt", _("português"), "innerHTML"], - ["kana", _("にほんご"), "innerHTML"], - ["zhCN", _("中文"), "innerHTML"], - ["th", _("ภาษาไทย"), "innerHTML"], - ["ayc", _("aymara"), "innerHTML"], - ["quz", _("quechua"), "innerHTML"], - ["gug", _("guarani"), "innerHTML"], - ["hi", _("हिंदी"), "innerHTML"], - ["ibo", _("igbo"), "innerHTML"], - ["ar", _("عربى"), "innerHTML"], - ["he", _("עִברִית"), "innerHTML"] - ]; - - // Workaround for FF - strings_ = [ - _("About Turtle Blocks"), - _("Play"), - _("Stop"), - _("New project"), - _("Load project from file"), - _("Save project"), - _("Save project"), - _("Find and share projects"), - _("Offline. Sharing is unavailable"), - _("Auxilary menu"), - _("Help"), - _("Run slowly"), - _("Run step by step"), - _("Display statistics"), - _("Load plugin"), - _("Delete plugin"), - _("Enable horizontal scrolling"), - _("Disable horizontal scrolling"), - _("Merge with current project"), - _("Set Pitch Preview"), - _("Toggle JavaScript Editor"), - _("Restore"), - _("Select language"), - _("Save project as HTML"), - _("Save turtle artwork as SVG"), - _("Save turtle artwork as PNG"), - _("Save block artwork as SVG"), - _("Confirm"), - _("Select language") - ]; - } - - if (_THIS_IS_MUSIC_BLOCKS_) { - const beginnerMode = docById("beginnerMode"); - const advancedMode = docById("advancedMode"); - if (mode || mode === "null") { - advancedMode.style.display = "block"; - beginnerMode.style.display = "none"; - } else { - advancedMode.style.display = "none"; - beginnerMode.style.display = "display"; - } - } - - for (let i = 0; i < strings.length; i++) { - const obj = strings[i]; - const trans = strings_[i]; - const elem = docById(obj[0]); - if (strings[i].length === 3) { - elem.innerHTML = obj[1]; - } else { - elem.setAttribute("data-tooltip", trans); - } - } - - if (!this.tooltipsDisabled) { - $j(".tooltipped").tooltip({ - html: true, - delay: 100 - }); - } - - $j(".materialize-iso, .dropdown-trigger").dropdown({ - constrainWidth: false, - hover: false, - belowOrigin: true // Displays dropdown below the button - }); - } - + /** + * @public + * @param {Object} jquery + * @returns {void} + */ disableTooltips = (jquery) => { jquery(".tooltipped").tooltip("remove"); this.tooltipsDisabled = true; }; + /** + * @public + * @param {Function} onclick + * @returns {void} + */ closeAuxToolbar = (onclick) => { if (auxToolbar.style.display === "block") { onclick(false); From 30d8abb5f4730d3483391c570828f35005b8369c Mon Sep 17 00:00:00 2001 From: Anindya Kundu Date: Fri, 5 Feb 2021 20:19:14 +0530 Subject: [PATCH 6/6] Fix remaining linting problems --- js/toolbar.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/js/toolbar.js b/js/toolbar.js index 17b5b8ab92..37a19335b9 100644 --- a/js/toolbar.js +++ b/js/toolbar.js @@ -9,13 +9,17 @@ // License along with this library; if not, write to the Free Software // Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA -/* global _,jQuery,_THIS_IS_MUSIC_BLOCKS_,docById,canvas,logo,turtles,beginnerMode,language,stopIconColorWhenPlaying,auxToolbar */ +/* + global _, jQuery, _THIS_IS_MUSIC_BLOCKS_, docById, canvas, logo, turtles, beginnerMode, + auxToolbar + */ + +/* exported Toolbar */ let WRAP = true; const $j = jQuery.noConflict(); class Toolbar { - /** * @constructor */ @@ -360,7 +364,7 @@ class Toolbar { }; } - /** + /** * @public * @param {Function} html_onclick * @param {Function} doSVG_onclick