Sfoglia il codice sorgente

Ticket #562 - Necessary improvements in Votes system.

AntonLV 9 anni fa
parent
commit
17b59ac96a

+ 4 - 1
inc/js/classes/BxDolVote.js

@@ -75,7 +75,7 @@ BxDolVote.prototype.out = function (oLink)
 	oSlider.width(this._iSaveWidth);
 };
 
-BxDolVote.prototype.vote = function (oLink, iValue)
+BxDolVote.prototype.vote = function (oLink, iValue, onComplete)
 {
     var $this = this;
     var oParams = this._getDefaultParams();
@@ -114,6 +114,9 @@ BxDolVote.prototype.vote = function (oLink, iValue)
 
             	oCounter.parents('.' + $this._sSP + '-counter-holder:first').bx_anim(oData.count > 0 ? 'show' : 'hide');
             }
+
+            if(typeof onComplete == 'function')
+            	onComplete(oLink, oData);
         },
         'json'
     );

+ 2 - 1
template/menu_interactive_vertical.html

@@ -14,7 +14,8 @@
     $(document).ready(function() {
     	$('#bx-menu-inter-__id__').find('a').bind('click', function() {
     		var sId = $(this).attr('id');
-			$(this).parent().siblings('.bx-menu-inter-act:visible').hide().siblings('.bx-menu-inter-pas:hidden').show().siblings('#' + sId + '-pas:visible').hide().siblings('#' + sId + '-act:hidden').show();
+    		var sClassHidden = 'bx-menu-inter-hidden';
+			$(this).parent().siblings('.bx-menu-inter-act:not(.' + sClassHidden + ')').addClass(sClassHidden).siblings('.bx-menu-inter-pas.' + sClassHidden).removeClass(sClassHidden).siblings('#' + sId + '-pas:not(.' + sClassHidden + ')').addClass(sClassHidden).siblings('#' + sId + '-act.' + sClassHidden).removeClass(sClassHidden);
     	});
     });
 </script>

+ 6 - 3
template/scripts/BxBaseVote.php

@@ -21,6 +21,8 @@ class BxBaseVote extends BxDolVote
 
     protected $_aElementDefaults;
 
+    protected $_sTmplNameElementBlock;
+    protected $_sTmplNameElementInline;
     protected $_sTmplNameCounter;
     protected $_sTmplNameLegend;
     protected $_sTmplNameDoVoteLikes;
@@ -60,6 +62,8 @@ class BxBaseVote extends BxDolVote
             )
         );
 
+        $this->_sTmplNameElementBlock = 'vote_element_block.html';
+        $this->_sTmplNameElementInline = 'vote_element_inline.html';
         $this->_sTmplNameCounter = 'vote_counter.html';
         $this->_sTmplNameLegend = 'vote_legend.html';
         $this->_sTmplNameDoVoteLikes = 'vote_do_vote_likes.html';
@@ -257,7 +261,7 @@ class BxBaseVote extends BxDolVote
 		if(!$bTmplVarsDoVote && !$bTmplVarsCounter && !$bTmplVarsLegend)
 			return '';
 
-        $sTmplName = 'vote_element_' . (!empty($aParams['usage']) ? $aParams['usage'] : BX_DOL_VOTE_USAGE_DEFAULT) . '.html';
+        $sTmplName = $this->{'_sTmplNameElement' . bx_gen_method_name(!empty($aParams['usage']) ? $aParams['usage'] : BX_DOL_VOTE_USAGE_DEFAULT)};
         return $this->_oTemplate->parseHtmlByName($sTmplName, array(
             'style_prefix' => $this->_sStylePrefix,
             'html_id' => $this->_aHtmlIds['main_' . $this->_sType],
@@ -348,8 +352,7 @@ class BxBaseVote extends BxDolVote
         	'bx_if:show_onclick' => array(
         		'condition' => !$bDisabled,
         		'content' => array(
-        			'js_object' => $this->getJsObjectName(),
-        			'value' => $this->getMinValue(),
+                    'onclick' => $this->getJsClick()
         		)
         	),
             'do_vote' => $this->_getLabelDoLike($aParams),

+ 1 - 1
template/vote_do_vote_likes.html

@@ -1 +1 @@
-<a class="__style_prefix__-do-vote __class__" href="javascript:void(0)" <bx_if:show_onclick>onclick="javascript:__js_object__.vote(this, __value__)"</bx_if:show_onclick> title="__title__">__do_vote__</a>
+<a class="__style_prefix__-do-vote __class__" href="javascript:void(0)" <bx_if:show_onclick>onclick="javascript:__onclick__"</bx_if:show_onclick> title="__title__">__do_vote__</a>