Open Journal Systems  3.3.0
OrderGridItemsFeature.inc.php
1 <?php
2 
17 import('lib.pkp.classes.controllers.grid.feature.OrderItemsFeature');
18 
20 
25  function __construct($overrideRowTemplate = true, $nonOrderableItemsMessage = null) {
26  parent::__construct($overrideRowTemplate, $nonOrderableItemsMessage);
27  }
28 
29 
30  //
31  // Extended methods from GridFeature.
32  //
36  function getJSClass() {
37  return '$.pkp.classes.features.OrderGridItemsFeature';
38  }
39 
40 
41  //
42  // Hooks implementation.
43  //
48  function saveSequence($args) {
49  $request =& $args['request'];
50  $grid =& $args['grid'];
51 
52  $data = json_decode($request->getUserVar('data'));
53 
54  $gridElements = $grid->getGridDataElements($request);
55  if (empty($gridElements)) return;
56  $firstSeqValue = $grid->getDataElementSequence(reset($gridElements));
57  foreach ($gridElements as $rowId => $element) {
58  $rowPosition = array_search($rowId, $data);
59  $newSequence = $firstSeqValue + $rowPosition;
60  $currentSequence = $grid->getDataElementSequence($element);
61  if ($newSequence != $currentSequence) {
62  $grid->setDataElementSequence($request, $rowId, $element, $newSequence);
63  }
64  }
65  }
66 }
67 
68 
OrderItemsFeature
Base class for grid widgets ordering functionality.
Definition: OrderItemsFeature.inc.php:19
OrderGridItemsFeature
Implements grid ordering functionality.
Definition: OrderGridItemsFeature.inc.php:19
OrderGridItemsFeature\saveSequence
saveSequence($args)
Definition: OrderGridItemsFeature.inc.php:48
OrderGridItemsFeature\getJSClass
getJSClass()
Definition: OrderGridItemsFeature.inc.php:36
OrderGridItemsFeature\__construct
__construct($overrideRowTemplate=true, $nonOrderableItemsMessage=null)
Definition: OrderGridItemsFeature.inc.php:25