Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/engine/PhabricatorBoardLayoutEngine.php
Show First 20 Lines • Show All 223 Lines • ▼ Show 20 Lines | if (!$positions) { | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
$this->addQueue[] = $object_position; | $this->addQueue[] = $object_position; | ||||
$positions[$object_phid] = $object_position; | $positions[$object_phid] = $object_position; | ||||
$positions = msort($positions, 'getOrderingKey'); | $positions = msortv($positions, 'newColumnPositionOrderVector'); | ||||
$this->boardLayout[$board_phid][$column_phid] = $positions; | $this->boardLayout[$board_phid][$column_phid] = $positions; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function applyPositionUpdates() { | public function applyPositionUpdates() { | ||||
foreach ($this->remQueue as $position) { | foreach ($this->remQueue as $position) { | ||||
▲ Show 20 Lines • Show All 158 Lines • ▼ Show 20 Lines | if (!$object_phids) { | ||||
return array(); | return array(); | ||||
} | } | ||||
$positions = id(new PhabricatorProjectColumnPositionQuery()) | $positions = id(new PhabricatorProjectColumnPositionQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withBoardPHIDs(array_keys($boards)) | ->withBoardPHIDs(array_keys($boards)) | ||||
->withObjectPHIDs($object_phids) | ->withObjectPHIDs($object_phids) | ||||
->execute(); | ->execute(); | ||||
$positions = msort($positions, 'getOrderingKey'); | $positions = msortv($positions, 'newColumnPositionOrderVector'); | ||||
$positions = mgroup($positions, 'getBoardPHID'); | $positions = mgroup($positions, 'getBoardPHID'); | ||||
return $positions; | return $positions; | ||||
} | } | ||||
private function layoutBoard( | private function layoutBoard( | ||||
$board, | $board, | ||||
array $columns, | array $columns, | ||||
▲ Show 20 Lines • Show All 160 Lines • ▼ Show 20 Lines | foreach ($object_phids as $object_phid) { | ||||
foreach ($positions as $position) { | foreach ($positions as $position) { | ||||
$column_phid = $position->getColumnPHID(); | $column_phid = $position->getColumnPHID(); | ||||
$layout[$column_phid][$object_phid] = $position; | $layout[$column_phid][$object_phid] = $position; | ||||
} | } | ||||
} | } | ||||
foreach ($layout as $column_phid => $map) { | foreach ($layout as $column_phid => $map) { | ||||
$map = msort($map, 'getOrderingKey'); | $map = msortv($map, 'newColumnPositionOrderVector'); | ||||
$layout[$column_phid] = $map; | $layout[$column_phid] = $map; | ||||
foreach ($map as $object_phid => $position) { | foreach ($map as $object_phid => $position) { | ||||
$this->objectColumnMap[$board_phid][$object_phid][] = $column_phid; | $this->objectColumnMap[$board_phid][$object_phid][] = $column_phid; | ||||
} | } | ||||
} | } | ||||
$this->boardLayout[$board_phid] = $layout; | $this->boardLayout[$board_phid] = $layout; | ||||
} | } | ||||
} | } |