diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js index 7e0fe8b41cf6dc551b033dad6f3fa81e703df51c..edb7da70407be80a20a56f729dc2c5fc8d38456d 100644 --- a/apps/contacts/js/contacts.js +++ b/apps/contacts/js/contacts.js @@ -12,6 +12,14 @@ String.prototype.strip_tags = function(){ Contacts={ UI:{ + notification:function(msg, ndata) { + $('#notification').text(msg); + if(data) { + $('#notification').data(ndata[0],ndata[1]); + } + $('#notification').fadeIn(); + setTimeout($('#notification').fadeOut(), 10000); + }, notImplemented:function() { OC.dialogs.alert(t('contacts', 'Sorry, this functionality has not been implemented yet'), t('contacts', 'Not implemented')); }, @@ -1536,6 +1544,10 @@ $(document).ready(function(){ OCCategories.changed = Contacts.UI.Card.categoriesChanged; OCCategories.app = 'contacts'; + $('#notification').click(function(){ + $('#notification').fadeOut(); + }); + $('#chooseaddressbook').click(function(){ Contacts.UI.Addressbooks.overview(); return false; diff --git a/apps/contacts/js/jquery.combobox.js b/apps/contacts/js/jquery.combobox.js index f46d7c14c183b7eb0bfc9efcf3bd16d795120cbc..25f0f09429645886dd784ee497c09180b55e128f 100644 --- a/apps/contacts/js/jquery.combobox.js +++ b/apps/contacts/js/jquery.combobox.js @@ -53,13 +53,13 @@ return false; } }); - /*if ( !valid ) { + if ( !self.options['editable'] && !valid ) { // remove invalid value, as it didn't match anything $( this ).val( "" ); select.val( "" ); input.data( "autocomplete" ).term = ""; return false; - }*/ + } } } }) @@ -93,13 +93,14 @@ input.autocomplete( "search", "" ); input.focus(); });*/ + this.options['editable'] = true; $.each(this.options, function(key, value) { self._setOption(key, value); }); }, destroy: function() { this.input.remove(); - this.button.remove(); + //this.button.remove(); this.element.show(); $.Widget.prototype.destroy.call( this ); }, @@ -113,26 +114,29 @@ }, _setOption: function( key, value ) { switch( key ) { - case "id": + case 'id': this.options['id'] = value; this.input.attr('id', value); break; - case "name": + case 'name': this.options['name'] = value; this.input.attr('name', value); break; - case "attributes": + case 'attributes': var input = this.input; $.each(this.options['attributes'], function(key, value) { input.attr(key, value); }); break; - case "classes": + case 'classes': var input = this.input; $.each(this.options['classes'], function(key, value) { input.addClass(value); }); break; + case 'editable': + this.options['editable'] = value; + break; } // In jQuery UI 1.8, you have to manually invoke the _setOption method from the base widget $.Widget.prototype._setOption.apply( this, arguments ); @@ -141,7 +145,8 @@ }, options: { id: null, - name: null + name: null, + editable: true }, }); })( jQuery ); diff --git a/apps/contacts/templates/part.no_contacts.php b/apps/contacts/templates/part.no_contacts.php index 6c21511e86749488d3a90a17731bcedc29bb8783..5faa481bc3cdc02196e0e58f731877447d0d6bc6 100644 --- a/apps/contacts/templates/part.no_contacts.php +++ b/apps/contacts/templates/part.no_contacts.php @@ -1,8 +1,7 @@ <div id="firstrun"> <?php echo $l->t('You have no contacts in your addressbook.') ?> <div id="selections"> - <input type="button" value="<?php echo $l->t('Import contacts') ?>" onclick="Contacts.UI.Addressbooks.doImport()" /> <input type="button" value="<?php echo $l->t('Add contact') ?>" onclick="Contacts.UI.Card.editNew()" /> - <input type="button" value="<?php echo $l->t('Edit addressbooks') ?>" onclick="Contacts.UI.Addressbooks.overview()" /> + <input type="button" value="<?php echo $l->t('Configure addressbooks') ?>" onclick="Contacts.UI.Addressbooks.overview()" /> </div> </div>