Skip to content
Extraits de code Groupes Projets
Valider d0569fb8 rédigé par danielgrippi's avatar danielgrippi
Parcourir les fichiers

simplified functionality on aspect edit faceboxes

parent c259fc65
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 135 ajouts et 27 suppressions
......@@ -136,6 +136,17 @@ class AspectsController < ApplicationController
respond_with @aspect
end
def toggle_contact_visibility
@aspect = current_user.aspects.where(:id => params[:aspect_id]).first
if @aspect.contacts_visible?
@aspect.contacts_visible = false
else
@aspect.contacts_visible = true
end
@aspect.save
end
def move_contact
@person = Person.find(params[:person_id])
@from_aspect = current_user.aspects.where(:id => params[:from]).first
......
......@@ -3,7 +3,7 @@
%b
= link_to t('contacts', :count => contacts.size), edit_aspect_path(aspect), :rel => 'facebox'
%b
= link_to aspect.name, edit_aspect_path(aspect), :rel => 'facebox'
= link_to aspect.name, edit_aspect_path(aspect), :rel => 'facebox', :class => 'name'
%br
- if contacts.length > 0
......
......@@ -6,25 +6,34 @@
= include_javascripts :aspects
#aspect_edit_pane
#facebox_header
%h4
= @aspect
.description
= t('contacts', :count =>@aspect_contacts_count)
#facebox_header{:data=>{:guid=>@aspect.id}}
.right
= t('contacts', :count =>@aspect_contacts_count)
- if @aspect.contacts_visible
= link_to image_tag('icons/padlock-open.png', :height => 16, :width => 16, :id => "contact_visibility_padlock", :class => 'open'),
"aspects/#{@aspect.id}/toggle_contact_visibility", :remote => true
- else
= link_to image_tag('icons/padlock-closed.png', :height => 16, :width => 16, :id => "contact_visibility_padlock"),
"aspects/#{@aspect.id}/toggle_contact_visibility", :remote => true
%h3#aspect_name_title
%span.name= @aspect
%span.tiny_text
= link_to 'rename', '#', :id => 'rename_aspect_link'
#aspect_name_edit.hidden
= form_for @aspect, :remote => true do |aspect|
= aspect.text_field :name
= aspect.submit 'update', :disable_with => 'updating', :class => 'button'
- if @contacts.count > 0
= render 'shared/contact_list', :aspect => @aspect, :contacts => @contacts
#aspect_edit_controls
= link_to t('delete'), @aspect, :method => "delete", :confirm => t('.confirm_remove_aspect')
#rename_aspect
= form_for @aspect do |asp|
= asp.text_field :name
%p.checkbox_select{:style => 'font-size:14px'}
= asp.label :contacts_visible, t('.make_aspect_list_visible')
= asp.check_box :contacts_visible
%br
%div{:style => "text-align:right;"}
= asp.submit t('.save'), :class => 'button'
%br
%div{:style => "text-align:right;"}
= link_to t('.done'), '#', :class => 'button', :rel => 'close'
= link_to t('delete'), @aspect, :method => "delete", :confirm => t('.confirm_remove_aspect'), :class => 'button'
......@@ -31,11 +31,6 @@
%h4
= new_request_link(@request_count)
#new_notifications
- if @notification_count > 0
= image_tag 'icons/mail_big.png', :height => 20, :width => 20, :style=>"margin-top:3px;"
%h4
= new_notification_link(@notification_count)
%hr
- if @invites > 0
......
$(document).ready(function() {
var padlockImg = $("#contact_visibility_padlock");
if(padlockImg.hasClass('open')) {
padlockImg.attr('src', 'images/icons/padlock-closed.png');
} else {
padlockImg.attr('src', 'images/icons/padlock-open.png');
}
padlockImg.toggleClass('open');
});
$(document).ready(function() {
var newName = "<%= @aspect.name %>"
$("#aspect_name").val( newName );
$("*[data-guid='<%= @aspect.id %>']").find('.name').html( newName );
});
......@@ -51,7 +51,7 @@
- for aspect in @all_aspects
%li{:data=>{:guid=>aspect.id}, :class => ("selected" if @object_aspect_ids.include?(aspect.id))}
= link_for_aspect(aspect, :class => 'aspect_selector', :title => t('contacts', :count => aspect.contacts.size))
= link_for_aspect(aspect, :class => 'aspect_selector name', :title => t('contacts', :count => aspect.contacts.size))
%li
= link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('aspects.manage.add_a_new_aspect'), :rel => 'facebox'
......
......@@ -52,6 +52,7 @@ javascripts:
- public/javascripts/publisher.js
- public/javascripts/aspect-filters.js
- public/javascripts/contact-list.js
- public/javascripts/aspect-edit-pane.js
people:
- public/javascripts/vendor/jquery.autoSuggest.js
photos:
......
......@@ -167,7 +167,7 @@ en:
remove_aspect: "Delete this aspect"
confirm_remove_aspect: "Are you sure you want to delete this aspect?"
add_existing: "Add an existing contact"
save: "Save"
done: "Done"
rename: "rename"
make_aspect_list_visible: "make aspect list visible to others in aspect"
aspect_contacts:
......
......@@ -63,7 +63,9 @@ Diaspora::Application.routes.draw do
match 'aspects/add_to_aspect', :to => 'aspects#add_to_aspect', :as => 'add_to_aspect'
match 'aspects/remove_from_aspect',:to => 'aspects#remove_from_aspect', :as => 'remove_from_aspect'
match 'aspects/manage', :to => 'aspects#manage'
resources :aspects
resources :aspects do
match '/toggle_contact_visibility', :to => 'aspects#toggle_contact_visibility'
end
#public routes
match 'webfinger', :to => 'publics#webfinger'
......
public/images/icons/padlock-closed.png

486 octets

public/images/icons/padlock-open.png

467 octets

/* Copyright (c) 2010, Diaspora Inc. This file is
* licensed under the Affero General Public License version 3 or later. See
* the COPYRIGHT file.
*/
function toggleAspectTitle(){
$("#aspect_name_title").toggleClass('hidden');
$("#aspect_name_edit").toggleClass('hidden');
}
$(document).ready(function() {
$('#rename_aspect_link').live('click', function(){
toggleAspectTitle();
});
$(".edit_aspect").live('ajax:success', function(data, json, xhr) {
toggleAspectTitle();
});
});
......@@ -58,6 +58,9 @@ var View = {
$.facebox.settings.closeImage = '/images/facebox/closelabel.png'
$.facebox.settings.loadingImage = '/images/facebox/loading.gif'
$('a[rel*=facebox]').facebox();
/* facebox 'done' buttons */
$("a[rel*=close]").live('click', function(){ $.facebox.close() });
},
addAspectButton: {
......
......@@ -1191,7 +1191,6 @@ ul#aspect_nav
.tip
:display inline
.aspect_name
:position relative
......@@ -2340,6 +2339,7 @@ ul.show_comments
:width 200px
#facebox_header
:position relative
:padding 1em
:background
:color #222
......@@ -2350,11 +2350,38 @@ ul.show_comments
:-moz-border-radius 5px 5px 0 0
:border-radius 5px 5px 0 0
.right
:z-index 3
:right 1em
:top 14px
:color #ccc
img
:vertical
:align top
:position relative
:top 0px
h3,
h4
:color #eee
:margin
:bottom 0
.description
:margin
:top 0px
:left -3px
.tiny_text
:font
:size 11px
:weight normal
#facebox
.close
:display none
#aspect_edit_controls
:margin
:top 8px
......@@ -2709,3 +2736,6 @@ ul.show_comments
:align right
:margin
:right 5px
#contact_visibility_padlock:hover
:opacity 0.7
......@@ -279,6 +279,26 @@ describe AspectsController do
describe "#hashes_for_posts" do
it 'returns only distinct people' do
pending
end
end
describe "#toggle_contact_visibility" do
it 'sets contacts visible' do
@aspect0.contacts_visible = false
@aspect0.save
get :toggle_contact_visibility, :format => 'js', :aspect_id => @aspect0.id
@aspect0.reload.contacts_visible.should be_true
end
it 'sets contacts hidden' do
@aspect0.contacts_visible = true
@aspect0.save
get :toggle_contact_visibility, :format => 'js', :aspect_id => @aspect0.id
@aspect0.reload.contacts_visible.should be_false
end
end
end
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter