mirror of
https://github.com/owncloudarchive/contacts.git
synced 2025-01-18 07:52:21 +01:00
Preliminary support for Apple X-ABLabel. Also for oc-1508.
This commit is contained in:
parent
f0e20c4640
commit
ded6b9ba46
@ -32,7 +32,7 @@
|
||||
|
||||
#card input[type="text"].contacts_property,input[type="email"].contacts_property,input[type="url"].contacts_property { width: 14em; float: left; font-weight: bold; }
|
||||
.categories { float: left; width: 16em; }
|
||||
#card input[type="text"],input[type="email"],input[type="url"],input[type="tel"],input[type="date"], select, textarea { background-color: #fefefe; border: 0 !important; -webkit-appearance:none !important; -moz-appearance:none !important; -webkit-box-sizing:none !important; -moz-box-sizing:none !important; box-sizing:none !important; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; float: left; }
|
||||
#card input[type="checkbox"].contacts_property,input[type="text"],input[type="email"],input[type="url"],input[type="tel"],input[type="date"], select, textarea { background-color: #fefefe; border: 0 !important; -moz-appearance:none !important; -webkit-box-sizing:none !important; -moz-box-sizing:none !important; box-sizing:none !important; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; float: left; }
|
||||
#card input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active,input[type="email"]:hover,input[type="url"]:hover,input[type="tel"]:hover,input[type="date"]:hover,input[type="date"],input[type="date"]:hover,input[type="date"]:active,input[type="date"]:active,input[type="date"]:active,input[type="email"]:active,input[type="url"]:active,input[type="tel"]:active, select:hover, select:focus, select:active, textarea:focus, textarea:hover { border: 0 !important; -webkit-appearance:textfield; -moz-appearance:textfield; -webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box; background:#fff; color:#333; border:1px solid #ddd; -moz-box-shadow:0 1px 1px #ddd, 0 2px 0 #bbb inset; -webkit-box-shadow:0 1px 1px #ddd, 0 1px 0 #bbb inset; box-shadow:0 1px 1px #ddd, 0 1px 0 #bbb inset; -moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em; outline:none; float: left; }
|
||||
textarea { width: 80%; min-height: 5em; min-width: 30em; margin: 0 !important; padding: 0 !important; outline: 0 !important;}
|
||||
dl.form { width: 100%; float: left; clear: right; margin: 0; padding: 0; cursor: normal; }
|
||||
@ -72,11 +72,11 @@ label:hover, dt:hover { color: #333; }
|
||||
#name { /*position: absolute; top: 0px; left: 0px;*/ min-width: 25em; height: 2em; clear: right; display: block; }
|
||||
#identityprops { /*position: absolute; top: 2.5em; left: 0px;*/ }
|
||||
#contact_photo { float: left; margin: 1em; }
|
||||
#contact_identity { min-width: 30em; }
|
||||
#contact_identity { min-width: 30em; padding: 0.5em;}
|
||||
.contactsection { position: relative; float: left; width: 35em; padding: 0.5em; height: auto; }
|
||||
|
||||
#cropbox { margin: auto; }
|
||||
#contacts_details_photo_wrapper { width: 200px; }
|
||||
#contacts_details_photo_wrapper { width: 150px; }
|
||||
#contacts_details_photo_wrapper.wait { opacity: 0.6; filter:alpha(opacity=0.6); z-index:1000; background: url('%webroot%/core/img/loading.gif') no-repeat center center; cursor: wait; }
|
||||
.contacts_details_photo { border-radius: 0.5em; border: thin solid #bbb; margin: 0.3em; background: url('%webroot%/core/img/loading.gif') no-repeat center center; -moz-box-shadow: 0 1px 3px #777; -webkit-box-shadow: 0 1px 3px #777; box-shadow: 0 1px 3px #777; opacity: 1; }
|
||||
.contacts_details_photo:hover { background: #fff; cursor: default; }
|
||||
@ -120,9 +120,10 @@ input[type="checkbox"] { width: 20px; height: 20px; vertical-align: bottom; }
|
||||
.propertylist { clear: none; max-width: 28em; }
|
||||
.propertylist li.propertycontainer { white-space: nowrap; min-width: 35em; /*max-width: 30em;*/ display: block; clear: right; }
|
||||
.propertycontainer[data-element="EMAIL"] > input[type="email"],.propertycontainer[data-element="TEL"] > input[type="text"] { min-width: 12em !important; float: left; }
|
||||
.propertylist li > input[type="checkbox"],input[type="radio"] { float: left; clear: left; width: 20px; height: 20px; vertical-align: middle; }
|
||||
.propertylist li > input[type="checkbox"],input[type="radio"] { float: left; clear: left; width: 16px; height: 16px; vertical-align: middle; padding: 0; }
|
||||
.propertylist li > select { float: left; max-width: 8em; }
|
||||
.typelist[type="button"] { float: left; max-width: 10em; border: 0; background-color: #fff; color: #bbb} /* for multiselect */
|
||||
.propertylist li > label.xab { display: block; color: #bbb; float:left; clear: both; padding: 0.5em 0 0 2.5em; }
|
||||
.typelist[type="button"] { float: left; max-width: 10em; border: 0; background-color: #fff; color: #bbb; box-shadow: none; } /* for multiselect */
|
||||
.typelist[type="button"]:hover { color: #777; } /* for multiselect */
|
||||
.addresslist { clear: both; font-weight: bold; }
|
||||
#ninjahelp { position: absolute; bottom: 0; left: 0; right: 0; padding: 1em; margin: 1em; opacity: 0.9; }
|
||||
|
@ -1231,6 +1231,7 @@ OC.Contacts={
|
||||
$(this.photo).load(function () {
|
||||
$('img.contacts_details_photo').remove()
|
||||
$(this).addClass('contacts_details_photo');
|
||||
wrapper.css('width', $(this).get(0).width + 10);
|
||||
wrapper.removeClass('loading').removeClass('wait');
|
||||
$(this).insertAfter($('#phototools')).fadeIn();
|
||||
}).error(function () {
|
||||
@ -1304,8 +1305,11 @@ OC.Contacts={
|
||||
var emaillist = $('#emaillist');
|
||||
for(var mail in this.data.EMAIL) {
|
||||
this.addMail();
|
||||
//$('#emaillist li:first-child').clone().appendTo($('#emaillist')).show();
|
||||
var curemail = emaillist.find('li:last-child');
|
||||
emaillist.find('li:last-child').find('select').multiselect('destroy');
|
||||
var curemail = emaillist.find('li.propertycontainer:last-child');
|
||||
if(typeof this.data.EMAIL[mail].label != 'undefined') {
|
||||
curemail.prepend('<label class="xab">'+this.data.EMAIL[mail].label+'</label>');
|
||||
}
|
||||
curemail.data('checksum', this.data.EMAIL[mail]['checksum'])
|
||||
curemail.find('input[type="email"]').val(this.data.EMAIL[mail]['value']);
|
||||
for(var param in this.data.EMAIL[mail]['parameters']) {
|
||||
@ -1363,18 +1367,22 @@ OC.Contacts={
|
||||
var phonelist = $('#phonelist');
|
||||
for(var phone in this.data.TEL) {
|
||||
this.addPhone();
|
||||
phonelist.find('li:last-child').find('select').multiselect('destroy');
|
||||
phonelist.find('li:last-child').data('checksum', this.data.TEL[phone]['checksum'])
|
||||
phonelist.find('li:last-child').find('input[type="text"]').val(this.data.TEL[phone]['value']);
|
||||
var curphone = phonelist.find('li.propertycontainer:last-child');
|
||||
if(typeof this.data.TEL[phone].label != 'undefined') {
|
||||
curphone.prepend('<label class="xab">'+this.data.TEL[phone].label+'</label>');
|
||||
}
|
||||
curphone.find('select').multiselect('destroy');
|
||||
curphone.data('checksum', this.data.TEL[phone]['checksum'])
|
||||
curphone.find('input[type="text"]').val(this.data.TEL[phone]['value']);
|
||||
for(var param in this.data.TEL[phone]['parameters']) {
|
||||
if(param.toUpperCase() == 'PREF') {
|
||||
phonelist.find('li:last-child').find('input[type="checkbox"]').attr('checked', 'checked');
|
||||
curphone.find('input[type="checkbox"]').attr('checked', 'checked');
|
||||
}
|
||||
else if(param.toUpperCase() == 'TYPE') {
|
||||
for(ptype in this.data.TEL[phone]['parameters'][param]) {
|
||||
var found = false;
|
||||
var pt = this.data.TEL[phone]['parameters'][param][ptype];
|
||||
phonelist.find('li:last-child').find('select option').each(function() {
|
||||
curphone.find('select option').each(function() {
|
||||
//if ($(this).val().toUpperCase() == pt.toUpperCase()) {
|
||||
if ($.inArray($(this).val().toUpperCase(), pt.toUpperCase().split(',')) > -1) {
|
||||
$(this).attr('selected', 'selected');
|
||||
@ -1382,12 +1390,12 @@ OC.Contacts={
|
||||
}
|
||||
});
|
||||
if(!found) {
|
||||
phonelist.find('li:last-child').find('select option:last-child').after('<option class="custom" value="'+pt+'" selected="selected">'+pt+'</option>');
|
||||
curphone.find('select option:last-child').after('<option class="custom" value="'+pt+'" selected="selected">'+pt+'</option>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
phonelist.find('li:last-child').find('select').multiselect({
|
||||
curphone.find('select').multiselect({
|
||||
noneSelectedText: t('contacts', 'Select type'),
|
||||
header: false,
|
||||
selectedList: 4,
|
||||
|
@ -129,6 +129,7 @@ class OC_Contacts_App {
|
||||
return array(
|
||||
'WORK' => $l->t('Work'),
|
||||
'HOME' => $l->t('Home'),
|
||||
'OTHER' => $l->t('Other'),
|
||||
);
|
||||
case 'TEL':
|
||||
return array(
|
||||
@ -141,6 +142,7 @@ class OC_Contacts_App {
|
||||
'FAX' => $l->t('Fax'),
|
||||
'VIDEO' => $l->t('Video'),
|
||||
'PAGER' => $l->t('Pager'),
|
||||
'OTHER' => $l->t('Other'),
|
||||
);
|
||||
case 'EMAIL':
|
||||
return array(
|
||||
|
@ -562,6 +562,12 @@ class OC_Contacts_VCard{
|
||||
foreach($object->children as $property){
|
||||
$temp = self::structureProperty($property);
|
||||
if(!is_null($temp)) {
|
||||
if(isset($object->{$property->group . '.X-ABLABEL'})) {
|
||||
$temp['label'] = $object->{$property->group . '.X-ABLABEL'}->value;
|
||||
if($temp['label'] == '_$!<Other>!$_') {
|
||||
$temp['label'] = OC_Contacts_App::$l10n->t('Other');
|
||||
}
|
||||
}
|
||||
if(array_key_exists($property->name, $details)) {
|
||||
$details[$property->name][] = $temp;
|
||||
}
|
||||
@ -612,7 +618,7 @@ class OC_Contacts_VCard{
|
||||
// Faulty entries by kaddressbook
|
||||
// Actually TYPE=PREF is correct according to RFC 2426
|
||||
// but this way is more handy in the UI. Tanghus.
|
||||
if($parameter->name == 'TYPE' && $parameter->value == 'PREF') {
|
||||
if($parameter->name == 'TYPE' && strtoupper($parameter->value) == 'PREF') {
|
||||
$parameter->name = 'PREF';
|
||||
$parameter->value = '1';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user