diff --git a/src/editable.js b/src/editable.js index a74c1a4..6bf2f8d 100644 --- a/src/editable.js +++ b/src/editable.js @@ -32,9 +32,9 @@ var Editable = Class.create({ this.editForm = new Element('form', { 'action': this.element.readAttribute('rel'), 'style':'display:none', 'class':'editor' }); this.editInput = new Element(this.editFieldTag, { 'name':this.field, 'id':('edit_' + this.element.identify()) }); this.editInput.value = this.element.innerHTML; - var saveInput = new Element('input', { 'type':'submit', 'value':'Save' }); - this.cancelLink = new Element('a', { 'href':'#' }); this.cancelLink.update('Cancel'); - var methodInput = new Element('input', { 'type':'hidden', 'value':'put', 'name':'_method' }); + var saveInput = new Element('input', { type:'submit', value: Editable.options.saveText }); + this.cancelLink = new Element('a', { href:'#' }); this.cancelLink.update(Editable.options.cancelText); + var methodInput = new Element('input', { type:'hidden', value:'put', name:'_method' }); if (typeof(window._token) != 'undefined') { this.editForm.insert(new Element('input', { type: 'hidden', @@ -107,6 +107,11 @@ var Editable = Class.create({ }); Object.extend(Editable, { + options: { + cancelText: 'Cancel', + saveText: 'Save' + }, + create: function(element) { new Editable(element); }, diff --git a/test/unit/editable_test.html b/test/unit/editable_test.html index 8b8263d..7d7dfdc 100644 --- a/test/unit/editable_test.html +++ b/test/unit/editable_test.html @@ -63,6 +63,22 @@

Better Edit in Place test file

this.assertEqual('Cancel', cancel.innerHTML); }, + testShouldAllowCustomSaveLabels: function() { + this.list.editForm.remove(); + Editable.options.saveText = 'done!' + this.list.setupForm(); + var saveButton = this.list.editForm.select('input[type=submit]').first(); + this.assertEqual('done!', saveButton.readAttribute('value')); + }, + + testShouldAllowCustomCancelLabels: function() { + this.list.editForm.remove(); + Editable.options.cancelText = 'quit!' + this.list.setupForm(); + var cancelLink = this.list.editForm.select('a').first(); + this.assertEqual('quit!', cancelLink.innerHTML); + }, + testShouldIncludeAuthTokenInEditForm: function() { this.list.editForm.remove(); var auth_token = '9a41b076b0feb2dc1e22af58662647934c8cf4a8';