From ef545e978ec2f0a740fca4a42a442f72661587a3 Mon Sep 17 00:00:00 2001 From: Tom Carchrae Date: Wed, 1 May 2019 10:33:33 -0700 Subject: [PATCH] add search to balancing page (PR #651) (cherry picked from commit 2039da54b2077a6befccb409ef02a3172bcba237) --- .../_edit_results_by_articles.html.haml | 40 +++++++++++++++++-- .../balancing/_order_article.html.haml | 2 +- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/app/views/finance/balancing/_edit_results_by_articles.html.haml b/app/views/finance/balancing/_edit_results_by_articles.html.haml index 2cdf80b9..9c2c9547 100644 --- a/app/views/finance/balancing/_edit_results_by_articles.html.haml +++ b/app/views/finance/balancing/_edit_results_by_articles.html.haml @@ -1,8 +1,34 @@ +- content_for :javascript do + :javascript + $(function() { + // create List for search-feature (using list.js, http://listjs.com) + var listjsResetPlugin = ['reset', {highlightClass: 'btn-primary'}]; + var listjsDelayPlugin = ['delay', {delayedSearchTime: 500}]; + new List(document.body, { + valueNames: ['name'], + engine: 'unlist', + plugins: [listjsResetPlugin, listjsDelayPlugin], + // make large pages work too (as we don't have paging - articles may disappear!) + page: 10000, + indexAsync: true + }); + $('input').keydown(function(event){ + if(event.keyCode == 13) { + event.preventDefault(); + return false; + } + }); + }); + + + %table.ordered-articles.table.table-striped %thead %tr - %th= sort_link_helper Article.model_name.human, "name" - %th= sort_link_helper Article.human_attribute_name(:order_number_short), "order_number" + %th + .input-append + = text_field_tag :article, params[:article], placeholder: (heading_helper Article, :name), class: 'delayed-search resettable search-query' + %th= heading_helper Article, :order_number %th= t('.amount') %th= heading_helper Article, :unit %th= t('.net') @@ -12,6 +38,12 @@ %th{:colspan => "2"} = link_to t('.add_article'), new_order_order_article_path(@order), remote: true, class: 'btn btn-small' unless @order.closed? - %tbody#result_table - - for order_article in @articles + %tbody.list#result_table + - for order_article in @articles.select { |oa| oa.units > 0 } + = render :partial => "order_article_result", :locals => {:order_article => order_article} + + %tr + %td{ colspan: 10 } The following were not ordered + + - for order_article in @articles.select { |oa| oa.units == 0 } = render :partial => "order_article_result", :locals => {:order_article => order_article} diff --git a/app/views/finance/balancing/_order_article.html.haml b/app/views/finance/balancing/_order_article.html.haml index d8637b3e..a2e36249 100644 --- a/app/views/finance/balancing/_order_article.html.haml +++ b/app/views/finance/balancing/_order_article.html.haml @@ -1,4 +1,4 @@ -%td.closed +%td.closed.name = link_to order_article.article.name, '#', 'data-toggle-this' => "#group_order_articles_#{order_article.id}" %td= order_article.article.order_number %td{title: units_history_line(order_article, :plain => true)}