1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 03:12:41 +01:00
phorge-phorge/src/view/phui/PHUIWorkpanelView.php
Bob Trahan 37b1b31638 Maniphest - move subpriority edits to be transaction powered
Summary:
...this was nice to do for boards, since this diff also starts calling this code in the board move case. The big trick is to use the new expandTransactions hook to expand the subpriority transaction into a priority transaction if pertinent. The other stuff is just about hiding these new subpriority extractions.

...also removes the "edit" UI from the default board since we can't actually edit anything and it thus is buggy.

Ref T4422. Next step is to move board edits into the editor with their own little transaction.

Test Plan: re-orded tasks on a maniphest query, reloaded, and noted re-order stuck.

Reviewers: epriestley

Reviewed By: epriestley

CC: Korvin, epriestley, aran

Maniphest Tasks: T4422

Differential Revision: https://secure.phabricator.com/D8358
2014-02-27 09:39:59 -08:00

91 lines
2 KiB
PHP

<?php
final class PHUIWorkpanelView extends AphrontTagView {
private $cards = array();
private $header;
private $editURI;
private $footerAction;
private $headerColor = PhabricatorActionHeaderView::HEADER_GREY;
public function setCards(PHUIObjectItemListView $cards) {
$this->cards[] = $cards;
return $this;
}
public function setHeader($header) {
$this->header = $header;
return $this;
}
public function setEditURI($edit_uri) {
$this->editURI = $edit_uri;
return $this;
}
public function setFooterAction(PHUIListItemView $footer_action) {
$this->footerAction = $footer_action;
return $this;
}
public function setHeaderColor($header_color) {
$this->headerColor = $header_color;
return $this;
}
public function getTagAttributes() {
return array(
'class' => 'phui-workpanel-view',
);
}
public function getTagContent() {
require_celerity_resource('phui-workpanel-view-css');
$footer = '';
if ($this->footerAction) {
$footer_tag = $this->footerAction;
$footer = phutil_tag(
'ul',
array(
'class' => 'phui-workpanel-footer-action mst ps'
),
$footer_tag);
}
$header_edit = null;
if ($this->editURI) {
$header_edit = id(new PHUIIconView())
->setSpriteSheet(PHUIIconView::SPRITE_ACTIONS)
->setSpriteIcon('settings-grey')
->setHref($this->editURI);
}
$header = id(new PhabricatorActionHeaderView())
->setHeaderTitle($this->header)
->setHeaderColor($this->headerColor);
if ($header_edit) {
$header->addAction($header_edit);
}
$body = phutil_tag(
'div',
array(
'class' => 'phui-workpanel-body'
),
$this->cards);
$view = phutil_tag(
'div',
array(
'class' => 'phui-workpanel-view-inner',
),
array(
$header,
$body,
$footer,
));
return $view;
}
}