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