From c86de780fcbf683cc8bc94b566ebae0f3a07049d Mon Sep 17 00:00:00 2001 From: Sushant Nadkar Date: Wed, 23 May 2018 11:15:27 +0530 Subject: [PATCH] [fix] Button duplication on page trigger: refresh (#5564) * [fix] custom button duplication on page trigger: refresh * added data-label to buttons to filter them more easily * added encodeURIComponent to data-label * Update page.js --- frappe/public/js/frappe/ui/page.js | 27 ++++++++++++++------------- frappe/public/js/legacy/form.js | 4 +++- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/frappe/public/js/frappe/ui/page.js b/frappe/public/js/frappe/ui/page.js index a6bfebfc67..0d112e9942 100644 --- a/frappe/public/js/frappe/ui/page.js +++ b/frappe/public/js/frappe/ui/page.js @@ -322,9 +322,9 @@ frappe.ui.Page = Class.extend({ }, get_or_add_inner_group_button: function(label) { - var $group = this.inner_toolbar.find('.btn-group[data-label="'+label+'"]'); + var $group = this.inner_toolbar.find('.btn-group[data-label="'+encodeURIComponent(label)+'"]'); if(!$group.length) { - $group = $('
\ + $group = $('
\ \
').appendTo(this.inner_toolbar); @@ -333,7 +333,7 @@ frappe.ui.Page = Class.extend({ }, get_inner_group_button: function(label) { - return this.inner_toolbar.find('.btn-group[data-label="'+label+'"]'); + return this.inner_toolbar.find('.btn-group[data-label="'+encodeURIComponent(label)+'"]'); }, set_inner_btn_group_as_primary: function(label) { @@ -375,15 +375,20 @@ frappe.ui.Page = Class.extend({ $(this.inner_toolbar).removeClass("hide"); if (!this.is_in_group_button_dropdown($group.find(".dropdown-menu"), 'li', label)) { - return $('
  • '+label+'
  • ') + return $('
  • '+label+'
  • ') .on('click', _action) .appendTo($group.find(".dropdown-menu")); } } else { - return $('