17 import(
'lib.pkp.classes.controllers.grid.feature.OrderItemsFeature');
25 function __construct($overrideRowTemplate =
true, $nonOrderableItemsMessage =
null) {
26 parent::__construct($overrideRowTemplate, $nonOrderableItemsMessage);
37 return '$.pkp.classes.features.OrderGridItemsFeature';
49 $request =& $args[
'request'];
50 $grid =& $args[
'grid'];
52 $data = json_decode($request->getUserVar(
'data'));
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);