| <?php |
|
|
| namespace Kanboard\Formatter; |
|
|
| use Kanboard\Core\Filter\FormatterInterface; |
|
|
| |
| |
| |
| |
| |
| |
| class BoardColumnFormatter extends BaseFormatter implements FormatterInterface |
| { |
| protected $swimlaneId = 0; |
| protected $columns = array(); |
| protected $tasks = array(); |
| protected $tags = array(); |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function withSwimlaneId($swimlaneId) |
| { |
| $this->swimlaneId = $swimlaneId; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function withColumns(array $columns) |
| { |
| $this->columns = $columns; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function withTasks(array $tasks) |
| { |
| $this->tasks = $tasks; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function withTags(array $tags) |
| { |
| $this->tags = $tags; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function format() |
| { |
| foreach ($this->columns as &$column) { |
| $column['id'] = (int) $column['id']; |
| $column['tasks'] = $this->boardTaskFormatter |
| ->withTasks($this->tasks) |
| ->withTags($this->tags) |
| ->withSwimlaneId($this->swimlaneId) |
| ->withColumnId($column['id']) |
| ->format(); |
|
|
| $column['nb_tasks'] = count($column['tasks']); |
| $column['score'] = (int) array_column_sum($column['tasks'], 'score'); |
| } |
|
|
| return $this->columns; |
| } |
| } |
|
|