|
|
|
@ -203,31 +203,39 @@ Contacts={ |
|
|
|
|
data:undefined, |
|
|
|
|
update:function(id) { |
|
|
|
|
var newid; |
|
|
|
|
if(id == undefined) { |
|
|
|
|
if(!id) { |
|
|
|
|
newid = $('#contacts li:first-child').data('id'); |
|
|
|
|
} else { |
|
|
|
|
newid = id; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var localLoadContact = function(id) { |
|
|
|
|
if($('#contacts li').length > 0) { |
|
|
|
|
$('#leftcontent li[data-id="'+newid+'"]').addClass('active'); |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':newid},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
Contacts.UI.Card.loadContact(jsondata.data); |
|
|
|
|
} else { |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Make sure proper DOM is loaded.
|
|
|
|
|
if(!$('#card')) { |
|
|
|
|
if(!$('#card')[0]) { |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'loadcard.php'),{},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
$('#rightcontent').html(jsondata.data.page); |
|
|
|
|
$('#rightcontent').html(jsondata.data.page).ready(function() { |
|
|
|
|
Contacts.UI.loadHandlers(); |
|
|
|
|
localLoadContact(id); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
if($('#contacts li').length > 0) { |
|
|
|
|
$('#leftcontent li[data-id="'+newid+'"]').addClass('active'); |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':newid},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
Contacts.UI.Card.loadContact(jsondata.data); |
|
|
|
|
} else { |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else if($('#contacts li').length == 0) { |
|
|
|
|
else if($('#contacts li').length == 0) { |
|
|
|
|
// load intro page
|
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'loadintro.php'),{},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
@ -253,62 +261,62 @@ Contacts={ |
|
|
|
|
return false; |
|
|
|
|
}, |
|
|
|
|
add:function(n, fn, aid, isnew){ // add a new contact
|
|
|
|
|
var localAddcontact = function(n, fn, aid, isnew) { |
|
|
|
|
$.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid, isnew: isnew }, |
|
|
|
|
function(jsondata) { |
|
|
|
|
if (jsondata.status == 'success'){ |
|
|
|
|
$('#rightcontent').data('id',jsondata.data.id); |
|
|
|
|
var id = jsondata.data.id; |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':id},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
Contacts.UI.Card.loadContact(jsondata.data); |
|
|
|
|
$('#leftcontent .active').removeClass('active'); |
|
|
|
|
var item = $('<li role="botton" data-id="'+jsondata.data.id+'" class="active" style="background: url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+jsondata.data.id+') no-repeat scroll 0% 0% transparent;">'+Contacts.UI.Card.fn+'</li>'); |
|
|
|
|
var added = false; |
|
|
|
|
$('#leftcontent ul li').each(function(){ |
|
|
|
|
if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) { |
|
|
|
|
$(this).before(item).fadeIn('fast'); |
|
|
|
|
added = true; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if(!added) { |
|
|
|
|
$('#leftcontent ul').append(item); |
|
|
|
|
} |
|
|
|
|
if(isnew) { // add some default properties
|
|
|
|
|
Contacts.UI.Card.addProperty('EMAIL'); |
|
|
|
|
Contacts.UI.Card.addProperty('TEL'); |
|
|
|
|
$('#fn').focus(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$('#contact_identity').show(); |
|
|
|
|
$('#actionbar').show(); |
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var card = $('#card')[0]; |
|
|
|
|
//if(!card) {
|
|
|
|
|
if(!card) { |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'loadcard.php'),{},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
$('#rightcontent').html(jsondata.data.page); |
|
|
|
|
Contacts.UI.loadHandlers(); |
|
|
|
|
$('#rightcontent').html(jsondata.data.page).ready(function() { |
|
|
|
|
Contacts.UI.loadHandlers(); |
|
|
|
|
localAddcontact(n, fn, aid, isnew); |
|
|
|
|
}); |
|
|
|
|
} else{ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//}
|
|
|
|
|
$.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid, isnew: isnew }, |
|
|
|
|
function(jsondata) { |
|
|
|
|
if (jsondata.status == 'success'){ |
|
|
|
|
$('#rightcontent').data('id',jsondata.data.id); |
|
|
|
|
var id = jsondata.data.id; |
|
|
|
|
$.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':id},function(jsondata){ |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
Contacts.UI.Card.loadContact(jsondata.data); |
|
|
|
|
$('#leftcontent .active').removeClass('active'); |
|
|
|
|
var item = $('<li role="botton" data-id="'+jsondata.data.id+'" class="active" style="background: url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+jsondata.data.id+') no-repeat scroll 0% 0% transparent;">'+Contacts.UI.Card.fn+'</li>'); |
|
|
|
|
var added = false; |
|
|
|
|
$('#leftcontent ul li').each(function(){ |
|
|
|
|
if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) { |
|
|
|
|
$(this).before(item).fadeIn('fast'); |
|
|
|
|
added = true; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if(!added) { |
|
|
|
|
$('#leftcontent ul').append(item); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(isnew) { // add some default properties
|
|
|
|
|
Contacts.UI.Card.addProperty('EMAIL'); |
|
|
|
|
Contacts.UI.Card.addProperty('TEL'); |
|
|
|
|
//Contacts.UI.Card.addProperty('NICKNAME');
|
|
|
|
|
//Contacts.UI.Card.addProperty('ORG');
|
|
|
|
|
//Contacts.UI.Card.addProperty('CATEGORIES');
|
|
|
|
|
$('#fn').focus(); |
|
|
|
|
//$('#fn').val('');
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$('#contact_identity').show(); |
|
|
|
|
$('#actionbar').show(); |
|
|
|
|
// TODO: Add to contacts list.
|
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
//alert(jsondata.data.message);
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
localAddcontact(n, fn, aid, isnew); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
doDelete:function() { |
|
|
|
|
$('#contacts_deletecard').tipsy('hide'); |
|
|
|
@ -1455,6 +1463,15 @@ Contacts={ |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
setTimeout(function() { |
|
|
|
|
$('#contacts li').unbind('inview'); |
|
|
|
|
$('#contacts li').bind('inview', function(event, isInView, visiblePartX, visiblePartY) { |
|
|
|
|
if (isInView) { |
|
|
|
|
if (!$(this).attr('style')) { |
|
|
|
|
$(this).css('background','url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+$(this).data('id')+') no-repeat'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
})}, 500); |
|
|
|
|
setTimeout(Contacts.UI.Contacts.lazyupdate, 500); |
|
|
|
|
}, |
|
|
|
|
// Add thumbnails to the contact list as they become visible in the viewport.
|
|
|
|
|