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; | ||||
| } | } | ||||
| } | } | ||||