From 787940dd8fe8db389b00a15541200194ded92177 Mon Sep 17 00:00:00 2001 From: Shubham Chaudhary Date: Fri, 17 May 2019 16:02:50 -0700 Subject: [PATCH] Code refactoring and method reorganisation --- bangdd.js | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/bangdd.js b/bangdd.js index a029771..35d3005 100644 --- a/bangdd.js +++ b/bangdd.js @@ -1,4 +1,6 @@ +const ID_SEARCH_FORM = "search_form_input"; const ID_SEARCH_BUTTON = "search_button"; +const ID_DUCKBAR = "duckbar_static"; const BANG_TO_ADD = "!g"; @@ -14,30 +16,23 @@ function haveToClickSearch() { /** Main Action on button click */ function onTimeToBang(event) { - let search_form_input = document.getElementById("search_form_input"); + let search_form_input = document.getElementById(ID_SEARCH_FORM); let current_search = search_form_input.value; let bang = bangToAdd(); if (!current_search.includes(bang)) { search_form_input.value = current_search + " " + bang; } + if (haveToClickSearch()) { document.getElementById(ID_SEARCH_BUTTON).click(); } } -function createElementFromHTML(htmlString) { - let div = document.createElement('div'); - div.innerHTML = htmlString.trim(); - - // Change this to div.childNodes to support multiple top-level nodes - return div.firstChild; -} - function createButton() { let bang_it = createElementFromHTML( '
  • ' + - 'Bang It' + + 'Bang It' + '
  • ' ); @@ -47,10 +42,6 @@ function createButton() { return bang_it; } -function insertAfter(el, referenceNode) { - referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); -} - function insertInCorrectPosition(bang_it) { let existingButton = document.getElementById(bang_it.id); if (existingButton) { @@ -58,9 +49,27 @@ function insertInCorrectPosition(bang_it) { console.log('Removed existing button') } - insertAfter(bang_it, document.getElementById("duckbar_static").lastChild); + insertAfter(bang_it, document.getElementById(ID_DUCKBAR).lastChild); console.log('Inserted bang it element'); } -let bang_it = createButton(); -insertInCorrectPosition(bang_it); +/* Helper Methods */ +function createElementFromHTML(htmlString) { + let div = document.createElement('div'); + div.innerHTML = htmlString.trim(); + + // Change this to div.childNodes to support multiple top-level nodes + return div.firstChild; +} + +function insertAfter(el, referenceNode) { + referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); +} +/* End of helper methods */ + +function onExtensionLoading() { + let bang_it = createButton(); + insertInCorrectPosition(bang_it); +} + +onExtensionLoading();