Bug 18542 - Move and style "new field" link in item search form
authorOwen Leonard <oleonard@myacpl.org>
Sat, 29 Apr 2017 19:36:18 +0000 (19:36 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 13 Jul 2017 20:46:08 +0000 (17:46 -0300)
This patch modifies the item search page JavaScript so that the "New
field" link has a "+" icon and is always placed at the end of the last
row in that section of the form.

To test, apply the patch and open the item search form in the staff
client. In the third section there should be a "+ New field" link at the
end of the first row of fields.

Clicking the "New field" link should clone that row and move the link to
the end of the cloned row.

Behaves as expected.
Signed-off-by: Marc VĂ©ron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: Fix indentation

koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt

index f7d5a3c..f4b2e23 100644 (file)
       }
     }
 
-    function addNewField() {
+    function addNewField( link ) {
       var form_field = $('div.form-field-select-text').last();
       var copy = form_field.clone(true);
       copy.find('input,select').not('[type="hidden"]').each(function() {
       });
       copy.find('.form-field-conjunction').prop('disabled', false);
       form_field.after(copy);
+      link.remove();
       copy.find('select.form-field-column').change();
     }
 
       // Add the "New field" link.
       var form_field = $('div.form-field-select-text').last()
       var NEW_FIELD = _("New field");
-      var button_field_new = $('<a href="#" class="button-field-new" title="Add a new field">' + NEW_FIELD + '</a>');
-      button_field_new.click(function() {
-        addNewField();
-        return false;
+      var button_field_new = $('<a href="#" class="button-field-new" title="Add a new field"><i class="fa fa-plus"></i> ' + NEW_FIELD + '</a>');
+      button_field_new.click(function(e) {
+          e.preventDefault();
+          addNewField( $(this) );
       });
-      form_field.after(button_field_new);
+      form_field.append(button_field_new);
 
       // If a field is linked to an authorised values list, display the list.
       $('div.form-field-select-text select').change(function() {