Skip to content

Commit 36dae04

Browse files
committed
enable deletion of supply items from an issue #19
1 parent ceef25e commit 36dae04

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

app/helpers/supply_items_helper.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ def issue_supply_item_form_tags(issue_supply_items)
99
def issue_supply_item_form_tag(issue_supply_item, label: false)
1010
supply_item = issue_supply_item.supply_item
1111
id = dom_id supply_item
12-
content_tag :p, id: "#{id}_wrap" do
12+
content_tag :p, id: "#{id}_wrap", class: 'issue_supply_item_wrap' do
1313
tags = [
1414
content_tag(:label, supply_item.name, for: id, class: "supply-item"),
1515
text_field_tag('issue[issue_supply_items_attributes][][quantity]',
1616
issue_supply_item.quantity, id: id, size: 3),
1717
content_tag(:span, supply_item.unit_name, class: 'unit'),
18+
link_to('', '#', class: 'icon icon-del'),
1819
hidden_field_tag('issue[issue_supply_items_attributes][][supply_item_id]', supply_item.id)
1920
]
2021
unless issue_supply_item.new_record?

app/views/issue_supply_items/create.js.erb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
quantity = 0;
99
}
1010
wrap.find('input[type=text]').val(quantity + <%= i.quantity %>);
11+
wrap.show(); // it may have been hidden by a previous click on delete
1112
} else {
1213
$('#supply_items_inputs').append('<%= j issue_supply_item_form_tag(i) %>');
1314
}

assets/javascripts/supply.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ function observeResourceItemSearchfield(url) {
3535
});
3636
}
3737

38+
// issue resource item deletion
3839
$(document).on('click', '.issue_resource_item_wrap a.icon-del', function(e){
39-
4040
var wrapper = $(this).parent();
4141
if(wrapper.find('input[name="issue[issue_resource_items_attributes][][id]"]').val() == '') {
4242
wrapper.remove();
@@ -47,4 +47,14 @@ $(document).on('click', '.issue_resource_item_wrap a.icon-del', function(e){
4747
return false;
4848
});
4949

50+
// issue supply item deletion
51+
$(document).on('click', '.issue_supply_item_wrap a.icon-del', function(e){
52+
var wrapper = $(this).parent();
53+
// set quantity to zero
54+
wrapper.find('input[name="issue[issue_supply_items_attributes][][quantity]"]').val('0');
55+
// hide the whole item
56+
wrapper.hide();
57+
return false;
58+
});
59+
5060

0 commit comments

Comments
 (0)