From dbae3b09d6c38a10cb2ffa48d1844412f419dc7c Mon Sep 17 00:00:00 2001 From: Tomas Peterka <tomas.peterka@nexedi.com> Date: Fri, 21 Jul 2017 19:17:43 +0200 Subject: [PATCH] [renderjs_ui] Use clojures instead of arrow functions because they are not fully supported --- .../rjs_gadget_erp5_listbox_js.js | 52 +++++++++---------- .../rjs_gadget_erp5_listbox_js.xml | 4 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js index dcd9195c66..262f4ff49b 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js @@ -118,6 +118,13 @@ )); } + /** Clojure to ease finding in lists of lists by the first item **/ + function hasSameFirstItem(a) { + return function (b) { + return a[0] === b[0]; + }; + } + rJS(window) ///////////////////////////////////////////////////////////////// // ready @@ -268,7 +275,6 @@ .onStateChange(function (modification_dict) { var gadget = this, sort_key = gadget.state.key + "_sort_list:json", - class_value, sort_list, column_list, sort_column_list, @@ -327,12 +333,8 @@ // construct array of links for sortable columns, undefined otherwise return RSVP.all(column_list.map(function (column) { - function is_current_column(item) { - return item[0] === column[0]; - } - - var is_sortable = sort_column_list.find(is_current_column) !== undefined, - current_sort = sort_list.find(is_current_column), + var is_sortable = sort_column_list.find(hasSameFirstItem(column)) !== undefined, + current_sort = sort_list.find(hasSameFirstItem(column)), options = {}; if (is_sortable) { @@ -350,28 +352,26 @@ // so we can construct array of header objects to be rendered in the header template var hide_button_text, hide_button_name, - current_sort, - head_value_list = []; - for (i = 0; i < column_list.length; i += 1) { - current_sort = sort_list.find((item) => item[0] === column_list[i][0]); - class_value = undefined; - - if (current_sort !== undefined) { - if (current_sort[1] === 'ascending') { - class_value = "ui-icon ui-icon-arrow-up"; - } - if (current_sort[1] === 'descending') { - class_value = "ui-icon ui-icon-arrow-down"; + head_value_list = column_list.map(function (column, index) { + var current_sort = sort_list.find(hasSameFirstItem(column)), + class_value = ""; + + if (current_sort !== undefined) { + if (current_sort[1] === 'ascending') { + class_value = "ui-icon ui-icon-arrow-up"; + } + if (current_sort[1] === 'descending') { + class_value = "ui-icon ui-icon-arrow-down"; + } } - } - head_value_list.push({ - "data-i18n": column_list[i][1], - "class_value": class_value, - "sort_link": column_sort_link_list[i], - "text": column_list[i][1] + return { + "data-i18n": column[1], + "class_value": class_value, + "sort_link": column_sort_link_list[index], + "text": column[1] + }; }); - } if (gadget.state.show_line_selector) { hide_button_text = 'Submit'; diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml index 5d66926338..52e3f788cc 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml @@ -236,7 +236,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>960.56198.53416.29457</string> </value> + <value> <string>960.57664.50157.3293</string> </value> </item> <item> <key> <string>state</string> </key> @@ -254,7 +254,7 @@ </tuple> <state> <tuple> - <float>1500626843.31</float> + <float>1500656708.46</float> <string>UTC</string> </tuple> </state> -- 2.30.9