added ability to hide topics from canvas, remove topics from map, and delete topics, all from the graph.
BIN
app/assets/images/delete.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
app/assets/images/go-arrow-2.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 3.6 KiB |
BIN
app/assets/images/minus.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
app/assets/images/removeFromCanvas.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
app/assets/images/removeFromMap.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
app/assets/images/ui-bg_flat_0_aaaaaa_40x100.png
Normal file
After Width: | Height: | Size: 180 B |
BIN
app/assets/images/ui-bg_glass_55_fbf9ee_1x400.png
Normal file
After Width: | Height: | Size: 120 B |
BIN
app/assets/images/ui-bg_glass_65_ffffff_1x400.png
Normal file
After Width: | Height: | Size: 105 B |
BIN
app/assets/images/ui-bg_glass_75_dadada_1x400.png
Normal file
After Width: | Height: | Size: 111 B |
BIN
app/assets/images/ui-bg_glass_75_e6e6e6_1x400.png
Normal file
After Width: | Height: | Size: 110 B |
BIN
app/assets/images/ui-bg_glass_95_fef1ec_1x400.png
Normal file
After Width: | Height: | Size: 119 B |
BIN
app/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
app/assets/images/ui-icons_222222_256x240.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
app/assets/images/ui-icons_2e83ff_256x240.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
app/assets/images/ui-icons_454545_256x240.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
app/assets/images/ui-icons_888888_256x240.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
app/assets/images/ui-icons_cd0a0a_256x240.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
|
@ -532,7 +532,6 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
var html = ' \
|
var html = ' \
|
||||||
<div class="CardOnGraph" \
|
<div class="CardOnGraph" \
|
||||||
id="topic_$_id_$"> \
|
id="topic_$_id_$"> \
|
||||||
<a href="#" class="close-link">close</a> \
|
|
||||||
<p class="type best_in_place best_in_place_metacode" \
|
<p class="type best_in_place best_in_place_metacode" \
|
||||||
data-url="/topics/$_id_$" \
|
data-url="/topics/$_id_$" \
|
||||||
data-object="topic" \
|
data-object="topic" \
|
||||||
|
@ -541,6 +540,7 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
data-type="select">$_metacode_$</p> \
|
data-type="select">$_metacode_$</p> \
|
||||||
<img alt="$_metacode_$" \
|
<img alt="$_metacode_$" \
|
||||||
class="icon" \
|
class="icon" \
|
||||||
|
title="Click to hide card" \
|
||||||
height="50" \
|
height="50" \
|
||||||
width="50" \
|
width="50" \
|
||||||
src="$_imgsrc_$" /> \
|
src="$_imgsrc_$" /> \
|
||||||
|
@ -553,7 +553,7 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
data-type="input">$_name_$</span> \
|
data-type="input">$_name_$</span> \
|
||||||
<a href="/topics/$_id_$" class="topic-go-arrow" target="_blank"> \
|
<a href="/topics/$_id_$" class="topic-go-arrow" target="_blank"> \
|
||||||
<img class="topic-go-arrow" \
|
<img class="topic-go-arrow" \
|
||||||
title="Go to the topic page" \
|
title="Explore Topic" \
|
||||||
src="/assets/go-arrow.png" /> \
|
src="/assets/go-arrow.png" /> \
|
||||||
</a> \
|
</a> \
|
||||||
<div class="clearfloat"></div> \
|
<div class="clearfloat"></div> \
|
||||||
|
@ -570,7 +570,7 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
data-attribute="desc" \
|
data-attribute="desc" \
|
||||||
data-type="textarea">$_desc_$</span> \
|
data-type="textarea">$_desc_$</span> \
|
||||||
</div> \
|
</div> \
|
||||||
</div> \
|
</div> \
|
||||||
<a href="$_link_$" class="link" target="_blank"> \
|
<a href="$_link_$" class="link" target="_blank"> \
|
||||||
<span class="best_in_place best_in_place_link" \
|
<span class="best_in_place best_in_place_link" \
|
||||||
data-url="/topics/$_id_$" \
|
data-url="/topics/$_id_$" \
|
||||||
|
@ -629,10 +629,10 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
domElement.appendChild(showCard);
|
domElement.appendChild(showCard);
|
||||||
|
|
||||||
// add some events to the label
|
// add some events to the label
|
||||||
$(showCard).find('a.close-link').click(function(){
|
$(showCard).find('img.icon').click(function(){
|
||||||
delete node.selected;
|
delete node.selected;
|
||||||
node.setData('dim', 25, 'current');
|
node.setData('dim', 25, 'current');
|
||||||
node.eachAdjacency(function (adj) {
|
/*node.eachAdjacency(function (adj) {
|
||||||
adj.setDataset('end', {
|
adj.setDataset('end', {
|
||||||
lineWidth: 2,
|
lineWidth: 2,
|
||||||
color: '#222222'
|
color: '#222222'
|
||||||
|
@ -642,7 +642,7 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
Mconsole.fx.animate({
|
Mconsole.fx.animate({
|
||||||
modes: ['edge-property:lineWidth:color'],
|
modes: ['edge-property:lineWidth:color'],
|
||||||
duration: 500
|
duration: 500
|
||||||
});
|
});*/
|
||||||
$('.showcard.topic_' + node.id).fadeOut('fast', function(){
|
$('.showcard.topic_' + node.id).fadeOut('fast', function(){
|
||||||
$('.name').css('display','block');
|
$('.name').css('display','block');
|
||||||
Mconsole.plot();
|
Mconsole.plot();
|
||||||
|
@ -655,15 +655,59 @@ function onCreateLabelHandler(domElement, node) {
|
||||||
var nameContainer = document.createElement('span'),
|
var nameContainer = document.createElement('span'),
|
||||||
style = nameContainer.style;
|
style = nameContainer.style;
|
||||||
nameContainer.className = 'name topic_' + node.id;
|
nameContainer.className = 'name topic_' + node.id;
|
||||||
nameContainer.innerHTML = '<div class="label">' + node.name + '</div>';
|
var littleHTML = ' \
|
||||||
|
<div class="label">$_name_$</div> \
|
||||||
|
<div class="nodeOptions">';
|
||||||
|
if (mapid == null) {
|
||||||
|
littleHTML += ' \
|
||||||
|
<span class="removeFromCanvas" \
|
||||||
|
onclick="removeFromCanvas($_id_$)" \
|
||||||
|
title="Click to remove topic from canvas"> \
|
||||||
|
</span>';
|
||||||
|
}
|
||||||
|
else if (mapid != null && userid != null) {
|
||||||
|
littleHTML += ' \
|
||||||
|
<a href="/mappings/$_mapid_$/$_id_$/removefrommap" \
|
||||||
|
title="Click to remove topic from map" \
|
||||||
|
class="removeFromMap" \
|
||||||
|
data-method="get" \
|
||||||
|
data-remote="true" \
|
||||||
|
rel="nofollow"> \
|
||||||
|
</a>';
|
||||||
|
}
|
||||||
|
if (userid != null) {
|
||||||
|
littleHTML += ' \
|
||||||
|
<a href="/topics/$_id_$" \
|
||||||
|
title="Click to delete this topic" \
|
||||||
|
class="deleteTopic" \
|
||||||
|
data-confirm="Delete this topic and all synapses linking to it?" \
|
||||||
|
data-method="delete" \
|
||||||
|
data-remote="true" \
|
||||||
|
rel="nofollow"> \
|
||||||
|
</a>';
|
||||||
|
}
|
||||||
|
littleHTML += '</div>';
|
||||||
|
littleHTML = littleHTML.replace(/\$_id_\$/g, node.id);
|
||||||
|
littleHTML = littleHTML.replace(/\$_mapid_\$/g, mapid);
|
||||||
|
littleHTML = littleHTML.replace(/\$_name_\$/g, node.name);
|
||||||
|
nameContainer.innerHTML = littleHTML;
|
||||||
domElement.appendChild(nameContainer);
|
domElement.appendChild(nameContainer);
|
||||||
style.fontSize = "0.9em";
|
style.fontSize = "0.9em";
|
||||||
style.color = "#222222";
|
style.color = "#222222";
|
||||||
|
|
||||||
// add some events to the label
|
// add some events to the label
|
||||||
nameContainer.onclick = function(){
|
$(nameContainer).find('.label').click(function(){
|
||||||
selectNodeOnClickHandler(node)
|
selectNodeOnClickHandler(node)
|
||||||
|
});
|
||||||
|
|
||||||
|
nameContainer.onmouseover = function(){
|
||||||
|
$('.name.topic_' + node.id + ' .nodeOptions').css('display','block');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nameContainer.onmouseout = function(){
|
||||||
|
$('.name.topic_' + node.id + ' .nodeOptions').css('display','none');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//bind callbacks
|
//bind callbacks
|
||||||
$(showCard).find('.type.best_in_place').bind("ajax:success", function() {
|
$(showCard).find('.type.best_in_place').bind("ajax:success", function() {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
// other options are 'graph'
|
// other options are 'graph'
|
||||||
var viewMode = "list";
|
var viewMode = "list";
|
||||||
|
|
||||||
var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, gType, tempNode = null, tempInit = false, tempNode2 = null, metacodeIMGinit = false, findOpen = false, analyzeOpen = false, organizeOpen = false, goRealtime = false;
|
var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null, gType, tempNode = null, tempInit = false, tempNode2 = null, metacodeIMGinit = false, findOpen = false, analyzeOpen = false, organizeOpen = false, goRealtime = false, mapid = null;
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
@ -54,7 +54,6 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null,
|
||||||
if (! sliding1) {
|
if (! sliding1) {
|
||||||
sliding1 = true;
|
sliding1 = true;
|
||||||
if (userid != null) {
|
if (userid != null) {
|
||||||
$('.footer .menu').css('border','1px solid #000');
|
|
||||||
$('.footer .menu').animate({
|
$('.footer .menu').animate({
|
||||||
height: '252px'
|
height: '252px'
|
||||||
}, 300, function() {
|
}, 300, function() {
|
||||||
|
@ -78,7 +77,6 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null,
|
||||||
height: '0px'
|
height: '0px'
|
||||||
}, 300, function() {
|
}, 300, function() {
|
||||||
sliding1 = false;
|
sliding1 = false;
|
||||||
$('.footer .menu').css('border','none');
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},800);
|
},800);
|
||||||
|
@ -125,6 +123,23 @@ function saveToMap() {
|
||||||
$('#new_map').fadeIn('fast');
|
$('#new_map').fadeIn('fast');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// this is for hiding one topic from your canvas
|
||||||
|
function removeFromCanvas(topic_id) {
|
||||||
|
var node = Mconsole.graph.getNode(topic_id);
|
||||||
|
node.setData('alpha', 0, 'end');
|
||||||
|
node.eachAdjacency(function(adj) {
|
||||||
|
adj.setData('alpha', 0, 'end');
|
||||||
|
});
|
||||||
|
Mconsole.fx.animate({
|
||||||
|
modes: ['node-property:alpha',
|
||||||
|
'edge-property:alpha'],
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
Mconsole.graph.removeNode(topic_id);
|
||||||
|
Mconsole.labels.disposeLabel(topic_id);
|
||||||
|
}
|
||||||
|
|
||||||
function addMetacode() {
|
function addMetacode() {
|
||||||
// code from http://www.professorcloud.com/mainsite/carousel-integration.htm
|
// code from http://www.professorcloud.com/mainsite/carousel-integration.htm
|
||||||
//mouseWheel:true,
|
//mouseWheel:true,
|
||||||
|
|
|
@ -1,58 +1,97 @@
|
||||||
// Place all the styles related to the Topics controller here.
|
// Place all the styles related to the Topics controller here.
|
||||||
// They will automatically be included in application.css.
|
// They will automatically be included in application.css.
|
||||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||||
|
|
||||||
.topic { display:block; float:left; position:relative; width:175px; height:300px; padding:10px 5px 10px 35px; background: url('bg.png'); border-radius:15px; margin:30px 0 30px 50px; color:#000; }
|
.nodeOptions {
|
||||||
|
display:none;
|
||||||
.close-link,
|
position: absolute;
|
||||||
.topic .delete {
|
top: -5px;
|
||||||
position: absolute;
|
right: -17px;
|
||||||
top: -14px;
|
}
|
||||||
left: 0px;
|
|
||||||
background: none;
|
.onCanvas .removeFromMap {
|
||||||
border: 0;
|
display:none !important;
|
||||||
color: white;
|
}
|
||||||
border: none;
|
|
||||||
font-size: 14px;
|
.onMap .removeFromCanvas {
|
||||||
margin: 0;
|
display:none !important;
|
||||||
padding: 0;
|
}
|
||||||
cursor:pointer;
|
|
||||||
}
|
.unauthenticated .deleteTopic {
|
||||||
|
display:none !important;
|
||||||
.topic .scroll { display:block; height:283px; }
|
}
|
||||||
|
|
||||||
.topic .type {position: absolute;
|
.removeFromCanvas {
|
||||||
color: white;
|
display: block;
|
||||||
top: -22px;
|
width: 17px;
|
||||||
right: 0;
|
height: 16px;
|
||||||
font-weight: bold;
|
background: url('removeFromCanvas.png') no-repeat 2px 0;
|
||||||
font-size: 20px;
|
}
|
||||||
line-height: 24px;}
|
|
||||||
|
.removeFromMap {
|
||||||
.topic .icon { position:absolute; top:135px; left:-25px; }
|
display: block;
|
||||||
|
width: 17px;
|
||||||
.topic .title { font-size:22px; line-height:25px; display:block; border-bottom:2px solid #000; padding-bottom:5px; }
|
height: 16px;
|
||||||
|
background: url('removeFromMap.png') no-repeat 2px 0;
|
||||||
.topic .desc { font-size:15px; font-family:Arial, Helvetica, sans-serif; }
|
}
|
||||||
.topic .desc h3 { font-style:normal; margin-top:5px; }
|
|
||||||
|
.deleteTopic {
|
||||||
.topic .link { position:absolute; width:170px; top:295px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
display: block;
|
||||||
|
width: 17px;
|
||||||
.best_in_place_name {
|
height: 16px;
|
||||||
max-width:130px;
|
background: url('delete.png') no-repeat 2px 0;
|
||||||
float:left;
|
}
|
||||||
}
|
|
||||||
|
.topic { display:block; float:left; position:relative; width:175px; height:300px; padding:10px 5px 10px 35px; background: url('bg.png'); border-radius:15px; margin:30px 0 30px 50px; color:#000; }
|
||||||
.best_in_place_name input{
|
|
||||||
max-width:130px;
|
.topic .delete {
|
||||||
}
|
position: absolute;
|
||||||
|
top: -14px;
|
||||||
.topic-go-arrow {
|
left: 0px;
|
||||||
width: 1em;
|
background: none;
|
||||||
height: 1em;
|
border: 0;
|
||||||
float: right;
|
color: white;
|
||||||
}
|
border: none;
|
||||||
|
font-size: 14px;
|
||||||
.gray {
|
margin: 0;
|
||||||
color: #999999;
|
padding: 0;
|
||||||
}
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic .scroll { display:block; height:283px; }
|
||||||
|
|
||||||
|
.topic .type {position: absolute;
|
||||||
|
color: white;
|
||||||
|
top: -22px;
|
||||||
|
right: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 24px;}
|
||||||
|
|
||||||
|
.topic .icon { position:absolute; top:135px; left:-25px; }
|
||||||
|
|
||||||
|
.topic .title { font-size:22px; line-height:25px; display:block; border-bottom:2px solid #000; padding-bottom:5px; }
|
||||||
|
|
||||||
|
.topic .desc { font-size:15px; font-family:Arial, Helvetica, sans-serif; }
|
||||||
|
.topic .desc h3 { font-style:normal; margin-top:5px; }
|
||||||
|
|
||||||
|
.topic .link { position:absolute; width:170px; top:295px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
||||||
|
|
||||||
|
.best_in_place_name {
|
||||||
|
max-width:130px;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.best_in_place_name input{
|
||||||
|
max-width:130px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-go-arrow {
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gray {
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
|
@ -107,14 +107,6 @@ class MapsController < ApplicationController
|
||||||
@map.attributes = params[:map]
|
@map.attributes = params[:map]
|
||||||
@map.save
|
@map.save
|
||||||
|
|
||||||
if params[:outtopics]
|
|
||||||
@outtopics = params[:outtopics]
|
|
||||||
@outtopics.each do |topic|
|
|
||||||
@mapping = Mapping.where("map_id = ? AND topic_id = ?", @map.id, topic).first
|
|
||||||
@mapping.delete
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
respond_with(@user, location: map_path(@map)) do |format|
|
respond_with(@user, location: map_path(@map)) do |format|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -129,7 +129,32 @@ class TopicsController < ApplicationController
|
||||||
# respond_with(@user, location: topic_url(@topic)) do |format|
|
# respond_with(@user, location: topic_url(@topic)) do |format|
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# GET mappings/:map_id/:topic_id/removefrommap
|
||||||
|
def removefrommap
|
||||||
|
@current = current_user
|
||||||
|
@mapping = Mapping.find_by_topic_id_and_map_id(params[:topic_id],params[:map_id])
|
||||||
|
|
||||||
|
@map = Map.find(params[:map_id])
|
||||||
|
@topic = Topic.find(params[:topic_id])
|
||||||
|
@mappings = @map.mappings.select{|m|
|
||||||
|
if m.category == "Synapse"
|
||||||
|
m.synapse.topic1 == @topic || m.synapse.topic2 == @topic
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
}
|
||||||
|
@mappings.each do |m|
|
||||||
|
m.delete
|
||||||
|
end
|
||||||
|
|
||||||
|
@mapping.delete
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# DELETE topics/:id
|
# DELETE topics/:id
|
||||||
def destroy
|
def destroy
|
||||||
@current = current_user
|
@current = current_user
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
<div class="headertop">
|
<div class="headertop">
|
||||||
<% if authenticated? %><button onclick="saveToMap();">Save to Map</button><% end %>
|
<% if authenticated? %><button onclick="saveToMap();">Save to Map</button><% end %>
|
||||||
<button onclick='clearCanvas();'>Clear Canvas</button>
|
<button onclick='clearCanvas();'>Clear Canvas</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfloat"></div>
|
<div class="clearfloat"></div>
|
||||||
<div class="maps" id="container">
|
<div class="maps onCanvas" id="container">
|
||||||
<div id="center-container">
|
<div id="center-container">
|
||||||
<div id="infovis"></div>
|
<div id="infovis"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfloat"></div>
|
<div class="clearfloat"></div>
|
||||||
<% if authenticated? %>
|
<% if authenticated? %>
|
||||||
<%= render :partial => 'topics/new' %>
|
<%= render :partial => 'topics/new' %>
|
||||||
<%= render :partial => 'synapses/new' %>
|
<%= render :partial => 'synapses/new' %>
|
||||||
<%= render :partial => 'maps/new' %>
|
<%= render :partial => 'maps/new' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<script>
|
<script>
|
||||||
//if (json.length > 0) {
|
//if (json.length > 0) {
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
initialize("chaotic", true);
|
initialize("chaotic", true);
|
||||||
});
|
});
|
||||||
//}
|
//}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<%= render :partial => 'find' %>
|
<%= render :partial => 'find' %>
|
||||||
<%= render :partial => 'analyze' %>
|
<%= render :partial => 'analyze' %>
|
||||||
<%= render :partial => 'organize' %>
|
<%= render :partial => 'organize' %>
|
|
@ -4,8 +4,6 @@
|
||||||
<%= form.text_field :name %>
|
<%= form.text_field :name %>
|
||||||
<label for="map_desc">Description</label>
|
<label for="map_desc">Description</label>
|
||||||
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
<%= form.text_area :desc, class: "description", :rows => 5 %>
|
||||||
<label for="outtopics">Remove Topics From Map</label>
|
|
||||||
<%= select_tag "outtopics", options_from_collection_for_select(@outtopics, "id", "name"), { :multiple => true } %>
|
|
||||||
<label for="map_perm">Permission</label>
|
<label for="map_perm">Permission</label>
|
||||||
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @map.permission) %>
|
<%= form.select :permission, options_for_select(['commons', 'public', 'private'], @map.permission) %>
|
||||||
<%= form.submit "Update", class: "update" %>
|
<%= form.submit "Update", class: "update" %>
|
||||||
|
|
|
@ -22,15 +22,31 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfloat nodemargin"></div>
|
<div class="clearfloat nodemargin"></div>
|
||||||
|
|
||||||
<div class="maps" id="container">
|
<div class="maps onMap" id="container">
|
||||||
<div id="center-container">
|
<div id="center-container">
|
||||||
<div id="infovis"></div>
|
<div id="infovis"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="showcard">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfloat"></div>
|
<div class="clearfloat"></div>
|
||||||
|
|
||||||
|
<% if authenticated? %>
|
||||||
|
<%= render :partial => 'newtopic' %>
|
||||||
|
<%= render :partial => 'newsynapse' %>
|
||||||
|
<% end %>
|
||||||
|
<%= form_for @map, :url => realtime_path(@map), :method => "GET", :html => { :id => "MapRealtime"}, remote: true do |form| %>
|
||||||
|
<%= form.hidden_field :time, :value => Time.now.to_i %>
|
||||||
|
<%= form.hidden_field :ids, :value => 0 %>
|
||||||
|
<% end %>
|
||||||
|
<script>
|
||||||
|
var dragged = 0;
|
||||||
|
mapid = <%= @map.id %>;
|
||||||
|
var int = setInterval(function(){
|
||||||
|
if (goRealtime) {
|
||||||
|
$('#MapRealtime').submit();
|
||||||
|
}
|
||||||
|
},4000);
|
||||||
|
</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
viewMode = "graph";
|
viewMode = "graph";
|
||||||
json = <%= @mapjson %>;
|
json = <%= @mapjson %>;
|
||||||
|
@ -48,21 +64,4 @@
|
||||||
initialize("chaotic", true);
|
initialize("chaotic", true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
|
|
||||||
<% if authenticated? %>
|
|
||||||
<%= render :partial => 'newtopic' %>
|
|
||||||
<%= render :partial => 'newsynapse' %>
|
|
||||||
<% end %>
|
|
||||||
<%= form_for @map, :url => realtime_path(@map), :method => "GET", :html => { :id => "MapRealtime"}, remote: true do |form| %>
|
|
||||||
<%= form.hidden_field :time, :value => Time.now.to_i %>
|
|
||||||
<%= form.hidden_field :ids, :value => 0 %>
|
|
||||||
<% end %>
|
|
||||||
<script>
|
|
||||||
var dragged = 0;
|
|
||||||
var int = setInterval(function(){
|
|
||||||
if (goRealtime) {
|
|
||||||
$('#MapRealtime').submit();
|
|
||||||
}
|
|
||||||
},4000);
|
|
||||||
</script>
|
</script>
|
|
@ -1 +1,17 @@
|
||||||
$('#<%= dom_id(@topic) %>').fadeOut('slow');
|
if (Mconsole != null) {
|
||||||
|
var node = Mconsole.graph.getNode(<%= @topic.id %>);
|
||||||
|
node.setData('alpha', 0, 'end');
|
||||||
|
node.eachAdjacency(function(adj) {
|
||||||
|
adj.setData('alpha', 0, 'end');
|
||||||
|
});
|
||||||
|
Mconsole.fx.animate({
|
||||||
|
modes: ['node-property:alpha',
|
||||||
|
'edge-property:alpha'],
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
Mconsole.graph.removeNode(<%= @topic.id %>);
|
||||||
|
Mconsole.labels.disposeLabel(<%= @topic.id %>);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$('#<%= dom_id(@topic) %>').fadeOut('slow');
|
||||||
|
}
|
14
app/views/topics/removefrommap.js.erb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
if (Mconsole != null) {
|
||||||
|
var node = Mconsole.graph.getNode(<%= @mapping.topic_id %>);
|
||||||
|
node.setData('alpha', 0, 'end');
|
||||||
|
node.eachAdjacency(function(adj) {
|
||||||
|
adj.setData('alpha', 0, 'end');
|
||||||
|
});
|
||||||
|
Mconsole.fx.animate({
|
||||||
|
modes: ['node-property:alpha',
|
||||||
|
'edge-property:alpha'],
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
Mconsole.graph.removeNode(<%= @mapping.topic_id %>);
|
||||||
|
Mconsole.labels.disposeLabel(<%= @mapping.topic_id %>);
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ ISSAD::Application.routes.draw do
|
||||||
|
|
||||||
match 'maps/:id/savelayout', to: 'maps#savelayout', via: :put, as: :savelayout
|
match 'maps/:id/savelayout', to: 'maps#savelayout', via: :put, as: :savelayout
|
||||||
match 'maps/:id/realtime', to: 'maps#realtime', via: :get, as: :realtime
|
match 'maps/:id/realtime', to: 'maps#realtime', via: :get, as: :realtime
|
||||||
|
match 'mappings/:map_id/:topic_id/removefrommap', to: 'topics#removefrommap', via: :get, as: :removefrommap
|
||||||
|
|
||||||
resource :session
|
resource :session
|
||||||
|
|
||||||
|
|