Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/infrastructure/customfield/datasource/PhabricatorCustomFieldApplicationSearchAnyFunctionDatasource.php
12242 views
1
<?php
2
3
final class PhabricatorCustomFieldApplicationSearchAnyFunctionDatasource
4
extends PhabricatorTypeaheadDatasource {
5
6
public function getBrowseTitle() {
7
return pht('Browse Any');
8
}
9
10
public function getPlaceholderText() {
11
return pht('Type "any()"...');
12
}
13
14
public function getDatasourceApplicationClass() {
15
return null;
16
}
17
18
public function getDatasourceFunctions() {
19
return array(
20
'any' => array(
21
'name' => pht('Any Value'),
22
'summary' => pht('Find results with any value.'),
23
'description' => pht(
24
"This function includes results which have any value. Use a query ".
25
"like this to find results with any value:\n\n%s",
26
'> any()'),
27
),
28
);
29
}
30
31
public function loadResults() {
32
$results = array(
33
$this->newAnyFunction(),
34
);
35
return $this->filterResultsAgainstTokens($results);
36
}
37
38
protected function evaluateFunction($function, array $argv_list) {
39
$results = array();
40
41
foreach ($argv_list as $argv) {
42
$results[] = new PhabricatorQueryConstraint(
43
PhabricatorQueryConstraint::OPERATOR_ANY,
44
null);
45
}
46
47
return $results;
48
}
49
50
public function renderFunctionTokens($function, array $argv_list) {
51
$results = array();
52
foreach ($argv_list as $argv) {
53
$results[] = PhabricatorTypeaheadTokenView::newFromTypeaheadResult(
54
$this->newAnyFunction());
55
}
56
return $results;
57
}
58
59
private function newAnyFunction() {
60
$name = pht('Any Value');
61
return $this->newFunctionResult()
62
->setName($name.' any')
63
->setDisplayName($name)
64
->setIcon('fa-circle-o')
65
->setPHID('any()')
66
->setUnique(true)
67
->addAttribute(pht('Select results with any value.'));
68
}
69
70
}
71
72