protected function renderResultList(array $exports, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($exports, 'PhabricatorCalendarExport'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); foreach ($exports as $export) { $item = id(new PHUIObjectItemView())->setViewer($viewer)->setObjectName(pht('Export %d', $export->getID()))->setHeader($export->getName())->setHref($export->getURI()); if ($export->getIsDisabled()) { $item->setDisabled(true); } $mode = $export->getPolicyMode(); $policy_icon = PhabricatorCalendarExport::getPolicyModeIcon($mode); $policy_name = PhabricatorCalendarExport::getPolicyModeName($mode); $policy_color = PhabricatorCalendarExport::getPolicyModeColor($mode); $item->addIcon("{$policy_icon} {$policy_color}", $policy_name); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No exports found.')); return $result; }
private function buildPropertySection(PhabricatorCalendarExport $export) { $viewer = $this->getViewer(); $properties = id(new PHUIPropertyListView())->setUser($viewer); $mode = $export->getPolicyMode(); $policy_icon = PhabricatorCalendarExport::getPolicyModeIcon($mode); $policy_name = PhabricatorCalendarExport::getPolicyModeName($mode); $policy_desc = PhabricatorCalendarExport::getPolicyModeDescription($mode); $policy_color = PhabricatorCalendarExport::getPolicyModeColor($mode); $policy_view = id(new PHUIStatusListView())->addItem(id(new PHUIStatusItemView())->setIcon($policy_icon, $policy_color)->setTarget($policy_name)->setNote($policy_desc)); $properties->addProperty(pht('Mode'), $policy_view); $query_key = $export->getQueryKey(); $query_link = phutil_tag('a', array('href' => $this->getApplicationURI("/query/{$query_key}/")), $query_key); $properties->addProperty(pht('Query'), $query_link); $ics_uri = $export->getICSURI(); $ics_uri = PhabricatorEnv::getURI($ics_uri); if ($export->getIsDisabled()) { $ics_href = phutil_tag('em', array(), $ics_uri); } else { $ics_href = phutil_tag('a', array('href' => $ics_uri), $ics_uri); } $properties->addProperty(pht('ICS URI'), $ics_href); return $properties; }