Author: sevein
Date: Mon Aug 27 11:36:09 2012
New Revision: 12215
Log:
Define hasNextSiblings so the treeview can show the 'next' button
Modified:
trunk/apps/qubit/modules/term/actions/treeViewAction.class.php
Modified: trunk/apps/qubit/modules/term/actions/treeViewAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/term/actions/treeViewAction.class.php Mon Aug
27 11:24:56 2012 (r12214)
+++ trunk/apps/qubit/modules/term/actions/treeViewAction.class.php Mon Aug
27 11:36:09 2012 (r12215)
@@ -27,29 +27,11 @@
if ('all' == $request->show)
{
$taxonomyId = QubitTerm::getById($request->resourceId)->taxonomyId;
-
- // Get first child
- $criteria = new Criteria;
- $criteria->add(QubitTerm::PARENT_ID, QubitTerm::ROOT_ID);
- $criteria->add(QubitTerm::TAXONOMY_ID, $taxonomyId);
- $criteria = QubitCultureFallback::addFallbackCriteria($criteria,
'QubitTerm');
- $criteria->addAscendingOrderByColumn('name');
- $criteria->addAscendingOrderByColumn('lft');
- $criteria->setLimit(1);
-
- $first = QubitTerm::getOne($criteria);
-
- // Create array
- $this->items = array();
- $this->items[] = $first;
-
- // Merge following siblings to the array
- $this->items = array_merge($this->items,
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings +
1, 'position' => 'next')));
-
- return;
}
-
- $this->resource = $this->getRoute()->resource;
+ else
+ {
+ $this->resource = $this->getRoute()->resource;
+ }
switch ($request->show)
{
@@ -80,10 +62,58 @@
break;
+ case 'all':
+
+ // Get first child
+ $criteria = new Criteria;
+ $criteria->add(QubitTerm::PARENT_ID, QubitTerm::ROOT_ID);
+ $criteria->add(QubitTerm::TAXONOMY_ID, $taxonomyId);
+ $criteria = QubitCultureFallback::addFallbackCriteria($criteria,
'QubitTerm');
+ $criteria->addAscendingOrderByColumn('name');
+ $criteria->addAscendingOrderByColumn('lft');
+ $criteria->setLimit(1);
+ $first = QubitTerm::getOne($criteria);
+
+ // Create array
+ $this->items = array();
+ $this->items[] = $first;
+
+ // Merge following siblings to the array
+ $this->items = array_merge($this->items,
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings +
2, 'position' => 'next')));
+
+ $this->hasNextSiblings = count($this->items) >
$numberOfPreviousOrNextSiblings;
+ if ($this->hasNextSiblings)
+ {
+ array_pop($this->items);
+ }
+
+ break;
+
case 'item':
default:
- $this->items = $this->resource->getChildren(array('sortBy' => 'name'));
+ // Get first child
+ $criteria = new Criteria;
+ $criteria->add(QubitTerm::PARENT_ID, $this->resource->id);
+ $criteria->add(QubitTerm::TAXONOMY_ID, $this->resource->taxonomyId);
+ $criteria = QubitCultureFallback::addFallbackCriteria($criteria,
'QubitTerm');
+ $criteria->addAscendingOrderByColumn('name');
+ $criteria->addAscendingOrderByColumn('lft');
+ $criteria->setLimit(1);
+ $first = QubitTerm::getOne($criteria);
+
+ // Create array
+ $this->items = array();
+ $this->items[] = $first;
+
+ // Merge following siblings to the array
+ $this->items = array_merge($this->items,
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings +
2, 'position' => 'next')));
+
+ $this->hasNextSiblings = count($this->items) >
$numberOfPreviousOrNextSiblings;
+ if ($this->hasNextSiblings)
+ {
+ array_pop($this->items);
+ }
break;
}
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.