diff --git a/app/views/estimates/_list.html.erb b/app/views/estimates/_list.html.erb index b39024e..9974e7a 100644 --- a/app/views/estimates/_list.html.erb +++ b/app/views/estimates/_list.html.erb @@ -2,7 +2,7 @@ <% estimates.sort.reverse.each do |estimate| %>
- <%= check_box_tag "estimate_ids[]", estimate.id, false, onchange: "updateLink()", data: { id: estimate.id, doc: estimate.doc_number }, class: "estimate-checkbox" %> + <%= check_box_tag "estimate_ids[]", estimate.id, false, onchange: "updateLink()", data: { url: estimate_path(estimate), text: "Estimate ##{estimate.to_s}" }, class: "estimate-checkbox appointment" %> <%= link_to "##{estimate.doc_number}", estimate_path(estimate), target: :_blank %> <%= estimate.txn_date %>
<% end %> diff --git a/app/views/invoices/_list.html.erb b/app/views/invoices/_list.html.erb index 57873b6..33f8560 100644 --- a/app/views/invoices/_list.html.erb +++ b/app/views/invoices/_list.html.erb @@ -12,7 +12,7 @@ <% invoices.sort.reverse.each do |invoice| %>
- <%= check_box_tag "invoice_ids[]", invoice.id, false, onchange: "updateLink()", data: { id: invoice.id, doc: invoice.doc_number }, class: "invoice-checkbox" if invoices.count > 1 %> + <%= check_box_tag "invoice_ids[]", invoice.id, false, onchange: "updateLink()", data: { url: invoice_path(invoice), text: "Invoice ##{invoice.to_s}" }, class: "invoice-checkbox appointment" if invoices.count > 1 %> <%= link_to "##{invoice.doc_number}", invoice_path(invoice), target: :_blank %> <%= invoice.txn_date %>
<% end %> diff --git a/assets/javascripts/application.js b/assets/javascripts/application.js index e028756..a44cfbf 100644 --- a/assets/javascripts/application.js +++ b/assets/javascripts/application.js @@ -1,31 +1,22 @@ function updateLink() { + console.log("updateLink called"); const linkElement = document.getElementById("appointment_link"); const regex = /((?:|%3Cbr\/?%3E))([\s\S]*?)(&dates)/gi; linkElement.href = linkElement.href.replace(regex, `$1${getSelectedDocs()}$3`); } function getSelectedDocs() { - const invoices = document.querySelectorAll('.invoice-checkbox'); - const estimates = document.querySelectorAll('.estimate-checkbox'); + const appointent_extras = document.querySelectorAll('.appointment'); let output = ''; - - for (const i of invoices) { - if (i.checked) { - console.log(i.value); - console.log(i.dataset.doc); - output += `%0AInvoice:%20${i.dataset.doc}%0A`; - } - } - - for (const e of estimates) { - if (e.checked) { - console.log(e.value); - console.log(e.dataset.doc); - output += `%0AEstimate:%20${e.dataset.doc}%0A`; +for (const item of appointent_extras) { + if (item.checked) { + console.log(`Checked item: ${item.dataset.text} with URL: ${item.dataset.url}`); + output += `%0A`+ encodeURIComponent(`${item.dataset.text}`) +`%0A`; } } + // You can return the array or use it as needed return output; }