Implement closing sidebar
authorJohn Firebaugh <john.firebaugh@gmail.com>
Sat, 5 Oct 2013 00:49:18 +0000 (17:49 -0700)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Sun, 13 Oct 2013 21:46:09 +0000 (14:46 -0700)
app/assets/javascripts/index.js
app/assets/javascripts/index/changeset.js
app/assets/javascripts/index/export.js
app/assets/javascripts/index/search.js
app/assets/stylesheets/common.css.scss

index 3dd9e78d800581596c1943a8a795e1567ea47f36..db858c7c16bcea52ef7063a108b8e5c75dc9a233 100644 (file)
@@ -222,9 +222,11 @@ $(document).ready(function () {
   initializeNotes(map);
 
   OSM.Index = function(map) {
-    var page = {};
+    var page = {}, minimized = false;
 
     page.pushstate = page.popstate = function(path) {
+      if (minimized) $("#sidebar").addClass("minimized");
+      map.invalidateSize();
       $("#view_tab").addClass("current");
       $('#sidebar_content').load(path);
     };
@@ -233,6 +235,14 @@ $(document).ready(function () {
       $("#view_tab").removeClass("current");
     };
 
+    page.minimizeSidebar = function() {
+      $("#sidebar").addClass("minimized");
+      map.invalidateSize();
+      minimized = true;
+    };
+
+    $(document).on("click", "#sidebar_content .close", page.minimizeSidebar);
+
     return page;
   };
 
@@ -240,6 +250,8 @@ $(document).ready(function () {
     var page = {};
 
     page.pushstate = page.popstate = function(path, type, id) {
+      $("#sidebar").removeClass("minimized");
+      map.invalidateSize();
       $('#sidebar_content').load(path, function() {
         page.load(path, type, id);
       });
index d87bf637bf6d192a1bed2f27b35b51b2690b350e..5c600fe87cacbfe01613f2e7f778e48a00427281 100644 (file)
@@ -27,6 +27,8 @@ OSM.ChangesetList = function(map) {
 
   page.pushstate = page.popstate = function(path) {
     $("#history_tab").addClass("current");
+    $("#sidebar").removeClass("minimized");
+    map.invalidateSize();
     $('#sidebar_content').load(path, page.load);
   };
 
index 70684eca9dac0dd70b26f8ebb57c636aa023f9a0..51ad1e3e2e55456ef1358d1f45c3fd88605cf43a 100644 (file)
@@ -50,6 +50,8 @@ OSM.Export = function(map) {
 
   page.pushstate = page.popstate = function(path) {
     $("#export_tab").addClass("current");
+    $("#sidebar").removeClass("minimized");
+    map.invalidateSize();
     $('#sidebar_content').load(path, page.load);
   };
 
index d881facbcc94e046ea425d571c9e81e8cfdbbeef..132447ec5b3e81bfa386355bb5b7f2c2f24aefd7 100644 (file)
@@ -38,6 +38,8 @@ OSM.Search = function(map) {
   page.pushstate = page.popstate = function(path) {
     var params = querystring.parse(path.substring(path.indexOf('?') + 1));
     $("#query").val(params.query);
+    $("#sidebar").removeClass("minimized");
+    map.invalidateSize();
     $("#sidebar_content").load(path, page.load);
   };
 
index bef95550943235a3a3e77c877d455b8edd70c0c7..6f702e5eda5c5a1f89526fe265d36c71fbb49dcf 100644 (file)
@@ -590,6 +590,16 @@ nav.secondary {
     }
   }
 
+  #sidebar.minimized {
+    position: absolute;
+    z-index: 1000;
+    height: auto;
+
+    #sidebar_content {
+      display: none;
+    }
+  }
+
   #map {
     height: 100%;
     overflow: hidden;