Differential D20415 Diff 48758 src/applications/dashboard/engine/PhabricatorDashboardRenderingEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/dashboard/engine/PhabricatorDashboardRenderingEngine.php
Show First 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | foreach ($columns as $column) { | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->setEnableAsyncRendering(true) | ->setEnableAsyncRendering(true) | ||||
->setContextObject($dashboard) | ->setContextObject($dashboard) | ||||
->setPanelKey($panel_ref->getPanelKey()) | ->setPanelKey($panel_ref->getPanelKey()) | ||||
->setPanelPHID($panel_phid) | ->setPanelPHID($panel_phid) | ||||
->setParentPanelPHIDs(array()) | ->setParentPanelPHIDs(array()) | ||||
->setHeaderMode($h_mode) | ->setHeaderMode($h_mode) | ||||
->setEditMode($is_editable) | ->setEditMode($is_editable) | ||||
->setMovable(true) | |||||
->setPanelHandle($handles[$panel_phid]); | ->setPanelHandle($handles[$panel_phid]); | ||||
$panel = idx($panels, $panel_phid); | $panel = idx($panels, $panel_phid); | ||||
if ($panel) { | if ($panel) { | ||||
$panel_engine->setPanel($panel); | $panel_engine->setPanel($panel); | ||||
} | } | ||||
$column_views[] = $panel_engine->renderPanel(); | $column_views[] = $panel_engine->renderPanel(); | ||||
} | } | ||||
$column_classes = $column->getClasses(); | $column_classes = $column->getClasses(); | ||||
$column_tail = array(); | |||||
if ($is_editable) { | if ($is_editable) { | ||||
$column_views[] = $this->renderAddPanelPlaceHolder(); | $column_tail[] = $this->renderAddPanelPlaceHolder(); | ||||
$column_views[] = $this->renderAddPanelUI($column); | $column_tail[] = $this->renderAddPanelUI($column); | ||||
} | } | ||||
$sigil = 'dashboard-column'; | $sigil = 'dashboard-column'; | ||||
$metadata = array( | $metadata = array( | ||||
'columnKey' => $column->getColumnKey(), | 'columnKey' => $column->getColumnKey(), | ||||
); | ); | ||||
$column_view = javelin_tag( | |||||
'div', | |||||
array( | |||||
'sigil' => $sigil, | |||||
'meta' => $metadata, | |||||
), | |||||
$column_views); | |||||
$result->addColumn( | $result->addColumn( | ||||
$column_views, | array( | ||||
implode(' ', $column_classes), | $column_view, | ||||
$sigil, | $column_tail, | ||||
$metadata); | ), | ||||
implode(' ', $column_classes)); | |||||
} | } | ||||
if ($is_editable) { | if ($is_editable) { | ||||
$params = array( | $params = array( | ||||
'contextPHID' => $dashboard->getPHID(), | 'contextPHID' => $dashboard->getPHID(), | ||||
); | ); | ||||
$move_uri = new PhutilURI('/dashboard/adjust/move/', $params); | $move_uri = new PhutilURI('/dashboard/adjust/move/', $params); | ||||
Show All 35 Lines | private function renderAddPanelUI(PhabricatorDashboardColumn $column) { | ||||
$add_uri = id(new PhutilURI('/dashboard/adjust/add/')) | $add_uri = id(new PhutilURI('/dashboard/adjust/add/')) | ||||
->replaceQueryParam('contextPHID', $dashboard->getPHID()) | ->replaceQueryParam('contextPHID', $dashboard->getPHID()) | ||||
->replaceQueryParam('columnKey', $column_key); | ->replaceQueryParam('columnKey', $column_key); | ||||
$create_button = id(new PHUIButtonView()) | $create_button = id(new PHUIButtonView()) | ||||
->setTag('a') | ->setTag('a') | ||||
->setHref($create_uri) | ->setHref($create_uri) | ||||
->setIcon('fa-plus') | |||||
->setColor(PHUIButtonView::GREY) | |||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setText(pht('Create Panel')) | ->setText(pht('Create Panel')) | ||||
->addClass(PHUI::MARGIN_MEDIUM); | ->addClass(PHUI::MARGIN_MEDIUM); | ||||
$add_button = id(new PHUIButtonView()) | $add_button = id(new PHUIButtonView()) | ||||
->setTag('a') | ->setTag('a') | ||||
->setHref($add_uri) | ->setHref($add_uri) | ||||
->setIcon('fa-window-maximize') | |||||
->setColor(PHUIButtonView::GREY) | |||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setText(pht('Add Existing Panel')) | ->setText(pht('Add Existing Panel')) | ||||
->addClass(PHUI::MARGIN_MEDIUM); | ->addClass(PHUI::MARGIN_MEDIUM); | ||||
return phutil_tag( | return phutil_tag( | ||||
'div', | 'div', | ||||
array( | array( | ||||
'style' => 'text-align: center;', | 'style' => 'text-align: center;', | ||||
), | ), | ||||
array( | array( | ||||
$create_button, | $create_button, | ||||
$add_button, | $add_button, | ||||
)); | )); | ||||
} | } | ||||
} | } |