- Pre-select address type on adding a new address

- Fix reset of field adding select
This commit is contained in:
Thomas Müller 2016-03-03 16:11:35 +01:00
parent 56f267a6d2
commit 50689b8e15
4 changed files with 17 additions and 9 deletions

View File

@ -10,6 +10,7 @@ app.controller('contactdetailsCtrl', ['ContactService', 'AddressBookService', 'v
ctrl.fieldDefinitions = vCardPropertiesService.fieldDefinitions;
ctrl.focus = undefined;
ctrl.field = undefined;
$scope.addressBooks = [];
ctrl.addressBooks = [];
@ -55,11 +56,11 @@ app.controller('contactdetailsCtrl', ['ContactService', 'AddressBookService', 'v
};
ctrl.addField = function(field) {
var defaultValue = vCardPropertiesService.getMeta(field).defaultValue || '';
var idx = ctrl.contact.addProperty(field, {value: defaultValue});
var defaultValue = vCardPropertiesService.getMeta(field).defaultValue || {value: ''};
ctrl.contact.addProperty(field, defaultValue);
ctrl.singleProperties = ctrl.contact.getSingleProperties();
ctrl.focus = field;
$scope.field = '';
ctrl.field = '';
};
ctrl.deleteField = function (field, index) {

View File

@ -230,6 +230,7 @@ app.controller('contactdetailsCtrl', ['ContactService', 'AddressBookService', 'v
ctrl.fieldDefinitions = vCardPropertiesService.fieldDefinitions;
ctrl.focus = undefined;
ctrl.field = undefined;
$scope.addressBooks = [];
ctrl.addressBooks = [];
@ -275,11 +276,11 @@ app.controller('contactdetailsCtrl', ['ContactService', 'AddressBookService', 'v
};
ctrl.addField = function(field) {
var defaultValue = vCardPropertiesService.getMeta(field).defaultValue || '';
var idx = ctrl.contact.addProperty(field, {value: defaultValue});
var defaultValue = vCardPropertiesService.getMeta(field).defaultValue || {value: ''};
ctrl.contact.addProperty(field, defaultValue);
ctrl.singleProperties = ctrl.contact.getSingleProperties();
ctrl.focus = field;
$scope.field = '';
ctrl.field = '';
};
ctrl.deleteField = function (field, index) {
@ -1132,7 +1133,10 @@ app.service('vCardPropertiesService', [function() {
multiple: true,
readableName: t('contacts', 'Address'),
template: 'adr',
defaultValue: ['', '', '', '', '', '', ''],
defaultValue: {
value:['', '', '', '', '', '', ''],
meta:{type:['HOME']}
},
options: [
{id: 'HOME', name: t('contacts', 'Home')},
{id: 'WORK', name: t('contacts', 'Work')},

View File

@ -39,7 +39,10 @@ app.service('vCardPropertiesService', [function() {
multiple: true,
readableName: t('contacts', 'Address'),
template: 'adr',
defaultValue: ['', '', '', '', '', '', ''],
defaultValue: {
value:['', '', '', '', '', '', ''],
meta:{type:['HOME']}
},
options: [
{id: 'HOME', name: t('contacts', 'Home')},
{id: 'WORK', name: t('contacts', 'Work')},

View File

@ -18,7 +18,7 @@
<select ng-model="addressBook" ng-change="ctrl.changeAddressBook(addressBook)" ng-options="book.id for book in addressBooks track by book.id">
</select>
</div>
<select class="add-field" ng-model="field" ng-change="ctrl.addField(field)">
<select class="add-field" ng-model="ctrl.field" ng-change="ctrl.addField(ctrl.field)">
<option value=''>{{ctrl.t.selectField}}</option>
<option ng-repeat="field in ctrl.fieldDefinitions | fieldFilter: ctrl.contact | orderBy : 'name'" value="{{field.id}}">{{field.name}}</option>
</select>