From ac63afbd95b87475f9f6bf4eae76540cb70d05fb Mon Sep 17 00:00:00 2001 From: Thomas Tanghus Date: Mon, 9 Jan 2012 22:05:28 +0100 Subject: [PATCH] Insert new contacts alphabetically correct in the list. Added some tipsys to the editor. --- apps/contacts/css/styles.css | 2 +- apps/contacts/js/interface.js | 27 ++++++++++++++++++++---- apps/contacts/templates/part.details.php | 5 +++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/apps/contacts/css/styles.css b/apps/contacts/css/styles.css index c890be85824..7b56767bab0 100644 --- a/apps/contacts/css/styles.css +++ b/apps/contacts/css/styles.css @@ -4,7 +4,7 @@ #contacts_details_name { font-weight:bold;font-size:1.1em;margin-left:25%;} #contacts_details_photo { margin:.5em 0em .5em 25%; } -#contacts_deletecard {position:absolute;top:15px;right:0;} +#contacts_deletecard {position:absolute;top:15px;right:15px;} #contacts_details_list { list-style:none; } #contacts_details_list li { overflow:visible; } #contacts_details_list li p.contacts_property_name { width:25%; float:left;text-align:right;padding-right:0.3em;color:#666; } diff --git a/apps/contacts/js/interface.js b/apps/contacts/js/interface.js index b9f75bdf71a..187c8941dcf 100644 --- a/apps/contacts/js/interface.js +++ b/apps/contacts/js/interface.js @@ -236,7 +236,10 @@ $(document).ready(function(){ Contacts.UI.Addressbooks.overview(); return false; }); - + + /** + * Open blank form to add new contact. + */ $('#contacts_newcontact').click(function(){ $.getJSON('ajax/showaddcard.php',{},function(jsondata){ if(jsondata.status == 'success'){ @@ -250,14 +253,28 @@ $(document).ready(function(){ }); return false; }); - + + /** + * Add and insert a new contact into the list. + */ $('#contacts_addcardform input[type="submit"]').live('click',function(){ $.post('ajax/addcard.php',$('#contacts_addcardform').serialize(),function(jsondata){ if(jsondata.status == 'success'){ $('#rightcontent').data('id',jsondata.data.id); $('#rightcontent').html(jsondata.data.page); $('#leftcontent .active').removeClass('active'); - $('#leftcontent ul').append('
  • '+jsondata.data.name+'
  • '); + var item = '
  • '+jsondata.data.name+'
  • '; + var added = false; + $('#leftcontent ul li').each(function(){ + if ($(this).text().toLowerCase() > jsondata.data.name.toLowerCase()) { + $(this).before(item).fadeIn('fast'); + added = true; + return false; + } + }); + if(!added) { + $('#leftcontent ul').append(item); + } } else{ alert(jsondata.data.message); @@ -265,7 +282,6 @@ $(document).ready(function(){ }, 'json'); return false; }); - $('.contacts_property [data-use="edit"]').live('click',function(){ var id = $('#rightcontent').data('id'); var checksum = $(this).parents('.contacts_property').first().data('checksum'); @@ -338,4 +354,7 @@ $(document).ready(function(){ // element has gone out of viewport } }); + + $('.action').tipsy(); + $('.button').tipsy(); }); diff --git a/apps/contacts/templates/part.details.php b/apps/contacts/templates/part.details.php index afad0b7f64c..1482c063685 100644 --- a/apps/contacts/templates/part.details.php +++ b/apps/contacts/templates/part.details.php @@ -86,3 +86,8 @@ +