From 90ec04685498943dabef9ef6b5a5b63877f7aadd Mon Sep 17 00:00:00 2001 From: denise Date: Wed, 8 Aug 2012 16:27:03 -0400 Subject: [PATCH] CC-4188: Playlist Builder -> Smart Playlist : sometimes elements do not index properly when add a new criteria row -fixed --- .../airtime/playlist/smart_playlistbuilder.js | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js index b3f761961..ae7ea76c5 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js @@ -25,18 +25,8 @@ function setSmartPlaylistEvents() { form.find('a[id^="modifier_add"]').live('click', function(){ var id = $(this).attr('id'), row_index = id.charAt(id.length-1), - mod_index, criteria_value = $(this).siblings('select[name^="sp_criteria_field"]').val(); - //get index for the new modifier row - if ($(this).parent().find('select[name^="sp_criteria_modifier_'+row_index+'_"]').length == 0) { - mod_index = 0; - } else { - var last_mod = $(this).parent().find('select[name^="sp_criteria_modifier_'+row_index+'_"]:last'); - var last_mod_id = last_mod.attr('id'); - mod_index = parseInt(last_mod_id.substr(last_mod_id.length-1))+1; - } - //make new modifier row var newRow = $(this).parent().clone(), newRowCrit = newRow.find('select[name^="sp_criteria_field"]'), @@ -53,27 +43,21 @@ function setSmartPlaylistEvents() { //hide the critieria field select box newRowCrit.addClass('sp-invisible'); - //append modifier index to the new modifier row - newRowCrit.attr('name', 'sp_criteria_field_'+row_index+'_'+mod_index); - newRowCrit.attr('id', 'sp_criteria_field_'+row_index+'_'+mod_index); + //keep criteria value the same newRowCrit.val(criteria_value); - newRowMod.attr('name', 'sp_criteria_modifier_'+row_index+'_'+mod_index); - newRowMod.attr('id', 'sp_criteria_modifier_'+row_index+'_'+mod_index); + + //reset all other values newRowMod.val('0'); - newRowVal.attr('name', 'sp_criteria_value_'+row_index+'_'+mod_index); - newRowVal.attr('id', 'sp_criteria_value_'+row_index+'_'+mod_index); newRowVal.val(''); - newRowExtra.attr('name', 'sp_criteria_extra_'+row_index+'_'+mod_index); - newRowExtra.attr('id', 'sp_criteria_extra_'+row_index+'_'+mod_index); newRowExtra.val(''); disableAndHideExtraField(newRowVal); sizeTextBoxes(newRowVal, 'sp_extra_input_text', 'sp_input_text'); - newRowRemove.attr('id', 'criteria_remove_'+row_index+'_'+mod_index); //remove the 'criteria add' button from new modifier row newRow.find('.criteria_add').remove(); $(this).parent().after(newRow); + reindexElements(); appendAddButton(); appendModAddButton(); removeButtonCheck();