protected function renderResultList(array $countdowns, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($countdowns, 'PhabricatorCountdown'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($countdowns as $countdown) { $id = $countdown->getID(); $ended = false; $epoch = $countdown->getEpoch(); if ($epoch <= PhabricatorTime::getNow()) { $ended = true; } $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($countdown)->setObjectName("C{$id}")->setHeader($countdown->getTitle())->setHref($this->getApplicationURI("{$id}/"))->addByline(pht('Created by %s', $handles[$countdown->getAuthorPHID()]->renderLink())); if ($ended) { $item->addAttribute(pht('Launched on %s', phabricator_datetime($epoch, $viewer))); $item->setDisabled(true); } else { $time_left = $epoch - PhabricatorTime::getNow(); $num = round($time_left / (60 * 60 * 24)); $noun = pht('Days'); if ($num < 1) { $num = round($time_left / (60 * 60), 1); $noun = pht('Hours'); } $item->setCountdown($num, $noun); $item->addAttribute(phabricator_datetime($epoch, $viewer)); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No countdowns found.')); return $result; }
protected function renderResultList(array $panels, PhabricatorSavedQuery $query, array $handles) { $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($panels as $panel) { $item = id(new PHUIObjectItemView())->setObjectName($panel->getMonogram())->setHeader($panel->getName())->setHref('/' . $panel->getMonogram())->setObject($panel); $impl = $panel->getImplementation(); if ($impl) { $type_text = $impl->getPanelTypeName(); } else { $type_text = nonempty($panel->getPanelType(), pht('Unknown Type')); } $item->addAttribute($type_text); $properties = $panel->getProperties(); $class = idx($properties, 'class'); $item->addAttribute($class); if ($panel->getIsArchived()) { $item->setDisabled(true); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No panels found.')); return $result; }
protected function renderResultList(array $posts, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($posts, 'PhamePost'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($posts as $post) { $id = $post->getID(); $blog = $post->getBlog(); $blog_name = $viewer->renderHandle($post->getBlogPHID())->render(); $blog_name = pht('Blog: %s', $blog_name); $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($post)->setHeader($post->getTitle())->setStatusIcon('fa-star')->setHref($post->getViewURI())->addAttribute($blog_name); if ($post->isDraft()) { $item->setStatusIcon('fa-star-o grey'); $item->setDisabled(true); $item->addIcon('none', pht('Draft Post')); } else { $date = $post->getDatePublished(); $item->setEpoch($date); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No blogs posts found.')); return $result; }
protected function renderResultList(array $dashboards, PhabricatorSavedQuery $query, array $handles) { $dashboards = mpull($dashboards, null, 'getPHID'); $viewer = $this->requireViewer(); if ($dashboards) { $installs = id(new PhabricatorDashboardInstall())->loadAllWhere('objectPHID IN (%Ls) AND dashboardPHID IN (%Ls)', array(PhabricatorHomeApplication::DASHBOARD_DEFAULT, $viewer->getPHID()), array_keys($dashboards)); $installs = mpull($installs, null, 'getDashboardPHID'); } else { $installs = array(); } $list = new PHUIObjectItemListView(); $list->setUser($viewer); $list->initBehavior('phabricator-tooltips', array()); $list->requireResource('aphront-tooltip-css'); foreach ($dashboards as $dashboard_phid => $dashboard) { $id = $dashboard->getID(); $item = id(new PHUIObjectItemView())->setObjectName(pht('Dashboard %d', $id))->setHeader($dashboard->getName())->setHref($this->getApplicationURI("view/{$id}/"))->setObject($dashboard); if (isset($installs[$dashboard_phid])) { $install = $installs[$dashboard_phid]; if ($install->getObjectPHID() == $viewer->getPHID()) { $attrs = array('tip' => pht('This dashboard is installed to your personal homepage.')); $item->addIcon('fa-user', pht('Installed'), $attrs); } else { $attrs = array('tip' => pht('This dashboard is the default homepage for all users.')); $item->addIcon('fa-globe', pht('Installed'), $attrs); } } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No dashboards found.')); return $result; }
protected function renderResultList(array $blogs, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($blogs, 'PhameBlog'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($blogs as $blog) { $id = $blog->getID(); if ($blog->getDomain()) { $domain = $blog->getDomain(); } else { $domain = pht('Local Blog'); } $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($blog)->setHeader($blog->getName())->setImageURI($blog->getProfileImageURI())->setDisabled($blog->isArchived())->setHref($this->getApplicationURI("/blog/view/{$id}/"))->addAttribute($domain); if (!$blog->isArchived()) { $button = id(new PHUIButtonView())->setTag('a')->setText('New Post')->setHref($this->getApplicationURI('/post/edit/?blog=' . $id)); $item->setLaunchButton($button); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No blogs found.')); return $result; }
protected function renderResultList(array $plans, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($plans, 'HarbormasterBuildPlan'); $viewer = $this->requireViewer(); if ($plans) { $edge_query = id(new PhabricatorEdgeQuery())->withSourcePHIDs(mpull($plans, 'getPHID'))->withEdgeTypes(array(PhabricatorProjectObjectHasProjectEdgeType::EDGECONST)); $edge_query->execute(); } $list = new PHUIObjectItemListView(); foreach ($plans as $plan) { $id = $plan->getID(); $item = id(new PHUIObjectItemView())->setObjectName(pht('Plan %d', $id))->setHeader($plan->getName()); if ($plan->isDisabled()) { $item->setDisabled(true); } if ($plan->isAutoplan()) { $item->addIcon('fa-lock grey', pht('Autoplan')); } $item->setHref($this->getApplicationURI("plan/{$id}/")); $phid = $plan->getPHID(); $project_phids = $edge_query->getDestinationPHIDs(array($phid)); $project_handles = $viewer->loadHandles($project_phids); $item->addAttribute(id(new PHUIHandleTagListView())->setLimit(4)->setNoDataString(pht('No Projects'))->setSlim(true)->setHandles($project_handles)); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No build plans found.')); return $result; }
protected function renderResultList(array $merchants, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($merchants, 'PhortuneMerchant'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($merchants as $merchant) { $item = id(new PHUIObjectItemView())->setSubhead(pht('Merchant %d', $merchant->getID()))->setHeader($merchant->getName())->setHref('/phortune/merchant/' . $merchant->getID() . '/')->setObject($merchant)->setImageIcon('fa-bank'); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No merchants found.')); return $result; }
protected function renderResultList(array $services, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($services, 'AlmanacService'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($services as $service) { $item = id(new PHUIObjectItemView())->setObjectName(pht('Service %d', $service->getID()))->setHeader($service->getName())->setHref($service->getURI())->setObject($service)->addIcon($service->getServiceImplementation()->getServiceTypeIcon(), $service->getServiceImplementation()->getServiceTypeShortName()); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No Almanac Services found.')); return $result; }
protected function renderResultList(array $clients, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($clients, 'PhabricatorOauthServerClient'); $viewer = $this->requireViewer(); $list = id(new PHUIObjectItemListView())->setUser($viewer); foreach ($clients as $client) { $creator = $handles[$client->getCreatorPHID()]; $item = id(new PHUIObjectItemView())->setObjectName(pht('Application %d', $client->getID()))->setHeader($client->getName())->setHref($client->getViewURI())->setObject($client)->addByline(pht('Creator: %s', $creator->renderLink())); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No clients found.')); return $result; }
protected function renderResultList(array $queues, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($queues, 'NuanceQueue'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($queues as $queue) { $item = id(new PHUIObjectItemView())->setObjectName(pht('Queue %d', $queue->getID()))->setHeader($queue->getName())->setHref($queue->getURI()); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No queues found.')); return $result; }
protected function renderResultList(array $urls, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($urls, 'PhabricatorPhurlURL'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $handles = $viewer->loadHandles(mpull($urls, 'getAuthorPHID')); foreach ($urls as $url) { $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($url)->setHeader($viewer->renderHandle($url->getPHID())); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No URLs found.')); return $result; }
protected function renderResultList(array $packages, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($packages, 'PhabricatorOwnersPackage'); $viewer = $this->requireViewer(); $list = id(new PHUIObjectItemListView())->setUser($viewer); foreach ($packages as $package) { $id = $package->getID(); $item = id(new PHUIObjectItemView())->setObject($package)->setObjectName(pht('Package %d', $id))->setHeader($package->getName())->setHref('/owners/package/' . $id . '/'); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No packages found.')); return $result; }
protected function renderResultList(array $networks, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($networks, 'AlmanacNetwork'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($networks as $network) { $id = $network->getID(); $item = id(new PHUIObjectItemView())->setObjectName(pht('Network %d', $id))->setHeader($network->getName())->setHref($this->getApplicationURI("network/{$id}/"))->setObject($network); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No Almanac Networks found.')); return $result; }
protected function renderResultList(array $blogs, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($blogs, 'PhameBlog'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($blogs as $blog) { $id = $blog->getID(); $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($blog)->setHeader($blog->getName())->setStatusIcon('fa-star')->setHref($this->getApplicationURI("/blog/view/{$id}/"))->addAttribute($blog->getSkin())->addAttribute($blog->getDomain()); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No blogs found.')); return $result; }
protected function renderResultList(array $items, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($items, 'NuanceItem'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($items as $item) { $impl = $item->getImplementation(); $view = id(new PHUIObjectItemView())->setObjectName(pht('Item %d', $item->getID()))->setHeader($item->getDisplayName())->setHref($item->getURI()); $view->addIcon($impl->getItemTypeDisplayIcon(), $impl->getItemTypeDisplayName()); $list->addItem($view); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No items found.')); return $result; }
protected function renderResultList(array $imports, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($imports, 'PhabricatorCalendarImport'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); foreach ($imports as $import) { $item = id(new PHUIObjectItemView())->setViewer($viewer)->setObjectName(pht('Import %d', $import->getID()))->setHeader($import->getDisplayName())->setHref($import->getURI()); if ($import->getIsDisabled()) { $item->setDisabled(true); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No imports found.')); return $result; }
protected function renderResultList(array $devices, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($devices, 'AlmanacDevice'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($devices as $device) { $item = id(new PHUIObjectItemView())->setObjectName(pht('Device %d', $device->getID()))->setHeader($device->getName())->setHref($device->getURI())->setObject($device); if ($device->isClusterDevice()) { $item->addIcon('fa-sitemap', pht('Cluster Device')); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No Almanac Devices found.')); return $result; }
protected function renderResultList(array $blueprints, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($blueprints, 'DrydockBlueprint'); $viewer = $this->requireViewer(); $view = new PHUIObjectItemListView(); foreach ($blueprints as $blueprint) { $item = id(new PHUIObjectItemView())->setHeader($blueprint->getBlueprintName())->setHref($this->getApplicationURI('/blueprint/' . $blueprint->getID()))->setObjectName(pht('Blueprint %d', $blueprint->getID())); if (!$blueprint->getImplementation()->isEnabled()) { $item->setDisabled(true); } $item->addAttribute($blueprint->getImplementation()->getBlueprintName()); $view->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($view); $result->setNoDataString(pht('No blueprints found.')); return $result; }
protected function renderResultList(array $keys, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($keys, 'PhabricatorAuthSSHKey'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($keys as $key) { $item = id(new PHUIObjectItemView())->setObjectName(pht('SSH Key %d', $key->getID()))->setHeader($key->getName())->setHref($key->getURI()); if (!$key->getIsActive()) { $item->setDisabled(true); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No matching SSH keys.')); return $result; }
protected function renderResultList(array $products, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($products, 'ReleephProject'); $viewer = $this->requireViewer(); $list = id(new PHUIObjectItemListView())->setUser($viewer); foreach ($products as $product) { $id = $product->getID(); $item = id(new PHUIObjectItemView())->setHeader($product->getName())->setHref($this->getApplicationURI("product/{$id}/")); if (!$product->getIsActive()) { $item->setDisabled(true); $item->addIcon('none', pht('Inactive')); } $repo = $product->getRepository(); $item->addAttribute(phutil_tag('a', array('href' => $repo->getURI()), $repo->getMonogram())); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); return $result; }
protected function renderResultList(array $badges, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($badges, 'PhabricatorBadgesBadge'); $viewer = $this->requireViewer(); $list = id(new PHUIObjectItemListView()); foreach ($badges as $badge) { $quality = idx($badge->getQualityNameMap(), $badge->getQuality()); $mini_badge = id(new PHUIBadgeMiniView())->setHeader($badge->getName())->setIcon($badge->getIcon())->setQuality($badge->getQuality()); $item = id(new PHUIObjectItemView())->setHeader($badge->getName())->setBadge($mini_badge)->setHref('/badges/view/' . $badge->getID() . '/')->addAttribute($quality)->addAttribute($badge->getFlavor()); if ($badge->isClosed()) { $item->setDisabled(true); $item->addIcon('fa-ban', pht('Archived')); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No badges found.')); return $result; }
protected function renderResultList(array $spaces, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($spaces, 'PhabricatorSpacesNamespace'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($spaces as $space) { $item = id(new PHUIObjectItemView())->setObjectName($space->getMonogram())->setHeader($space->getNamespaceName())->setHref('/' . $space->getMonogram()); if ($space->getIsDefaultNamespace()) { $item->addIcon('fa-certificate', pht('Default Space')); } if ($space->getIsArchived()) { $item->setDisabled(true); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No spaces found.')); return $result; }
protected function renderResultList(array $plans, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($plans, 'HarbormasterBuildPlan'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); foreach ($plans as $plan) { $id = $plan->getID(); $item = id(new PHUIObjectItemView())->setObjectName(pht('Plan %d', $plan->getID()))->setHeader($plan->getName()); if ($plan->isDisabled()) { $item->setDisabled(true); } if ($plan->isAutoplan()) { $item->addIcon('fa-lock grey', pht('Autoplan')); } $item->setHref($this->getApplicationURI("plan/{$id}/")); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No build plans found.')); return $result; }
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; }
protected function renderResultList(array $blueprints, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($blueprints, 'DrydockBlueprint'); $viewer = $this->requireViewer(); if ($blueprints) { $edge_query = id(new PhabricatorEdgeQuery())->withSourcePHIDs(mpull($blueprints, 'getPHID'))->withEdgeTypes(array(PhabricatorProjectObjectHasProjectEdgeType::EDGECONST)); $edge_query->execute(); } $view = new PHUIObjectItemListView(); foreach ($blueprints as $blueprint) { $impl = $blueprint->getImplementation(); $item = id(new PHUIObjectItemView())->setHeader($blueprint->getBlueprintName())->setHref($blueprint->getURI())->setObjectName(pht('Blueprint %d', $blueprint->getID())); if (!$impl->isEnabled()) { $item->setDisabled(true); $item->addIcon('fa-chain-broken grey', pht('Implementation')); } if ($blueprint->getIsDisabled()) { $item->setDisabled(true); $item->addIcon('fa-ban grey', pht('Disabled')); } $impl_icon = $impl->getBlueprintIcon(); $impl_name = $impl->getBlueprintName(); $impl_icon = id(new PHUIIconView())->setIcon($impl_icon, 'lightgreytext'); $item->addAttribute(array($impl_icon, ' ', $impl_name)); $phid = $blueprint->getPHID(); $project_phids = $edge_query->getDestinationPHIDs(array($phid)); if ($project_phids) { $project_handles = $viewer->loadHandles($project_phids); $item->addAttribute(id(new PHUIHandleTagListView())->setLimit(4)->setSlim(true)->setHandles($project_handles)); } $view->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($view); $result->setNoDataString(pht('No blueprints found.')); return $result; }
protected function renderResultList(array $credentials, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($credentials, 'PassphraseCredential'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($credentials as $credential) { $item = id(new PHUIObjectItemView())->setObjectName('K' . $credential->getID())->setHeader($credential->getName())->setHref('/K' . $credential->getID())->setObject($credential); $item->addAttribute(pht('Login: %s', $credential->getUsername())); if ($credential->getIsDestroyed()) { $item->addIcon('fa-ban', pht('Destroyed')); $item->setDisabled(true); } $type = PassphraseCredentialType::getTypeByConstant($credential->getCredentialType()); if ($type) { $item->addIcon('fa-wrench', $type->getCredentialTypeName()); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No credentials found.')); return $result; }
protected function renderResultList(array $transcripts, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($transcripts, 'HeraldTranscript'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); foreach ($transcripts as $xscript) { $view_href = phutil_tag('a', array('href' => '/herald/transcript/' . $xscript->getID() . '/'), pht('View Full Transcript')); $item = new PHUIObjectItemView(); $item->setObjectName($xscript->getID()); $item->setHeader($view_href); if ($xscript->getDryRun()) { $item->addAttribute(pht('Dry Run')); } $item->addAttribute($handles[$xscript->getObjectPHID()]->renderLink()); $item->addAttribute(pht('%s ms', new PhutilNumber((int) (1000 * $xscript->getDuration())))); $item->addIcon('none', phabricator_datetime($xscript->getTime(), $viewer)); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No transcripts found.')); return $result; }
protected function renderResultList(array $repositories, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($repositories, 'PhabricatorRepository'); $viewer = $this->requireViewer(); $list = new PHUIObjectItemListView(); foreach ($repositories as $repository) { $id = $repository->getID(); $item = id(new PHUIObjectItemView())->setUser($viewer)->setObject($repository)->setHeader($repository->getName())->setObjectName($repository->getMonogram())->setHref($repository->getURI()); $commit = $repository->getMostRecentCommit(); if ($commit) { $commit_link = DiffusionView::linkCommit($repository, $commit->getCommitIdentifier(), $commit->getSummary()); $item->setSubhead($commit_link); $item->setEpoch($commit->getEpoch()); } $item->addIcon('none', PhabricatorRepositoryType::getNameForRepositoryType($repository->getVersionControlSystem())); $size = $repository->getCommitCount(); if ($size) { $history_uri = $repository->generateURI(array('action' => 'history')); $item->addAttribute(phutil_tag('a', array('href' => $history_uri), pht('%s Commit(s)', new PhutilNumber($size)))); } else { $item->addAttribute(pht('No Commits')); } $project_handles = array_select_keys($handles, $repository->getProjectPHIDs()); if ($project_handles) { $item->addAttribute(id(new PHUIHandleTagListView())->setSlim(true)->setHandles($project_handles)); } if (!$repository->isTracked()) { $item->setDisabled(true); $item->addIcon('disable-grey', pht('Inactive')); } else { if ($repository->isImporting()) { $item->addIcon('fa-clock-o indigo', pht('Importing...')); } } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No repositories found for this query.')); return $result; }
protected function renderResultList(array $pastes, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($pastes, 'PhabricatorPaste'); $viewer = $this->requireViewer(); $lang_map = PhabricatorEnv::getEnvConfig('pygments.dropdown-choices'); $list = new PHUIObjectItemListView(); $list->setUser($viewer); foreach ($pastes as $paste) { $created = phabricator_date($paste->getDateCreated(), $viewer); $author = $handles[$paste->getAuthorPHID()]->renderLink(); $snippet_type = $paste->getSnippet()->getType(); $lines = phutil_split_lines($paste->getSnippet()->getContent()); $preview = id(new PhabricatorSourceCodeView())->setLines($lines)->setTruncatedFirstBytes($snippet_type == PhabricatorPasteSnippet::FIRST_BYTES)->setTruncatedFirstLines($snippet_type == PhabricatorPasteSnippet::FIRST_LINES)->setURI(new PhutilURI($paste->getURI())); $source_code = phutil_tag('div', array('class' => 'phabricator-source-code-summary'), $preview); $created = phabricator_datetime($paste->getDateCreated(), $viewer); $line_count = count($lines); $line_count = pht('%s Line(s)', new PhutilNumber($line_count)); $title = nonempty($paste->getTitle(), pht('(An Untitled Masterwork)')); $item = id(new PHUIObjectItemView())->setObjectName('P' . $paste->getID())->setHeader($title)->setHref('/P' . $paste->getID())->setObject($paste)->addByline(pht('Author: %s', $author))->addIcon('none', $created)->addIcon('none', $line_count)->appendChild($source_code); if ($paste->isArchived()) { $item->setDisabled(true); } $lang_name = $paste->getLanguage(); if ($lang_name) { $lang_name = idx($lang_map, $lang_name, $lang_name); $item->addIcon('none', $lang_name); } $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No pastes found.')); return $result; }
protected function renderResultList(array $flags, PhabricatorSavedQuery $query, array $handles) { assert_instances_of($flags, 'PhabricatorFlag'); $viewer = $this->requireViewer(); $list = id(new PHUIObjectItemListView())->setUser($viewer); foreach ($flags as $flag) { $id = $flag->getID(); $phid = $flag->getObjectPHID(); $class = PhabricatorFlagColor::getCSSClass($flag->getColor()); $flag_icon = phutil_tag('div', array('class' => 'phabricator-flag-icon ' . $class), ''); $item = id(new PHUIObjectItemView())->addHeadIcon($flag_icon)->setHeader($flag->getHandle()->getFullName())->setHref($flag->getHandle()->getURI()); $status_open = PhabricatorObjectHandle::STATUS_OPEN; if ($flag->getHandle()->getStatus() != $status_open) { $item->setDisabled(true); } $item->addAction(id(new PHUIListItemView())->setIcon('fa-pencil')->setHref($this->getApplicationURI("edit/{$phid}/"))->setWorkflow(true)); $item->addAction(id(new PHUIListItemView())->setIcon('fa-times')->setHref($this->getApplicationURI("delete/{$id}/"))->setWorkflow(true)); if ($flag->getNote()) { $item->addAttribute($flag->getNote()); } $item->addIcon('none', phabricator_datetime($flag->getDateCreated(), $viewer)); $list->addItem($item); } $result = new PhabricatorApplicationSearchResultView(); $result->setObjectList($list); $result->setNoDataString(pht('No flags found.')); return $result; }