mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Make the Dashboard dropshadow a little lighter and turn panel management into a menu
Summary: Depends on D20372. Ref T13272. - There's a very heavy dropshadow on panels right now that looks out of place. Reduce it a bit. - Panels currently have unlabeled pencil and trash icons. Turn this into a menu. I'm likely planning to add options like "Change Query..." to this menu to make managing some types of panels easier. Test Plan: {F6332838} Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13272 Differential Revision: https://secure.phabricator.com/D20373
This commit is contained in:
parent
b1e2d3cd29
commit
a1a89589b1
6 changed files with 63 additions and 35 deletions
|
@ -9,7 +9,7 @@ return array(
|
|||
'names' => array(
|
||||
'conpherence.pkg.css' => '3c8a0668',
|
||||
'conpherence.pkg.js' => '020aebcf',
|
||||
'core.pkg.css' => '3b565a84',
|
||||
'core.pkg.css' => '2d4810eb',
|
||||
'core.pkg.js' => 'a568e834',
|
||||
'differential.pkg.css' => '8d8360fb',
|
||||
'differential.pkg.js' => '67e02996',
|
||||
|
@ -58,7 +58,7 @@ return array(
|
|||
'rsrc/css/application/contentsource/content-source-view.css' => 'cdf0d579',
|
||||
'rsrc/css/application/countdown/timer.css' => 'bff8012f',
|
||||
'rsrc/css/application/daemon/bulk-job.css' => '73af99f5',
|
||||
'rsrc/css/application/dashboard/dashboard.css' => '4267d6c6',
|
||||
'rsrc/css/application/dashboard/dashboard.css' => '5a205b9d',
|
||||
'rsrc/css/application/diff/inline-comment-summary.css' => '81eb368d',
|
||||
'rsrc/css/application/differential/add-comment.css' => '7e5900d9',
|
||||
'rsrc/css/application/differential/changeset-view.css' => 'bde53589',
|
||||
|
@ -765,7 +765,7 @@ return array(
|
|||
'phabricator-countdown-css' => 'bff8012f',
|
||||
'phabricator-darklog' => '3b869402',
|
||||
'phabricator-darkmessage' => '26cd4b73',
|
||||
'phabricator-dashboard-css' => '4267d6c6',
|
||||
'phabricator-dashboard-css' => '5a205b9d',
|
||||
'phabricator-diff-changeset' => 'd0a85a85',
|
||||
'phabricator-diff-changeset-list' => '04023d82',
|
||||
'phabricator-diff-inline' => 'a4a14a94',
|
||||
|
|
|
@ -42,8 +42,7 @@ final class PhabricatorDashboardRemovePanelController
|
|||
return new Aphront404Response();
|
||||
}
|
||||
|
||||
$redirect_uri = $this->getApplicationURI(
|
||||
'arrange/'.$dashboard->getID().'/');
|
||||
$redirect_uri = $dashboard->getURI();
|
||||
$layout_config = $dashboard->getLayoutConfigObject();
|
||||
|
||||
if ($request->isFormPost()) {
|
||||
|
|
|
@ -9,28 +9,35 @@ final class PhabricatorDashboardPanelEditController
|
|||
$engine = id(new PhabricatorDashboardPanelEditEngine())
|
||||
->setController($this);
|
||||
|
||||
// We can create or edit a panel in the context of a dashboard. If we
|
||||
// started on a dashboard, we want to return to that dashboard when we're
|
||||
// done editing.
|
||||
$dashboard_id = $request->getStr('dashboardID');
|
||||
if (strlen($dashboard_id)) {
|
||||
$dashboard = id(new PhabricatorDashboardQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs(array($dashboard_id))
|
||||
->requireCapabilities(
|
||||
array(
|
||||
PhabricatorPolicyCapability::CAN_VIEW,
|
||||
PhabricatorPolicyCapability::CAN_EDIT,
|
||||
))
|
||||
->executeOne();
|
||||
if (!$dashboard) {
|
||||
return new Aphront404Response();
|
||||
}
|
||||
|
||||
$engine
|
||||
->setDashboard($dashboard)
|
||||
->addContextParameter('dashboardID', $dashboard_id);
|
||||
} else {
|
||||
$dashboard = null;
|
||||
}
|
||||
|
||||
$id = $request->getURIData('id');
|
||||
if (!$id) {
|
||||
$dashboard_id = $request->getStr('dashboardID');
|
||||
$column_id = $request->getStr('columnID');
|
||||
|
||||
if (strlen($dashboard_id)) {
|
||||
$dashboard = id(new PhabricatorDashboardQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs(array($dashboard_id))
|
||||
->requireCapabilities(
|
||||
array(
|
||||
PhabricatorPolicyCapability::CAN_VIEW,
|
||||
PhabricatorPolicyCapability::CAN_EDIT,
|
||||
))
|
||||
->executeOne();
|
||||
if (!$dashboard) {
|
||||
return new Aphront404Response();
|
||||
}
|
||||
} else {
|
||||
$dashboard = null;
|
||||
}
|
||||
|
||||
if ($dashboard) {
|
||||
$cancel_uri = $dashboard->getURI();
|
||||
} else {
|
||||
|
@ -45,10 +52,8 @@ final class PhabricatorDashboardPanelEditController
|
|||
|
||||
$engine
|
||||
->addContextParameter('panelType', $panel_type)
|
||||
->addContextParameter('dashboardID', $dashboard_id)
|
||||
->addContextParameter('columnID', $column_id)
|
||||
->setPanelType($panel_type)
|
||||
->setDashboard($dashboard)
|
||||
->setColumnID($column_id);
|
||||
}
|
||||
|
||||
|
|
|
@ -101,6 +101,15 @@ final class PhabricatorDashboardPanelEditEngine
|
|||
return parent::getEffectiveObjectEditDoneURI($object);
|
||||
}
|
||||
|
||||
protected function getObjectEditCancelURI($object) {
|
||||
$dashboard = $this->getDashboard();
|
||||
if ($dashboard) {
|
||||
return $dashboard->getURI();
|
||||
}
|
||||
|
||||
return parent::getObjectEditCancelURI($object);
|
||||
}
|
||||
|
||||
protected function getObjectEditTitleText($object) {
|
||||
return pht('Edit Panel: %s', $object->getName());
|
||||
}
|
||||
|
|
|
@ -277,10 +277,13 @@ final class PhabricatorDashboardPanelRenderingEngine extends Phobject {
|
|||
|
||||
private function addPanelHeaderActions(
|
||||
PHUIHeaderView $header) {
|
||||
$panel = $this->getPanel();
|
||||
|
||||
$viewer = $this->getViewer();
|
||||
$panel = $this->getPanel();
|
||||
$dashboard_id = $this->getDashboardID();
|
||||
|
||||
$actions = array();
|
||||
|
||||
if ($panel) {
|
||||
$panel_id = $panel->getID();
|
||||
|
||||
|
@ -290,12 +293,10 @@ final class PhabricatorDashboardPanelRenderingEngine extends Phobject {
|
|||
$edit_uri->replaceQueryParam('dashboardID', $dashboard_id);
|
||||
}
|
||||
|
||||
$action_edit = id(new PHUIIconView())
|
||||
$actions[] = id(new PhabricatorActionView())
|
||||
->setIcon('fa-pencil')
|
||||
->setWorkflow(true)
|
||||
->setName(pht('Edit Panel'))
|
||||
->setHref((string)$edit_uri);
|
||||
|
||||
$header->addActionItem($action_edit);
|
||||
}
|
||||
|
||||
if ($dashboard_id) {
|
||||
|
@ -305,14 +306,28 @@ final class PhabricatorDashboardPanelRenderingEngine extends Phobject {
|
|||
$remove_uri = id(new PhutilURI($remove_uri))
|
||||
->replaceQueryParam('panelPHID', $panel_phid);
|
||||
|
||||
$action_remove = id(new PHUIIconView())
|
||||
->setIcon('fa-trash-o')
|
||||
$actions[] = id(new PhabricatorActionView())
|
||||
->setIcon('fa-times')
|
||||
->setHref((string)$remove_uri)
|
||||
->setName(pht('Remove Panel'))
|
||||
->setWorkflow(true);
|
||||
|
||||
$header->addActionItem($action_remove);
|
||||
}
|
||||
|
||||
$dropdown_menu = id(new PhabricatorActionListView())
|
||||
->setViewer($viewer);
|
||||
|
||||
foreach ($actions as $action) {
|
||||
$dropdown_menu->addAction($action);
|
||||
}
|
||||
|
||||
$action_menu = id(new PHUIButtonView())
|
||||
->setTag('a')
|
||||
->setIcon('fa-cog')
|
||||
->setText(pht('Manage Panel'))
|
||||
->setDropdownMenu($dropdown_menu);
|
||||
|
||||
$header->addActionLink($action_menu);
|
||||
|
||||
return $header;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
}
|
||||
|
||||
.grippable .aphront-multi-column-column .dashboard-box.phui-object-box:hover {
|
||||
box-shadow: {$dropshadow};
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.10);
|
||||
}
|
||||
|
||||
.grippable .aphront-multi-column-column .dashboard-box.phui-object-box:hover
|
||||
|
|
Loading…
Reference in a new issue