diff --git a/app/assets/javascripts/src/Metamaps.JIT.js b/app/assets/javascripts/src/Metamaps.JIT.js
index 4fc1506e..63c89b67 100644
--- a/app/assets/javascripts/src/Metamaps.JIT.js
+++ b/app/assets/javascripts/src/Metamaps.JIT.js
@@ -1335,7 +1335,7 @@ Metamaps.JIT = {
if (Metamaps.Active.Map && Metamaps.Active.Mapper) menustring += '
DeleteCtrl+D
'
if (Metamaps.Active.Topic) {
- menustring += 'Center this topic'
+ menustring += 'Center this topicCtrl+E
'
}
menustring += 'Open in new tab'
if (Metamaps.Active.Mapper) {
@@ -1360,10 +1360,10 @@ Metamaps.JIT = {
// set up the get sibling menu as a "lazy load"
// only fill in the submenu when they hover over the get siblings list item
var siblingMenu = ' \
- - All
\
+ - All
Ctrl+R
\
\
'
- menustring += 'Get siblings' + siblingMenu + ''
+ menustring += 'Reveal siblings' + siblingMenu + ''
}
menustring += ''
diff --git a/app/assets/javascripts/src/Metamaps.Listeners.js b/app/assets/javascripts/src/Metamaps.Listeners.js
index 83204eee..32f4c418 100644
--- a/app/assets/javascripts/src/Metamaps.Listeners.js
+++ b/app/assets/javascripts/src/Metamaps.Listeners.js
@@ -11,6 +11,7 @@
*/
Metamaps.Listeners = {
init: function () {
+ var self = this
$(document).on('keydown', function (e) {
if (!(Metamaps.Active.Map || Metamaps.Active.Topic)) return
@@ -35,21 +36,6 @@ Metamaps.Listeners = {
Metamaps.Visualize.mGraph.plot()
}
- break
- case 69: // if e or E is pressed
- if (e.ctrlKey) {
- e.preventDefault()
- if (Metamaps.Active.Map) {
- Metamaps.JIT.zoomExtents(null, Metamaps.Visualize.mGraph.canvas)
- }
- }
- break
- case 77: // if m or M is pressed
- if (e.ctrlKey) {
- e.preventDefault()
- Metamaps.Control.removeSelectedNodes()
- Metamaps.Control.removeSelectedEdges()
- }
break
case 68: // if d or D is pressed
if (e.ctrlKey) {
@@ -57,6 +43,19 @@ Metamaps.Listeners = {
Metamaps.Control.deleteSelected()
}
break
+ case 69: // if e or E is pressed
+ if (e.ctrlKey) {
+ e.preventDefault()
+ if (Metamaps.Active.Topic) {
+ self.centerAndReveal(Metamaps.Selected.Nodes, {
+ center: true,
+ reveal: false
+ })
+ } else if (Metamaps.Active.Map) {
+ Metamaps.JIT.zoomExtents(null, Metamaps.Visualize.mGraph.canvas)
+ }
+ }
+ break
case 72: // if h or H is pressed
if (e.ctrlKey) {
e.preventDefault()
@@ -64,8 +63,34 @@ Metamaps.Listeners = {
Metamaps.Control.hideSelectedEdges()
}
break
+ case 77: // if m or M is pressed
+ if (e.ctrlKey) {
+ e.preventDefault()
+ Metamaps.Control.removeSelectedNodes()
+ Metamaps.Control.removeSelectedEdges()
+ }
+ break
+ case 82: // if r or R is pressed
+ if (e.ctrlKey && Metamaps.Active.Topic) {
+ e.preventDefault()
+ self.centerAndReveal(Metamaps.Selected.Nodes, {
+ center: false,
+ reveal: true
+ })
+ }
+ break
+ case 84: // if t or T is pressed
+ if (e.ctrlKey && Metamaps.Active.Topic) {
+ e.preventDefault()
+ self.centerAndReveal(Metamaps.Selected.Nodes, {
+ center: true,
+ reveal: true
+ })
+ }
+ break
default:
- break; // alert(e.which)
+ // console.log(e.which)
+ break
}
})
@@ -74,5 +99,15 @@ Metamaps.Listeners = {
if ((Metamaps.Active.Map || Metamaps.Active.Topic) && Metamaps.Famous && Metamaps.Famous.maps.surf) Metamaps.Famous.maps.reposition()
if (Metamaps.Active.Map && Metamaps.Realtime.inConversation) Metamaps.Realtime.positionVideos()
})
+ },
+ centerAndReveal: function(nodes, opts) {
+ if (nodes.length < 1) return
+ var node = nodes[nodes.length - 1]
+ if (opts.center) {
+ Metamaps.Topic.centerOn(node.id)
+ }
+ if (opts.reveal) {
+ Metamaps.Topic.fetchRelatives(node)
+ }
}
}; // end Metamaps.Listeners
diff --git a/app/assets/javascripts/src/Metamaps.Map.js b/app/assets/javascripts/src/Metamaps.Map.js
index 34374614..ec3b946f 100644
--- a/app/assets/javascripts/src/Metamaps.Map.js
+++ b/app/assets/javascripts/src/Metamaps.Map.js
@@ -673,6 +673,8 @@ Metamaps.Map.InfoBox = {
return string
},
updateNumbers: function () {
+ if (!Metamaps.Active.Map) return
+
var self = Metamaps.Map.InfoBox
var mapper = Metamaps.Active.Mapper
var relevantPeople = Metamaps.Active.Map.get('permission') === 'commons' ? Metamaps.Mappers : Metamaps.Collaborators
diff --git a/app/assets/stylesheets/application.css.erb b/app/assets/stylesheets/application.css.erb
index 6c76dd9e..d1f866bc 100644
--- a/app/assets/stylesheets/application.css.erb
+++ b/app/assets/stylesheets/application.css.erb
@@ -1249,8 +1249,9 @@ h3.filterBox {
.rightclickmenu .rc-metacode > ul > li,
.rightclickmenu .rc-siblings > ul > li {
padding: 6px 24px 6px 8px;
- width: auto;
white-space: nowrap;
+ width: auto;
+ min-width: 5em;
}
.rightclickmenu .rc-metacode ul ul,
.rightclickmenu .rc-siblings ul ul {
diff --git a/app/views/shared/_cheatsheet.html.erb b/app/views/shared/_cheatsheet.html.erb
index c02246ac..6468ccb6 100644
--- a/app/views/shared/_cheatsheet.html.erb
+++ b/app/views/shared/_cheatsheet.html.erb
@@ -26,8 +26,9 @@
-
Recenter Topics around chosen Topic: Alt + click on the topic OR Right-click + 'center this topic'
-
+
Recenter Topics around chosen Topic: Alt + click on the topic OR Ctrl + E
+
Reveal the siblings for a Topic: Right-click and choose 'Reveal siblings' OR Ctrl + R
+
Center topic and reveal siblings: Ctrl + T