From 05056d5868a1f910fdca8caf3a06e0456b51d6b8 Mon Sep 17 00:00:00 2001 From: myadzel Date: Tue, 10 Nov 2015 16:12:41 +0300 Subject: [PATCH 1/3] provide show/hide functionality for tooltip message element --- index.js | 6 +++--- lib/ui-controller.js | 46 ++++++++++++++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/index.js b/index.js index 74ea608..dac1770 100644 --- a/index.js +++ b/index.js @@ -121,7 +121,7 @@ function initialize () { newGistId = newGist.user.login + '/' + newGistId } ui.$spinner.hide() - if (err) ui.tooltipMessage('error', err.toString()) + if (err) ui.showTooltipMessage('error', err.toString()) if (newGistId) window.location.href = '/?gist=' + newGistId }) }) @@ -131,7 +131,7 @@ function initialize () { // if gistID is not set, fallback to specific queryParams, local storage githubGist.getCode(gistID, function (err, code) { ui.$spinner.hide() - if (err) return ui.tooltipMessage('error', JSON.stringify(err)) + if (err) return ui.showTooltipMessage('error', JSON.stringify(err)) editors.init(code) editors.setActive('bundle') @@ -220,7 +220,7 @@ function initialize () { sandbox.on('bundleError', function (err) { ui.$spinner.hide() - ui.tooltipMessage('error', 'Bundling error: \n\n' + err) + ui.showTooltipMessage('error', 'Bundling error: \n\n' + err) }) if (parsedURL.query.save) return diff --git a/lib/ui-controller.js b/lib/ui-controller.js index 99ba381..77666cf 100644 --- a/lib/ui-controller.js +++ b/lib/ui-controller.js @@ -23,31 +23,49 @@ var controls = { markdownBadgeTextarea.value = '[![view on requirebin](' + window.location.origin + '/badge.png)](' + window.location.origin + '/?gist=' + gistID + ')' }, /** - * display error/warning messages in the site header - * cssClass should be a default bootstrap class - * @param {String} cssClass warning|alert|info|success - * @param text message content + * return alert element */ - tooltipMessage: function (cssClass, text) { + getTooltipMessage: function () { var message = document.querySelector('.alert') - if (message) { - message.classList.remove('hidden') - message.classList.add('alert-' + cssClass) - message.innerHTML = text - } else { + if (!message) { message = document.createElement('div') - message.classList.add('alert') + message.className = 'alert' var close = document.createElement('span') - close.classList.add('pull-right') + close.className.add('pull-right') close.innerHTML = '×' close.addEventListener('click', function () { this.parentNode.classList.add('hidden') }, false) - message.classList.add('alert-' + cssClass) - message.innerHTML = text document.querySelector('body').appendChild(message) message.appendChild(close) } + return message + }, + /** + * alias for showTooltipMessage + */ + tooltipMessage: function (cssClass, text) { + return this.showTooltipMessage(cssClass, text); + }, + /** + * display error/warning messages in the site header + * cssClass should be a default bootstrap class + * @param {String} cssClass warning|alert|info|success + * @param text message content + */ + showTooltipMessage: function (cssClass, text) { + var message = getTooltipMessage() + message.innerHTML = text + message.classList.add('alert-' + cssClass) + message.classList.remove('hidden') + }, + /** + * hide and clean alert element + */ + hideTooltipMessage: function () { + var message = getTooltipMessage() + message.className = 'alert hidden' + message.innerHTML = '' }, showForks: function (forks, parent) { From 52f643076afb471f305d058a3080efe7dba02655 Mon Sep 17 00:00:00 2001 From: myadzel Date: Tue, 10 Nov 2015 16:14:17 +0300 Subject: [PATCH 2/3] hide tooltip message (previously opened) on bundle starts --- index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/index.js b/index.js index dac1770..cd21dd7 100644 --- a/index.js +++ b/index.js @@ -212,6 +212,7 @@ function initialize () { sandbox.on('bundleStart', function () { ui.$spinner.show() + ui.hideTooltipMessage() }) sandbox.on('bundleEnd', function (bundle) { From d68e02405587548e92f1ea547e246089cfa98bca Mon Sep 17 00:00:00 2001 From: myadzel Date: Tue, 10 Nov 2015 16:21:34 +0300 Subject: [PATCH 3/3] fix this, fix code style --- lib/ui-controller.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ui-controller.js b/lib/ui-controller.js index 77666cf..ae26a56 100644 --- a/lib/ui-controller.js +++ b/lib/ui-controller.js @@ -45,7 +45,7 @@ var controls = { * alias for showTooltipMessage */ tooltipMessage: function (cssClass, text) { - return this.showTooltipMessage(cssClass, text); + return this.showTooltipMessage(cssClass, text) }, /** * display error/warning messages in the site header @@ -54,7 +54,7 @@ var controls = { * @param text message content */ showTooltipMessage: function (cssClass, text) { - var message = getTooltipMessage() + var message = this.getTooltipMessage() message.innerHTML = text message.classList.add('alert-' + cssClass) message.classList.remove('hidden') @@ -63,7 +63,7 @@ var controls = { * hide and clean alert element */ hideTooltipMessage: function () { - var message = getTooltipMessage() + var message = this.getTooltipMessage() message.className = 'alert hidden' message.innerHTML = '' },