From 6f2d19c5703fc6b38fbf87fa38f16f9766d4aad3 Mon Sep 17 00:00:00 2001 From: Raymon Johnstone Date: Tue, 10 Jun 2014 17:41:34 -0400 Subject: [PATCH] Addition of scrollbar to search results --- Ubuntu README.rdoc | 101 +++++++++++++++++++++++++ app/assets/javascripts/application.js | 30 +++++++- app/assets/javascripts/typeahead.js | 2 +- app/assets/stylesheets/application.css | 13 ++-- app/controllers/main_controller.rb | 4 +- 5 files changed, 140 insertions(+), 10 deletions(-) create mode 100644 Ubuntu README.rdoc diff --git a/Ubuntu README.rdoc b/Ubuntu README.rdoc new file mode 100644 index 00000000..b468eb4c --- /dev/null +++ b/Ubuntu README.rdoc @@ -0,0 +1,101 @@ +Firstly this walkthrough is done with a 14.04 32bit install of Ubuntu. + +All Commands are quoted with "" which are not to be included in the command. + +All commands that I could are terminal based. + +Lets check if all updates for the system are installed first + +in terminal type + +"sudo apt-get update" + +now we need to install git + +"sudo apt-get install git" + +lets get our RVM installed (Ruby Version Manager) now this is fun because the package you will get from apt-get is outdated. + +so we are going to use CURL to get RVM + +"sudo apt-get install curl" + +then lets install RVM with curl like this + +"curl -L get.rvm.io | bash -s stable" + +"PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting" + +"[[ -s "$HOME/.profile" ]] && source "$HOME/.profile"" + +"[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"" + +"source ~/.rvm/scripts/rvm" + +now we can actually install RVM + +"rvm requirements" + +running this will check your system for requirements as well so you will need to put your system password in. + +alright now we can download metamaps from the master using git + +"git clone https://github.com/Connoropolous/metamaps_gen002.git" + +now there is a couple other things we are going to need which is nodejs, postgresql, libpq-dev and redis-server + +"sudo apt-get install nodejs" + +"sudo apt-get install postgresql" + +"sudo apt-get install libpq-dev" + +"sudo apt-get install redis-server" + +Install the specific version of ruby needed this will take some time *Note you will get a warning about this being an outdated version* + +"rvm install ruby-1.9.3-p125" + +Now we also need to rename your database file which is in ./config/database.default.yml to database.yml + +now run inside your metamaps_gen002 folder + +"bundle install" + +in your top lvl directory for metamaps this is a lengthy process so you might want to go and make a coffee or something :) + +alright now we need to make sure your postgres password is the same as it is listed in the DB file so we are going to set it by + +"sudo -u postgres psql" + +Select postgres like this + +"\password postgres" + +set the password to 3112 + +Then to quit + +"\q" + +now we can run the rake install and db creation + +"rake db:create" + +"rake db:schema:load" + +"rake db:fixtures:load" + +Execute the server : "rails s" + +and dont forget to run realtime too open a new terminal + +navigate to ./realtime and run + +"nodejs realtime-server.js" + +Now your all set enjoy your personal server of metamaps :) + + + + diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 53af30e3..eed55362 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -28,6 +28,7 @@ var viewMode = "list"; var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, gType, tempNode = null, tempInit = false, tempNode2 = null, metacodeIMGinit = false, goRealtime = false, mapid = null, mapperm = false, touchPos, touchDragNode, mouseIsDown = false; $(document).ready(function() { + function bindMainMenuHover() { @@ -59,6 +60,7 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, },500); } + var openMenu = function() { clearTimeout(lT); if (! sliding1) { @@ -95,6 +97,8 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, var searchIsOpen = false + + // controls the sliding hover of the search var sliding1 = false; var lT; @@ -114,6 +118,8 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, }); } } + + var closeSearch = function(closeAfter) { lT = setTimeout(function() { if (!sliding1 && searchIsOpen && $('.sidebarSearchField').val() == '') { @@ -161,6 +167,7 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, $('.sidebarSearchField').typeahead([ { name: 'topics', + limit: 9999, dupChecker: function (datum1,datum2) { return false; }, @@ -403,6 +410,8 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, } }); + + // initialize the autocomplete results for the metacode spinner $('#synapse_desc').typeahead([ { @@ -461,8 +470,7 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, top: '35px', right: '-36px' }); - - // initialize metacode spinner and then hide it + // initialize metacode spinner and then hide it $("#metacodeImg").CloudCarousel( { titleBox: $('#metacodeImgTitle'), yRadius:40, @@ -783,6 +791,24 @@ function openLightbox(which) { $('#lightbox_main').css('margin-top', '-' + ($('#lightbox_main').height() / 2) + 'px' ); } +//Set max height of the search results box to prevent it from covering bottom left footer + +$(function(){ + + $(window).ready(function(){ + var h = $(window).height(); + $(".tt-dropdown-menu").css('max-height', h - 100); + }); +}); + +$(function(){ + + $(window).resize(function(){ + var h = $(window).height(); + $(".tt-dropdown-menu").css('max-height', h - 100); + }); +}); + function cancelMapCreate(id) { $('#lightbox_overlay').hide(); diff --git a/app/assets/javascripts/typeahead.js b/app/assets/javascripts/typeahead.js index 1fb987d5..e0bda832 100644 --- a/app/assets/javascripts/typeahead.js +++ b/app/assets/javascripts/typeahead.js @@ -1137,4 +1137,4 @@ } }; })(); -})(window.jQuery); \ No newline at end of file +})(window.jQuery); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 169ac95e..079ad62f 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -260,7 +260,7 @@ button.button:hover, a.button:hover, input[type="submit"]:hover { padding: 20px; border-radius: 15px; color: #000; - border:2px solid #000; + border:2px solid #000; } @@ -979,6 +979,9 @@ cursor:pointer; left:-35px !important; background: #0F1519; min-width: 440px; +width: 440px; +overflow-y: scroll; +overflow-x: hidden; } .sidebarSearch .tt-dropdown-menu h3 { @@ -1077,7 +1080,7 @@ min-width: 440px; } .sidebarSearch .resultText { - width: 250px; + width: 125px; display: block; float: left; } @@ -1104,7 +1107,7 @@ min-width: 440px; .sidebarSearch div.autoOptions { width: 122px; - float: right; + float: left; position:relative; display:none; } @@ -1148,7 +1151,7 @@ height: 20px; background: url(/assets/MMCCicon_map.png) no-repeat 0px center; background-size: 14px 14px; top: 7px; -left: 39px; +left: 38px; padding-left: 18px; font-size: 12px; line-height: 20px; @@ -1191,7 +1194,7 @@ line-height: 20px; background: white; width: auto; bottom: 0; - left: 23px; + left: 35px; color: black; white-space: nowrap; border-radius: 4px; diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index c450bdfc..a3ba3b43 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -161,7 +161,7 @@ class MainController < ApplicationController # !connor why is the limit 5 done here and not above? also, why not limit after sorting alphabetically? @maps = Map.where(query, search).limit(5).order('"name"') elsif user - @maps = Map.where(query, search).where('user_id = ?', user).limit(5).order('"name"') + @maps = Map.where(query, search).where('user_id = ?', user).order('"name"') end else @maps = [] @@ -182,7 +182,7 @@ class MainController < ApplicationController #remove "mapper:" if appended at beginning term = term[7..-1] if term.downcase[0..6] == "mapper:" - @mappers = User.where('LOWER("name") like ?', term.downcase + '%').limit(5).order('"name"') + @mappers = User.where('LOWER("name") like ?', term.downcase + '%').order('"name"') else @mappers = [] end