Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/diffusion/management/DiffusionRepositorySymbolsManagementPanel.php
13395 views
1
<?php
2
3
final class DiffusionRepositorySymbolsManagementPanel
4
extends DiffusionRepositoryManagementPanel {
5
6
const PANELKEY = 'symbols';
7
8
public function getManagementPanelLabel() {
9
return pht('Symbols');
10
}
11
12
public function getManagementPanelOrder() {
13
return 900;
14
}
15
16
public function getManagementPanelGroupKey() {
17
return DiffusionRepositoryManagementIntegrationsPanelGroup::PANELGROUPKEY;
18
}
19
20
public function getManagementPanelIcon() {
21
$repository = $this->getRepository();
22
23
$has_any =
24
$repository->getSymbolLanguages() ||
25
$repository->getSymbolSources();
26
27
if ($has_any) {
28
return 'fa-link';
29
} else {
30
return 'fa-link grey';
31
}
32
}
33
34
protected function getEditEngineFieldKeys() {
35
return array(
36
'symbolLanguages',
37
'symbolRepositoryPHIDs',
38
);
39
}
40
41
public function buildManagementPanelCurtain() {
42
$repository = $this->getRepository();
43
$viewer = $this->getViewer();
44
$action_list = $this->newActionList();
45
46
$can_edit = PhabricatorPolicyFilter::hasCapability(
47
$viewer,
48
$repository,
49
PhabricatorPolicyCapability::CAN_EDIT);
50
51
$symbols_uri = $this->getEditPageURI();
52
53
$action_list->addAction(
54
id(new PhabricatorActionView())
55
->setIcon('fa-pencil')
56
->setName(pht('Edit Symbols'))
57
->setHref($symbols_uri)
58
->setDisabled(!$can_edit)
59
->setWorkflow(!$can_edit));
60
61
return $this->newCurtainView()
62
->setActionList($action_list);
63
}
64
65
public function buildManagementPanelContent() {
66
$repository = $this->getRepository();
67
$viewer = $this->getViewer();
68
69
$view = id(new PHUIPropertyListView())
70
->setViewer($viewer);
71
72
$languages = $repository->getSymbolLanguages();
73
if ($languages) {
74
$languages = implode(', ', $languages);
75
} else {
76
$languages = phutil_tag('em', array(), pht('Any'));
77
}
78
$view->addProperty(pht('Languages'), $languages);
79
80
$sources = $repository->getSymbolSources();
81
if ($sources) {
82
$sources = $viewer->renderHandleList($sources);
83
} else {
84
$sources = phutil_tag('em', array(), pht('This Repository Only'));
85
}
86
$view->addProperty(pht('Uses Symbols From'), $sources);
87
88
return $this->newBox(pht('Symbols'), $view);
89
}
90
91
}
92
93