/** * 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; }