/**
	 * Get filters blocks' data and Assing it to the Filter panel's blocks
	 */
	public function buildFilterPanel()
	{	
		include_once getabspath("classes/controls/FilterControl.php");
		foreach($this->filterFileds as $fieldName) 
		{			
			if( $this->pageObj->pSet->hasDependantFilter($fieldName) )
				continue;
							
			$filterFieldName = $fieldName;
			$filterControl = FilterControl::getFilterControl($filterFieldName, $this->pageObj, $this->id, $this->viewControls);			
			
			$filterCtrlBlocks = $filterControl->buildFilterCtrlBlockArray($this->pageObj);
			$filterButtonParams = $filterControl->getFilterButtonParams();
			$filterExtraControls = $filterControl->getFilterExtraControls();
			
			while( $filterControl->dependant )
			{
				$filterFieldName = $filterControl->parentFilterName;			
				$filterControl = FilterControl::getFilterControl($filterFieldName, $this->pageObj, $this->id, $this->viewControls);
					
				$filterCtrlBlocks = $filterControl->buildFilterCtrlBlockArray( $this->pageObj, $filterCtrlBlocks );		
				$filterButtonParams = $filterControl->getFilterButtonParams( $filterButtonParams );
				$filterExtraControls = $filterControl->getFilterExtraControls( $filterExtraControls );
			}			
			
			$filterState = $filterControl->getFilterState();
			
			$this->assignFilterPanelField($filterFieldName, $filterCtrlBlocks, $filterState, $filterButtonParams, $filterExtraControls);			
		}
	}
 public function FilterBoolean($fName, $pageObject, $id, $viewControls)
 {
     parent::FilterControl($fName, $pageObject, $id, $viewControls);
     $this->separator = "~checked~";
     $this->filterFormat = FF_BOOLEAN;
     $this->setAggregateType();
     $this->buildSQL();
 }
 public function FilterIntervalList($fName, $pageObject, $id, $viewControls)
 {
     parent::FilterControl($fName, $pageObject, $id, $viewControls);
     $this->separator = "~interval~";
     $this->filterFormat = FF_INTERVAL_LIST;
     $this->showWithNoRecords = $this->pSet->showWithNoRecords($fName);
     $this->useApllyBtn = $this->multiSelect == FM_ALWAYS;
     $this->setAggregateType();
     $this->processRowIntervalData();
     $this->buildSQL();
 }
 public function FilterIntervalSlider($fName, $pageObject, $id, $viewControls)
 {
     parent::FilterControl($fName, $pageObject, $id, $viewControls);
     $this->filterFormat = FF_INTERVAL_SLIDER;
     $this->useApllyBtn = $this->pSet->isFilterApplyBtnSet($fName);
     $this->knobsType = $this->pSet->getFilterKnobsType($fName);
     $this->stepValue = $this->pSet->getFilterStepValue($fName);
     $this->buildSQL();
     $this->addJS_CSSfiles($pageObject);
     if ($this->filtered) {
         $this->assignKnobsValues();
     }
     $this->separator = $this->getSeparator();
 }
 /**
  * Get the filter's extra controlls parameters
  * @param Array dBtnParams (dExtraCtrls)	 
  * @return Array
  */
 public function getFilterExtraControls($dExtraCtrls = null)
 {
     $mExtraCtrls = parent::getFilterExtraControls();
     if (!$this->hasDependent || is_null($dExtraCtrls)) {
         return $mExtraCtrls;
     }
     if (!$mExtraCtrls['selectAllAttrs'] || $this->multiSelect == FM_ON_DEMAND && $dExtraCtrls['selectAllAttrs']) {
         $mExtraCtrls['selectAllAttrs'] = $dExtraCtrls['selectAllAttrs'];
     }
     if (!$mExtraCtrls['clearLink']) {
         $mExtraCtrls['clearLink'] = $dExtraCtrls['clearLink'];
     }
     return $mExtraCtrls;
 }