Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/dashboard/editor/PhabricatorDashboardEditEngine.php
13444 views
1
<?php
2
3
final class PhabricatorDashboardEditEngine
4
extends PhabricatorEditEngine {
5
6
const ENGINECONST = 'dashboard';
7
8
public function isEngineConfigurable() {
9
return false;
10
}
11
12
public function getEngineName() {
13
return pht('Dashboards');
14
}
15
16
public function getSummaryHeader() {
17
return pht('Edit Dashboards');
18
}
19
20
public function getSummaryText() {
21
return pht('This engine is used to modify dashboards.');
22
}
23
24
public function getEngineApplicationClass() {
25
return 'PhabricatorDashboardApplication';
26
}
27
28
protected function newEditableObject() {
29
$viewer = $this->getViewer();
30
return PhabricatorDashboard::initializeNewDashboard($viewer);
31
}
32
33
protected function newObjectQuery() {
34
return new PhabricatorDashboardQuery();
35
}
36
37
protected function getObjectCreateTitleText($object) {
38
return pht('Create Dashboard');
39
}
40
41
protected function getObjectCreateButtonText($object) {
42
return pht('Create Dashboard');
43
}
44
45
protected function getObjectCreateCancelURI($object) {
46
return '/dashboard/';
47
}
48
49
protected function getObjectEditTitleText($object) {
50
return pht('Edit Dashboard: %s', $object->getName());
51
}
52
53
protected function getObjectEditShortText($object) {
54
return pht('Edit Dashboard');
55
}
56
57
protected function getObjectCreateShortText() {
58
return pht('Create Dashboard');
59
}
60
61
protected function getObjectName() {
62
return pht('Dashboard');
63
}
64
65
protected function getObjectViewURI($object) {
66
return $object->getURI();
67
}
68
69
protected function buildCustomEditFields($object) {
70
$layout_options = PhabricatorDashboardLayoutMode::getLayoutModeMap();
71
72
$fields = array(
73
id(new PhabricatorTextEditField())
74
->setKey('name')
75
->setLabel(pht('Name'))
76
->setDescription(pht('Name of the dashboard.'))
77
->setConduitDescription(pht('Rename the dashboard.'))
78
->setConduitTypeDescription(pht('New dashboard name.'))
79
->setTransactionType(
80
PhabricatorDashboardNameTransaction::TRANSACTIONTYPE)
81
->setIsRequired(true)
82
->setValue($object->getName()),
83
id(new PhabricatorIconSetEditField())
84
->setKey('icon')
85
->setLabel(pht('Icon'))
86
->setTransactionType(
87
PhabricatorDashboardIconTransaction::TRANSACTIONTYPE)
88
->setIconSet(new PhabricatorDashboardIconSet())
89
->setDescription(pht('Dashboard icon.'))
90
->setConduitDescription(pht('Change the dashboard icon.'))
91
->setConduitTypeDescription(pht('New dashboard icon.'))
92
->setValue($object->getIcon()),
93
id(new PhabricatorSelectEditField())
94
->setKey('layout')
95
->setLabel(pht('Layout'))
96
->setDescription(pht('Dashboard layout mode.'))
97
->setConduitDescription(pht('Change the dashboard layout mode.'))
98
->setConduitTypeDescription(pht('New dashboard layout mode.'))
99
->setTransactionType(
100
PhabricatorDashboardLayoutTransaction::TRANSACTIONTYPE)
101
->setOptions($layout_options)
102
->setValue($object->getRawLayoutMode()),
103
);
104
105
return $fields;
106
}
107
108
}
109
110