mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-23 13:08:18 +01:00
8ec413b972
Summary: Ref T9964. I added several hacks to get these working. Clean them up and pull this into a proper extension. The behavior in the web UI is: - they work in all applications; but - they only show up in the UI if a value is specified. So if you visit `/view/?ids=1,2` you get the field, but normally it's not present. We could refine this later. I'm going to add documentation about how to prefill these forms regardless, which should make this discoverable by reading the documentation. There's one teensey weensey hack: in the API, I push these fields to the top of the table. That one feels OK, since it's purely a convenience/display adjustment. Test Plan: Queried by IDs, reviewed docs. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9964 Differential Revision: https://secure.phabricator.com/D14769
30 lines
641 B
PHP
30 lines
641 B
PHP
<?php
|
|
|
|
final class PhabricatorIDsSearchField
|
|
extends PhabricatorSearchField {
|
|
|
|
protected function getDefaultValue() {
|
|
return array();
|
|
}
|
|
|
|
protected function getValueFromRequest(AphrontRequest $request, $key) {
|
|
return $request->getStrList($key);
|
|
}
|
|
|
|
protected function newControl() {
|
|
if (strlen($this->getValueForControl())) {
|
|
return new AphrontFormTextControl();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
protected function getValueForControl() {
|
|
return implode(', ', parent::getValueForControl());
|
|
}
|
|
|
|
protected function newConduitParameterType() {
|
|
return new ConduitIntListParameterType();
|
|
}
|
|
|
|
}
|