CMS  Version 3.9
BindingTargetFacetFilter Class Reference

Inherits AbstractFacetFilter.

Public Member Functions

 __construct ($bindingTarget)
 
 getID ()
 
 onTagItem ($item, $attrs)
 
 writeScript ()
 
 drawFacet ()
 
 renderCheckboxes ($items)
 

Public Attributes

 $bindingTarget
 
 $width = "200px"
 
 $height = "100px"
 
 $dropdown = true
 
 $dropdownMaxWidth = "200px"
 
 $dropdownMessage = "Click to Select Terms"
 

Detailed Description

Definition at line 144 of file taxonomy_facet_filter.inc.

Constructor & Destructor Documentation

◆ __construct()

BindingTargetFacetFilter::__construct (   $bindingTarget)

Definition at line 154 of file taxonomy_facet_filter.inc.

155  {
156  $this->bindingTarget = $bindingTarget;
157  }

Member Function Documentation

◆ drawFacet()

BindingTargetFacetFilter::drawFacet ( )

Definition at line 195 of file taxonomy_facet_filter.inc.

196  {
197  $items = TaxonomyManager::getBindingOptions($this->bindingTarget->target_class);
198 
199  if (count($items) == 0)
200  {
201  trace("## No items found for bound facet - {$this->bindingTarget->target_class}", 2);
202  return;
203  }
204 
205  if ($this->width && $this->height)
206  {
207  $width = is_numeric($this->width) ? "{$this->width}px" : $this->width;
208  $height = is_numeric($this->height) ? "{$this->height}px" : $this->height;
209 
210  $padding = ($width == "auto") ? "padding-right: 20px; overflow-x: hidden" : "";
211 
212  $resizable = (!$this->dropdown && $this->resizable) ? " resizable": "";
213  $dropdown = $this->dropdown ? " multi_select_dropdown_list" : "";
214  echo "<div id='{$this->bindingTarget->target_class}_container' class='scrollbox{$resizable}{$dropdown}' style='width: {$width}; height: {$height};overflow: auto; $padding'>\n";
215  }
216 
217  $this->renderCheckBoxes($items);
218 
219  if ($this->width && $this->height)
220  {
221  echo "</div>\n";
222  }
223 
224  }
$columnSelect dropdown
$helpTree width
Definition: tree.inc:45
static getBindingOptions($bindingTarget)
$desc height
Definition: event_edit.inc:64

◆ getID()

BindingTargetFacetFilter::getID ( )

Definition at line 159 of file taxonomy_facet_filter.inc.

160  {
161  return $this->bindingTarget->target_class;
162  }

◆ onTagItem()

BindingTargetFacetFilter::onTagItem (   $item,
  $attrs 
)

Definition at line 164 of file taxonomy_facet_filter.inc.

165  {
166  // Need to work with underlying object if passed is a search result container
167  if ($item instanceof AbstractSearchResult) $item = $item->item;
168 
169  $target_ids = $this->bindingTarget->getBoundItemIds($item);
170  if ($target_ids)
171  {
172  $attrs["data-taxonomy-{$this->bindingTarget->target_class}"] = $target_ids;
173  }
174 
175  return $attrs;
176  }

◆ renderCheckboxes()

BindingTargetFacetFilter::renderCheckboxes (   $items)

Definition at line 226 of file taxonomy_facet_filter.inc.

227  {
228  $format = TaxonomyManager::getBindingOptionFormat($this->bindingTarget);
229 
230  foreach($items as $item)
231  {
232  $p = $item->get($item->getPrimaryKey());
233 
234  echo "<label for='checkbox_{$this->bindingTarget->target_class}_$p'><input type='checkbox' class='checkbox' name='{$this->bindingTarget->target_class}[$p]' id='checkbox_{$this->bindingTarget->target_class}_$p' value='$p'";
235  if (array_key_exists($p, $selected))
236  {
237  echo " checked";
238  }
239  echo ">".$item->format($format)."";
240  echo "</label>";
241  }
242  }
static getBindingOptionFormat($bindingTarget)

◆ writeScript()

BindingTargetFacetFilter::writeScript ( )

Definition at line 178 of file taxonomy_facet_filter.inc.

179  {
180  ob_start();
181 
182  if ($this->dropdown)
183  {
184  ?>
185  var <?echo $this->bindingTarget->target_class?>_select = new MultiSelect('<?echo $this->bindingTarget->target_class?>_container', {maxWidth: '<?echo $this->dropdownMaxWidth?>', message: '<?echo jsSafe($this->dropdownMessage)?>'});
186  var <?echo $this->bindingTarget->target_class?>_handler = new TaxonomyFacetHandler('<?echo $this->bindingTarget->target_class?>', <?echo $this->bindingTarget->target_class?>_select, <?echo $this->manager->target->getID()?>_facet_manager);
187 <?
188  }
189 
190  $script = ob_get_contents();
191  ob_end_clean();
192  return $script;
193  }
$email message

Member Data Documentation

◆ $bindingTarget

BindingTargetFacetFilter::$bindingTarget

Definition at line 146 of file taxonomy_facet_filter.inc.

◆ $dropdown

BindingTargetFacetFilter::$dropdown = true

Definition at line 150 of file taxonomy_facet_filter.inc.

◆ $dropdownMaxWidth

BindingTargetFacetFilter::$dropdownMaxWidth = "200px"

Definition at line 151 of file taxonomy_facet_filter.inc.

◆ $dropdownMessage

BindingTargetFacetFilter::$dropdownMessage = "Click to Select Terms"

Definition at line 152 of file taxonomy_facet_filter.inc.

◆ $height

BindingTargetFacetFilter::$height = "100px"

Definition at line 149 of file taxonomy_facet_filter.inc.

◆ $width

BindingTargetFacetFilter::$width = "200px"

Definition at line 148 of file taxonomy_facet_filter.inc.


The documentation for this class was generated from the following file: