Make more of the Calendar export workflow work
Summary:
Ref T10747.
- Adds a "Use Results..." dropdown to query result pages, with actions you can take with search results (today: create export; in future: bulk edit, export as excel, make dashboard panel, etc).
- Allows you to create an export against a query key.
- I'm just using a text edit field for this for now.
- Fleshes out export modes. I plan to support: public (as though you were logged out), privileged (as though you were logged in) and availability (event times, but not details).
This does not actually export stuff yet.
Test Plan: Created some exports. Viewed and listed exports.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10747
Differential Revision: https://secure.phabricator.com/D16676
This commit is contained in:
@@ -252,12 +252,6 @@ final class PhabricatorApplicationSearchController
|
||||
get_class($engine)));
|
||||
}
|
||||
|
||||
if ($list->getActions()) {
|
||||
foreach ($list->getActions() as $action) {
|
||||
$header->addActionLink($action);
|
||||
}
|
||||
}
|
||||
|
||||
if ($list->getObjectList()) {
|
||||
$box->setObjectList($list->getObjectList());
|
||||
}
|
||||
@@ -274,6 +268,21 @@ final class PhabricatorApplicationSearchController
|
||||
$result_header = $list->getHeader();
|
||||
if ($result_header) {
|
||||
$box->setHeader($result_header);
|
||||
$header = $result_header;
|
||||
}
|
||||
|
||||
if ($list->getActions()) {
|
||||
foreach ($list->getActions() as $action) {
|
||||
$header->addActionLink($action);
|
||||
}
|
||||
}
|
||||
|
||||
$use_actions = $engine->newUseResultsActions($saved_query);
|
||||
if ($use_actions) {
|
||||
$use_dropdown = $this->newUseResultsDropdown(
|
||||
$saved_query,
|
||||
$use_actions);
|
||||
$header->addActionLink($use_dropdown);
|
||||
}
|
||||
|
||||
$more_crumbs = $list->getCrumbs();
|
||||
@@ -496,5 +505,24 @@ final class PhabricatorApplicationSearchController
|
||||
return $nux_view;
|
||||
}
|
||||
|
||||
private function newUseResultsDropdown(
|
||||
PhabricatorSavedQuery $query,
|
||||
array $dropdown_items) {
|
||||
|
||||
$viewer = $this->getViewer();
|
||||
|
||||
$action_list = id(new PhabricatorActionListView())
|
||||
->setViewer($viewer);
|
||||
foreach ($dropdown_items as $dropdown_item) {
|
||||
$action_list->addAction($dropdown_item);
|
||||
}
|
||||
|
||||
return id(new PHUIButtonView())
|
||||
->setTag('a')
|
||||
->setHref('#')
|
||||
->setText(pht('Use Results...'))
|
||||
->setIcon('fa-road')
|
||||
->setDropdownMenu($action_list);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user