Fix some issues with the new edit menu code

Make sure that the arrow icons are always displayed, and that menus
are aligned in the requested way.
This commit is contained in:
Tom Hughes 2012-04-11 19:19:21 +01:00
parent c45dbdae36
commit e2cb47f1ae
6 changed files with 30 additions and 29 deletions

View file

@ -23,25 +23,25 @@ function openMenu(anchor, menu, align) {
* Setup a menu, triggered by hovering over an anchor for a given time.
*/
function createMenu(anchorid, menuid, align) {
var $anchor = $("#" + anchorid),
$arrow = $("#" + anchorid + ' .arrow'),
$menu = $("#" + menuid),
$page = $(':not(#' + menuid + ', #' + anchorid + ')');
var $anchor = $("#" + anchorid);
var $arrow = $("#" + anchorid + " .menuicon");
var $menu = $("#" + menuid);
var $page = $(":not(#" + menuid + ", #" + anchorid + ")");
function hide() {
$menu.hide();
$page.unbind('click', hide);
$page.off("click", hide);
}
$arrow.click(function(e) {
e.stopPropagation();
e.preventDefault();
if ($menu.is(':visible')) {
$menu.hide();
$page.unbind('click', hide);
} else {
openMenu($anchor, $menu.show(), 'left');
$page.bind('click', hide);
}
e.stopPropagation();
e.preventDefault();
if ($menu.is(":visible")) {
$menu.hide();
$page.off("click", hide);
} else {
openMenu($anchor, $menu.show(), align);
$page.on("click", hide);
}
});
}

View file

@ -366,7 +366,7 @@ h2 {
/* Rules for edit menu */
.arrow {
.menuicon {
padding: 5px;
&:hover {
@ -381,17 +381,17 @@ h2 {
position: absolute;
background-color: #ffffff;
border: 1px solid #cccccc;
border-top: 0;
border-top: 0px;
}
.menu ul {
margin: 0;
padding: 0;
margin: 0px;
padding: 0px;
}
.menu li {
padding: 2px 5px;
margin: 0;
margin: 0px;
list-style-type: none;
border-top: 1px solid #eee;
white-space: nowrap;

View file

@ -80,7 +80,7 @@ html body {
/* Rules for edit menu */
.arrow {
.menuicon {
margin-left: 10px;
border-left: 1px solid #eee;
}

View file

@ -80,7 +80,7 @@ html body {
/* Rules for edit menu */
.arrow {
.menuicon {
margin-right: 10px;
border-right: 1px solid #eee;
}

View file

@ -11,12 +11,12 @@
<span id="loading"><%= t 'browse.map.loading' %></span>
<%= link_to(t("browse.map.larger.area"), { :controller => :site, :action => :index, :box => "yes" }, { :id => "area_larger_map", :class => "geolink bbox" }) %>
<br />
<%= link_to(h(t("browse.map.edit.area")) + '<span class="arrow">&#x25be;</span>'.html_safe, { :controller => :site, :action => :edit }, { :id => "area_edit", :class => "geolink bbox" }) %>
<%= link_to(h(t("browse.map.edit.area")) + content_tag(:span, "▾", :class => "menuicon"), { :controller => :site, :action => :edit }, { :id => "area_edit", :class => "geolink bbox" }) %>
<% unless map.instance_of? Changeset %>
<br />
<%= link_to("", { :controller => :site, :action => :index }, { :id => "object_larger_map", :class => "geolink object" }) %>
<%= link_to(t("browse.map.larger." + map.class.to_s.downcase), { :controller => :site, :action => :index }, { :id => "object_larger_map", :class => "geolink object" }) %>
<br />
<%= link_to(h("") + '<span class="arrow">&#x25be;</span>'.html_safe, { :controller => :site, :action => :edit }, { :id => "object_edit", :class => "geolink object" }) %>
<%= link_to(h(t("browse.map.edit." + map.class.to_s.downcase)) + content_tag(:span, "▾", :class => "menuicon"), { :controller => :site, :action => :edit }, { :id => "object_edit", :class => "geolink object" }) %>
<% end %>
<% else %>
<%= t 'browse.map.deleted' %>
@ -110,6 +110,9 @@
url += "/" + previous_version;
}
$("#object_larger_map").hide();
$("#object_edit").hide();
addObjectToMap(url, true, function(extent) {
$("#loading").hide();
$("#browse_map .geolink").show();
@ -129,7 +132,6 @@
});
<% end -%>
<% unless map.instance_of? Changeset -%>
$("#remote_object_edit").click(function (event) {
return remoteEditHandler(event, extent, "<%= map.class.to_s.downcase + map.id.to_s %>");
});
@ -140,9 +142,8 @@
});
<% end -%>
$("#object_larger_map").html("<%=j t('browse.map.larger.' + map.class.to_s.downcase) %>");
$("#object_edit").html("<%=j t('browse.map.edit.' + map.class.to_s.downcase) %>");
<% end -%>
$("#object_larger_map").show();
$("#object_edit").show();
updatelinks(centre.lon, centre.lat, 16, null, extent.left, extent.bottom, extent.right, extent.top, "<%= map.class.to_s.downcase %>", <%= map.id %>);
} else {

View file

@ -37,7 +37,7 @@
exportclass += ' active' if params['controller'] == 'site' and params['action'] == 'export'
%>
<li><%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %></li>
<li><%= link_to h(t('layouts.edit')) + '<span class="arrow">&#x25be;</span>'.html_safe, {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('javascripts.site.edit_tooltip'), :class => editclass} %></li>
<li><%= link_to h(t('layouts.edit')) + content_tag(:span, "▾", :class => "menuicon"), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('javascripts.site.edit_tooltip'), :class => editclass} %></li>
<li><%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('javascripts.site.history_tooltip'), :class => historyclass} %></li>
<li><%= link_to t('layouts.export'), {:controller => 'site', :action => 'export'}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass} %></li>
</ul>