summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarry Hackett <elderyrrah@gmail.com>2015-03-11 20:15:45 +1300
committerczaks <marcin@6irc.net>2016-05-05 13:35:02 +0200
commit6cb3039b71c30ad9db03847f512b898d9a5224b5 (patch)
tree41338a872448936eedffc99bfa0eb06f0a7ee150
parent71fde3593878073eca6137af0d03046c746ce292 (diff)
Create fav.js
-rw-r--r--js/options/fav.js94
1 files changed, 94 insertions, 0 deletions
diff --git a/js/options/fav.js b/js/options/fav.js
new file mode 100644
index 00000000..f8d12bf3
--- /dev/null
+++ b/js/options/fav.js
@@ -0,0 +1,94 @@
+//Setting global variables
+var favorites = JSON.parse(localStorage.favorites);
+Options.add_tab('fav-tab','star',_("Favorites"));
+
+//Creating functions
+var generateList = function(){
+ var favStor = [];
+ for(var i=1; i<favorites.length+1; i++){
+ favStor.push($("#sortable > div:nth-child("+i+")").html());
+ }
+ return JSON.stringify(favStor);
+} //This will generate a list of boards based off of the list on the screen
+function removeBoard(boardNumber){
+ favorites.splice(boardNumber, 1);
+ localStorage.favorites = JSON.stringify(favorites);
+ $("#sortable > div:nth-child("+(boardNumber+1)+")").remove();
+ $("#minusList > div:nth-child("+(favorites.length+1)+")").remove();
+} //This removes a board from favorites, localStorage.favorites and the page
+function addBoard(){
+ $("#sortable").append("<div>"+($("#plusBox").val())+"</div>");
+ $("#minusList").append("<div onclick=\"removeBoard("+favorites.length+")\" style=\"cursor: pointer; margin-left: 5px\">-</div>");
+ favorites.push($("#plusBox").val());
+ localStorage.favorites = JSON.stringify(favorites);
+ $("#space").remove();
+ $("#plusBox").remove(); //Refreshing the last 3 elements to move the box down
+ $("#plus").remove();
+ $("#submitFavorites").remove();
+ $("<br id=\"space\"></br>").appendTo(Options.get_tab('fav-tab').content);
+ $("<input id=\"plusBox\" type=\"text\">").appendTo(Options.get_tab('fav-tab').content);
+ $("#plusBox").keydown(function( event ) {
+ if(event.keyCode == 13){
+ $("#plus").click();
+ }
+ }); //Adding enter to submit
+ document.getElementById("plusBox").value = ""; //Removing text from textbox
+ $("#plusBox").focus(); //Moving cursor into text box again after refresh
+ $("<div id=\"plus\" onclick=\"addBoard()\">+</div>").css({
+ cursor: "pointer",
+ color: "#0000FF"
+ }).appendTo(Options.get_tab('fav-tab').content); //Adding the plus to the tab
+ $("<input id=\"submitFavorites\" onclick=\"localStorage.favorites=generateList();document.location.reload();\" type=\"button\" value=\""+_("Refresh")+"\">").css({
+ height: 25, bottom: 5,
+ width: "calc(100% - 10px)",
+ left: 5, right: 5
+ }).appendTo(Options.get_tab('fav-tab').content); //Adding button to the tab
+} //This adds the text inside the textbox to favorites, localStorage.favorites and the page
+
+//Making as many functions and variables non-global
+$(document).ready(function(){
+
+//Pregenerating list of boards
+var favList = ['<div id="sortable" style="cursor: pointer; float: left;display: inline-block">'];
+for(var i=0; i<favorites.length; i++){
+ favList += '<div>'+favorites[i]+'</div>';
+}
+favList += '</div>';
+
+//Creating list of minus symbols to remove unwanted boards
+var minusList = ['<div id="minusList" style="color: #0000FF;display: inline-block">'];
+for(var i=0; i<favorites.length; i++){
+ minusList += '<div onclick="removeBoard('+i+')" style="cursor: pointer; margin-left: 5px">-</div>';
+}
+minusList += "</div>";
+
+//Help message so people understand how sorting boards works
+$("<span>Drag the boards to sort them.</span><br></br>").appendTo(Options.get_tab('fav-tab').content);
+
+//Adding list of boards and minus symbols to remove boards with
+$(favList).appendTo(Options.get_tab('fav-tab').content); //Adding the list of favorite boards to the tab
+$(minusList).appendTo(Options.get_tab('fav-tab').content); //Adding the list of minus symbols to the tab
+
+//Adding spacing and text box to right boards into
+$("<br id=\"space\"></br>").appendTo(Options.get_tab('fav-tab').content);
+$("<input id=\"plusBox\" type=\"text\">").appendTo(Options.get_tab('fav-tab').content);
+$("#plusBox").keydown(function( event ) {
+ if(event.keyCode == 13){
+ $("#plus").click();
+ }
+});
+
+//Adding plus symbol to use to add board
+$("<div id=\"plus\" onclick=\"addBoard()\">+</div>").css({
+ cursor: "pointer",
+ color: "#0000FF"
+}).appendTo(Options.get_tab('fav-tab').content); //Adding the plus button
+$("<input id=\"submitFavorites\" onclick=\"localStorage.favorites=generateList();document.location.reload();\" type=\"button\" value=\""+_("Submit")+"\">").css({
+ height: 25, bottom: 5,
+ width: "calc(100% - 10px)",
+ left: 5, right: 5
+}).appendTo(Options.get_tab('fav-tab').content); //Adding submit button to the tab
+
+$("#sortable").sortable(); //Making boards with sortable id use the sortable jquery function
+
+});