From 7358b00c81e9521ce964bb19d54bdce58d3c8338 Mon Sep 17 00:00:00 2001 From: denise Date: Wed, 11 Jul 2012 15:18:47 -0400 Subject: [PATCH] CC-84: Smart Playlists -disabled non-visible form elements --- .../application/forms/SmartPlaylistCriteria.php | 11 ++++++++++- .../views/scripts/form/smart-playlist-criteria.phtml | 9 +++++---- .../js/airtime/playlist/smart_playlistbuilder.js | 4 +++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/airtime_mvc/application/forms/SmartPlaylistCriteria.php b/airtime_mvc/application/forms/SmartPlaylistCriteria.php index ee1e92fb5..99da27d22 100644 --- a/airtime_mvc/application/forms/SmartPlaylistCriteria.php +++ b/airtime_mvc/application/forms/SmartPlaylistCriteria.php @@ -76,12 +76,15 @@ class Application_Form_SmartPlaylistCriteria extends Zend_Form_SubForm $this->addElement($spType); $numElements = count($criteriaOptions); - for($i = 1; $i <= $numElements; $i++) { + for ($i = 1; $i <= $numElements; $i++) { $criteria = new Zend_Form_Element_Select('sp_criteria_'.$i); $criteria->setAttrib('class', 'input_select'); $criteria->setValue(0); $criteria->setDecorators(array('viewHelper')); $criteria->setMultiOptions($criteriaOptions); + if ($i != 1){ + $criteria->setAttrib('disabled', 'disabled'); + } $this->addElement($criteria); $criteriaModifers = new Zend_Form_Element_Select('sp_criteria_modifier_'.$i); @@ -89,11 +92,17 @@ class Application_Form_SmartPlaylistCriteria extends Zend_Form_SubForm $criteriaModifers->setAttrib('class', 'input_select'); $criteriaModifers->setDecorators(array('viewHelper')); $criteriaModifers->setMultiOptions($stringCriteriaOptions); + if ($i != 1){ + $criteriaModifers->setAttrib('disabled', 'disabled'); + } $this->addElement($criteriaModifers); $criteriaValue = new Zend_Form_Element_Text('sp_criteria_value_'.$i); $criteriaValue->setAttrib('class', 'input_text'); $criteriaValue->setDecorators(array('viewHelper')); + if ($i != 1){ + $criteriaValue->setAttrib('disabled', 'disabled'); + } $this->addElement($criteriaValue); } diff --git a/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml b/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml index 8d5978d28..b656b8c01 100644 --- a/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml +++ b/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml @@ -17,16 +17,17 @@
- criteriasLength; $i++) {?> -
1) && ($this->element->getElement('sp_criteria_'.$i)->getValue() == "0" && - $this->element->getElement('sp_criteria_modifier_'.$i)->getValue() == "0")) { + criteriasLength; $i++) {?> +
1) && ($this->element->getElement('sp_criteria_'.$i)->getAttrib('disabled') == 'disabled')) { echo 'style=display:none'; } ?>> element->getElement('sp_criteria_'.$i) ?> element->getElement('sp_criteria_modifier_'.$i) ?> element->getElement('sp_criteria_value_'.$i) ?> - Remove + + Remove +
Add diff --git a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js index 1feebf194..1bcc3686e 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js @@ -9,6 +9,7 @@ function setSmartPlaylistEvents() { var div = $('dd[id="sp_criteria-element"]').children('div:visible:last').next(); div.show(); + div.children().removeAttr('disabled'); div = div.next(); if(div.length === 0) { $(this).hide(); @@ -35,6 +36,7 @@ function setSmartPlaylistEvents() { next = curr.next(); } + list.find('div:visible:last').children().attr('disabled', 'disabled'); list.find("div:visible:last") .find('[name^="sp_criteria"]').val('').end() .find('[name^="sp_criteria_modifier"]').val('').end() @@ -47,7 +49,7 @@ function setSmartPlaylistEvents() { form.find('button[id="save_button"]').click(function(event){ var playlist_type = form.find('input:radio[name=sp_type]:checked').val(), data = $('form').serializeArray(), - static_action = 'Playlist/smart-playlist-criteria-generate', + static_action = 'Playlist/smart-playlist-generate', dynamic_action ='Playlist/smart-playlist-criteria-save', action, callback;