started styling map forms

This commit is contained in:
Connor Turland 2014-02-05 12:37:21 -05:00
parent 4350c0df1b
commit ae46c27bec
12 changed files with 118 additions and 111 deletions

View file

@ -495,11 +495,6 @@ var labelType, useGradients, nativeTextSupport, animate, json, Mconsole = null,
$(this).parents('.CardOnGraph').find('.go-link').attr('href', link);
});
// when you click the addmap button
$('.addMap').click(function(event) {
createNewMap();
});
//bind lightbox clicks
$('.openLightbox').click(function() {
openLightbox($(this).attr('data-open'));
@ -627,11 +622,7 @@ function saveToMap() {
$('#map_topicsToMap').val(nodes_data);
$('#map_synapsesToMap').val(synapses_data);
$('#fork_map').fadeIn('fast');
}
function createNewMap() {
$('#new_map').fadeIn('fast');
openLightbox('forkmap');
}
function fetchRelatives(node) {
@ -701,6 +692,13 @@ function openNodeShowcard(node) {
function openLightbox(which) {
$('.lightboxContent').hide();
$('#' + which).show();
if (which == "forkmap" || which == "newmap") {
$('#lightbox_content').css('background','white');
} else {
$('#lightbox_content').css('background','silver');
}
$('#lightbox_overlay').show();
$('#lightbox_main').css('margin-top', '-' + ($('#lightbox_main').height() / 2) + 'px' );
}

View file

@ -185,10 +185,6 @@ box-shadow: 0 1px 0 rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.2);
.new_session,
.new_user,
.new_map,
.edit_topic,
.edit_synapse,
.edit_map,
.invite {
display: block;
width: 350px;
@ -218,15 +214,6 @@ box-shadow: 0 1px 0 rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.2);
border:2px solid #000;
}
.onConsole .new_map {
display:none;
}
.onConsole .new_map button, .onConsole .new_map input.add {
float:left;
margin-top:5px;
}
.invite p {
margin:10px 0;
}
@ -1558,6 +1545,13 @@ border: solid 2px #000;
cursor:pointer;
}
#about > p {
color: #000;
font-size: 16px;
line-height: 20px;
margin:10px 0;
}
#about ul {
list-style:none;
}
@ -1569,6 +1563,15 @@ border: solid 2px #000;
color:#097A51;
}
/* new map */
.new_map {
color:black;
}
.onConsole .new_map button, .onConsole .new_map input.add {
float:left;
margin-top:5px;
}
/* --- styling the logo button ---*/
/*.footer {
width: 188px;

View file

@ -1,37 +1,10 @@
class SynapsesController < ApplicationController
include TopicsHelper
before_filter :require_user, only: [:new, :create, :edit, :update, :removefrommap, :destroy]
before_filter :require_user, only: [:create, :update, :removefrommap, :destroy]
respond_to :html, :js, :json
# Get synapses/new
def new
@synapse = Synapse.new
@user = current_user
respond_with(@synapse)
end
# GET synapses/:id
def show
@current = current_user
@synapse = Synapse.find(params[:id]).authorize_to_show(@current)
@topic1 = @synapse.topic1.authorize_to_show(@current)
@topic2 = @synapse.topic2.authorize_to_show(@current)
if @synapse && @topic1 && @topic2
@synapsejson = @synapse.selfplusnodes_as_json.html_safe
else
redirect_to root_url and return
end
respond_to do |format|
format.html
format.json { respond_with(@synapsejson) }
end
end
# GET synapses/:id/json
def json
@current = current_user
@ -91,20 +64,6 @@ class SynapsesController < ApplicationController
end
# GET synapses/:id/edit
def edit
@current = current_user
@synapse = Synapse.find(params[:id]).authorize_to_edit(@current)
if @synapse
@topics = Topic.visibleToUser(@current, nil)
elsif not @synapse
redirect_to root_url and return
end
respond_with(@synapse, @topics)
end
# PUT synapses/:id
def update
@current = current_user

View file

@ -1,12 +1,10 @@
class TopicsController < ApplicationController
include TopicsHelper
before_filter :require_user, only: [:new, :create, :edit, :update, :removefrommap, :destroy]
before_filter :require_user, only: [:create, :update, :removefrommap, :destroy]
respond_to :html, :js, :json
#autocomplete :topic, :name, :full => true, :extra_data => [:user_id], :display_value => :topic_autocomplete_method
# GET /topics/autocomplete_topic
def autocomplete_topic
@current = current_user
@ -22,14 +20,6 @@ class TopicsController < ApplicationController
render json: autocomplete_array_json(@topics)
end
# Get topics/new
def new
@topic = Topic.new
@user = current_user
respond_with(@topic)
end
# GET topics/:id
def show
@current = current_user
@ -123,18 +113,6 @@ class TopicsController < ApplicationController
end
end
# GET topics/:id/edit
def edit
@current = current_user
@topic = Topic.find(params[:id]).authorize_to_edit(@current)
if not @topic
redirect_to root_url and return
end
respond_with(@topic)
end
# PUT topics/:id
def update
@current = current_user

View file

@ -6,15 +6,20 @@
<div id="lightbox_overlay">
<div id="lightbox_main">
<a id="lightbox_close" onclick="document.getElementById('lightbox_overlay').style.display = 'none';return false" href="#"></a>
<a id="lightbox_close" onclick="$('#lightbox_overlay').hide();return false" href="#"></a>
<div id="lightbox_content">
<div class="lightboxContent" id="about">
<h3>About Metamaps.cc</h3>
<p>
(not going to be this text)
METAMAPS IS A PLATFORM FOR VISIONING, MAGIC MAKING, PRODUCTIVE CONVERSATION, UNDERSTANDING SOMETHING, INNOVATION, FREE STYLE WEAVING AND ALL NIGHT BRAINSTORMING.
Metamaps is an online interface for communities to build and visualize their shared knowledge. It is a tool to connect people, resources, and ideas in 'big picture' views without losing context or detail.
</p>
<p>
Metamaps provide a natural window into complex systems, sparking insights, creative opportunities, and social synergy. The platform is evolving to meet a growing range of application scenarios.
</p>
<p>
The Metamaps project is a collaborative venture powered by a passionate network of peers, dedicated to the wealth of knowledge we find in common.
</p>
<ul>
@ -56,8 +61,21 @@
</div>
</div>
<% if authenticated? %>
<% # this is the create new map form %>
<div class="lightboxContent" id="newmap">
<%= render :partial => 'maps/new' %>
</div>
<% if (controller_name == "maps" || controller_name == "topics" ) && action_name == "show" %>
<div class="lightboxContent" id="forkmap">
<%= render :partial => 'maps/fork' %>
</div>
<% end %>
<% end %>
</div>
</div>
<div id="lightbox_screen" onclick="document.getElementById('lightbox_overlay').style.display = 'none';return false" style="height: 100%;"></div>
<div id="lightbox_screen" onclick="$('#lightbox_overlay').hide();return false" style="height: 100%;"></div>
</div>

View file

@ -76,17 +76,12 @@
<div id="mainTitle"><%= link_to "metamaps", root_url %></div><!--<div id="beta">beta</div>-->
</div>
<% if authenticated? %>
<div class="addMap"></div>
<div class="addMap openLightbox" data-open="newmap"></div>
<% end %>
</div>
<% end %>
<% if authenticated? %>
<% # this is the create new map form %>
<%= render :partial => 'maps/new' %>
<% end %>
<style type='text/css'>@import url('http://getbarometer.s3.amazonaws.com/assets/barometer/css/barometer.css');</style>
<script src='http://getbarometer.s3.amazonaws.com/assets/barometer/javascripts/barometer.js' type='text/javascript'></script>
<script type="text/javascript" charset="utf-8">

View file

@ -0,0 +1,54 @@
<%#
# @file
# Located at /
# Shows 3 most recently created topics, synapses, and maps.
#%>
<% content_for :title, "FAQ | Metamaps" %>
<h1 class="index">
FAQ
</h1>
<div class="FAQ">
<p class="question">Who may use Metamaps.cc?</p>
<p class="answer">You! We are currently in "beta" mode, meaning that the application is undergoing continuous testing and refinement. However, we welcome participants in this trial process with the understanding that things are evolving, and may hold a few surprises! Request an invite if you'd like to explore and build with us. Feedback is always welcome.</p>
<p class="question">What does it take to learn to Metamap?</p>
<p class="answer">While the interface may not seem familiar at first, we've designed it to be both intuitive and empowering after a bit of practice. There are only a handful of basic functions, like adding topics and drawing "synapse" connections, that are needed get your creative process started. A handy cheat sheet is available on the canvas for reference while mapping, and we have an online manual and tutorials to grasp more advanced functionality. The best way to learn is to start mapping, and to connect with other mappers in our online community.</p>
<p class="question">What is the platform being used for currently?</p>
<p class="answer">At a basic level, metamaps are great for laying out complex ideas and scenarios. We're seeing maps of design work, topical research, project management, and narrative storylines. Some users have been capturing live workshop event documentation, or organizing study groups. We're using it ourselves to organize collaboration and develop strategies for the project. Check out our Featured Maps! We'd love to see what else you can come up with.</p>
<p class="question">Who made this up? Why?</p>
<p class="answer">The Metamaps.cc project was launched as an emergent collaboration between artist Gavin Keech, architect Ishan Shapiro, and web developer Connor Turland over the years 2010-12, with input and inspiration from many other peers and projects. Its design draws from the fields of computational cognition, collective intelligence, and human-computer interaction. We continue to seek optimal and novel ways to connect people and ideas through visual information. </p>
<p class="question">How is MM different from other "mind mapping" apps?</p>
<p class="answer">First and foremost, metamaps bring people together into a shared knowledge environment. Topics and maps "in the commons" invite collaborative editing and shared insight. As new content and connections are made throughout the system, all users benefit from collective intelligence. Other distinguishing factors on the platform include a flexible visual categorization system via metacode icons, no built-in structural biases, and a powerful search tool to find content.</p>
<p class="question">Is this an open source project?</p>
<p class="answer">One of the core principles of our work is the enhancement of the pool of commons resources such as open source technology and shared knowledge. Our basic application framework is licensed as GPL open source on Github for anyone to build on, and this public platform is freely accessible online. Custom features and implementations may be added on to this framework under more restrictive licenses by the development team for partners and clients.</p>
<p class="question">How can I find out more about the project?</p>
<p class="answer">Reading here is a great first step. We also suggest browsing our blog, visiting the Google+ community, or getting in touch by submitting feedback through the site. We occasionally host online and in person meetups where you can interact with other mappers and see how people are using the platform. The story continues to unfold, and we'd be glad for you to take part.</p>
<p class="question">How can I participate, or support the project?</p>
<p class="answer">We welcome contributions in many forms. One of the easiest and best things you can do is to keep on mapping your ideas into the commons on the platform! If you're a developer interested in advancing the technology, please join on Github. Designers and others with professional skills should get in touch about opportunities for freelance collaboration through our innovative Open Value Network organizational structure for business development opportunities. Financial contributions are greatly appreciated in support of our work, and can be made through ______</p>
<p class="question">Are you making money from it? Do you plan to?</p>
<p class="answer">To date, the Metamaps.cc project has been supported by volunteers and small grants or donations. We intend to establish an open collaborative environment to pursue revenue opportunities in an agile and equitable fashion by configuring products and services based on the open source Metamaps technology. Stay tuned for further info via our blog and social media, or get in touch if you'd like to join the team!</p>
<p class="question">I'd like to have a new / different feature. Where can I make suggestions and requests?</p>
<p class="answer">Thanks for giving it some thought. New features and functions are continually added to the platform as we seek to optimize the experience there for all users. If you find that something is calling out for addition or improvement, send us a note via feedback form or in the online community. The more detail and context you can provide, the better! </p>
<p class="question">I made a cool map...want to check it out?</p>
<p class="answer">Yes! Send us the link via feedback form or flag us on social media. We're always curious what mappers are able to do with the platform, and we'd love to pass great examples around so that others can see.</p>
<p class="question">Someone else changed my cool map (or favorite topic) without asking me...sad face :(</p>
<p class="answer">If your map / topic was set to Commons permission for editing, than any other logged-in user on the site will be able to make changes. We consider this a feature, not a bug, which encourages collaborative maps and an evolving collective knowledge garden. You can easily avoid unwanted changes by setting your permissions to Public, which others may still view and copy to another version if they wish. Courtesy, care, and the benefit of the doubt will go a long ways towards maintaining a happy, healthy, and productive communal atmosphere on Metamaps.cc</p>
<p class="question">How do I "_________" on metamaps?</p>
<p class="answer">Link to our cheatsheet stuff...and manual.</p>
</div>

View file

@ -16,12 +16,13 @@
<label for="map_desc">Description</label>
<%= form.text_area :desc, class: "description", :rows => 5 %>
<label for="map_permission">Permission</label>
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
<%= form.hidden_field :permission, :value => "commons" %>
<p>Topics and synapses you create newly on this map will be set by default to the permissions of your map.</p>
<%= form.hidden_field :topicsToMap, :value => 0 %>
<%= form.hidden_field :synapsesToMap, :value => 0 %>
<%= form.submit "Save", class: "add" %>
<button class="button" onclick="$('#fork_map').fadeOut('fast'); event.preventDefault();">Cancel</button>
<button class="button" onclick="$('#lightbox_overlay').hide();return false">Cancel</button>
<div class="clearfloat"></div>
<% end %>
</div>

View file

@ -9,11 +9,12 @@
<%= form.text_field :name %>
<label for="map_desc">Description</label>
<%= form.text_area :desc, class: "description", :rows => 5 %>
<label for="map_permission">Permission</label>
<%= form.select(:permission, options_for_select(['commons', 'public', 'private'])) %>
<label for="map_permission">Permission</label>
<%= form.hidden_field :permission, :value => "commons" %>
<p>Topics and synapses you create newly on this map will be set by default to the permissions of your map.</p>
<%= form.submit "Save", class: "add" %>
<button class="button" onclick="$('#new_map').fadeOut('fast'); event.preventDefault();">Cancel</button>
<button class="button" onclick="$('#lightbox_overlay').hide();return false">Cancel</button>
<div class="clearfloat"></div>
<% end %>
</div>

View file

@ -11,7 +11,9 @@
<div class="sidebarWandIcon"></div>
<div class="sidebarWandBox">
<ul>
<% if @map.permission == "commons" || @map.user == user %>
<li class="wandIcon wandSaveLayout">Save Layout</li>
<% end %>
<li class="wandIcon wandForkMap">Save To New Map</li>
<!--<li class="wandIcon wandChangeMetacodes">Switch Metacode Set</li>-->
</ul>
@ -53,7 +55,6 @@
<% if authenticated? %>
<%= render :partial => 'newtopic' %>
<%= render :partial => 'newsynapse' %>
<%= render :partial => 'maps/fork' %>
<% # for saving layouts %>
<% if @map.permission == "commons" || @map.user == user %>

View file

@ -37,7 +37,7 @@
</div>
<div class="index">
<div class="openCheatsheet"></div>
<div class="openCheatsheet openLightbox" data-open="cheatsheet"></div>
<span><img width="35" height="35" src="/assets/<%= @topic.metacode.icon %>"></span>
<span class="mapName"><%= @topic.name %></span>
<div class="clearfloat"></div>
@ -182,6 +182,5 @@
<% if authenticated? %>
<%= render :partial => 'topics/new' %>
<%= render :partial => 'synapses/new' %>
<%= render :partial => 'maps/fork' %>
<% end %>

View file

@ -3,8 +3,8 @@ ISSAD::Application.routes.draw do
root to: 'main#home', via: :get
match 'request', to: 'main#requestinvite', via: :get, as: :request
match 'invite', to: 'main#invite', via: :get, as: :invite
match 'faq', to: 'main#faq', via: :get, as: :faq
match '/search/topics', to: 'main#searchtopics', via: :get, as: :searchtopics
match '/search/maps', to: 'main#searchmaps', via: :get, as: :searchmaps
@ -15,15 +15,15 @@ ISSAD::Application.routes.draw do
match 'topics/:map_id/:topic_id/removefrommap', to: 'topics#removefrommap', via: :post, as: :removefrommap
match 'synapses/:map_id/:synapse_id/removefrommap', to: 'synapses#removefrommap', via: :post, as: :removefrommap
resources :topics, except: :index do
resources :topics, except: [:index, :new, :edit] do
get :autocomplete_topic, :on => :collection
end
match 'topics/:id/:format', to: 'topics#json', via: :get, as: :json
resources :synapses, except: :index
resources :synapses, except: [:index, :new, :edit, :show]
match 'synapses/:id/:format', to: 'synapses#json', via: :get, as: :json
resources :maps
resources :maps, except: [:new, :edit]
match 'maps/:id/embed', to: 'maps#embed', via: :get, as: :embed
match 'maps/:id/:format', to: 'maps#json', via: :get, as: :json