From a7cb803d1ead1c8ea043f13f4462d92231b0c656 Mon Sep 17 00:00:00 2001 From: daitingting Date: Fri, 23 Aug 2024 09:04:35 +0000 Subject: [PATCH] * [bug#126065,done,3h] Call loadBranches function when the branch was changed. --- module/story/js/batchedit.ui.js | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/module/story/js/batchedit.ui.js b/module/story/js/batchedit.ui.js index 8871e7aa56..b0d65ac33b 100644 --- a/module/story/js/batchedit.ui.js +++ b/module/story/js/batchedit.ui.js @@ -199,7 +199,7 @@ window.renderRowData = function($row, index, story) window.loadBranches = function(product, obj) { $this = $(obj.target); - branch = $this.find('input[name^=branch]').val(); + branch = $this.find('input[name^=branch]').val().replace('branch', ''); let storyID = $this.closest('tr').find('.form-batch-input[data-name="storyIdList"]').val(); let $module = $this.closest('tr').find('.form-batch-control[data-name="module"]'); @@ -209,9 +209,16 @@ window.loadBranches = function(product, obj) { let $picker = $this.closest('tr').find('.picker-box[data-name="module"]').zui('picker'); let options = $picker.options; - options.items = items; - $picker.render(options); - $picker.$.setValue(0); + + let oldItems = options.items.map(item => item.value.toString()); + let newItems = items.map(item => item.value.toString()); + + if(JSON.stringify(newItems.slice().sort()) != JSON.stringify(oldItems.slice().sort())) + { + options.items = items; + $picker.render(options); + $picker.$.setValue(0); + } }); let $plan = $this.closest('tr').find('.form-batch-control[data-name="plan"]'); @@ -221,9 +228,16 @@ window.loadBranches = function(product, obj) { let $picker = $this.closest('tr').find('.picker-box[data-name="plan"]').zui('picker'); let options = $picker.options; - options.items = items; - $picker.render(options); - $picker.$.setValue(''); + + let oldItems = options.items.map(item => item.value.toString()); + let newItems = items.map(item => item.value.toString()); + + if(JSON.stringify(newItems.slice().sort()) != JSON.stringify(oldItems.slice().sort())) + { + options.items = items; + $picker.render(options); + $picker.$.setValue(''); + } }); }