Page MenuHomePhabricator

D13249.diff
No OneTemporary

D13249.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -374,7 +374,7 @@
'rsrc/js/application/herald/HeraldRuleEditor.js' => 'b2cae298',
'rsrc/js/application/herald/PathTypeahead.js' => 'f7fc67ec',
'rsrc/js/application/herald/herald-rule-editor.js' => '7ebaeed3',
- 'rsrc/js/application/maniphest/behavior-batch-editor.js' => 'f5d1233b',
+ 'rsrc/js/application/maniphest/behavior-batch-editor.js' => '782ab6e7',
'rsrc/js/application/maniphest/behavior-batch-selector.js' => '7b98d7c5',
'rsrc/js/application/maniphest/behavior-line-chart.js' => '88f0c5b3',
'rsrc/js/application/maniphest/behavior-list-edit.js' => 'a9f88de2',
@@ -587,7 +587,7 @@
'javelin-behavior-lightbox-attachments' => 'f8ba29d7',
'javelin-behavior-line-chart' => '88f0c5b3',
'javelin-behavior-load-blame' => '42126667',
- 'javelin-behavior-maniphest-batch-editor' => 'f5d1233b',
+ 'javelin-behavior-maniphest-batch-editor' => '782ab6e7',
'javelin-behavior-maniphest-batch-selector' => '7b98d7c5',
'javelin-behavior-maniphest-list-editor' => 'a9f88de2',
'javelin-behavior-maniphest-subpriority-editor' => '84845b5b',
@@ -1385,6 +1385,14 @@
'javelin-util',
'phabricator-busy',
),
+ '782ab6e7' => array(
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-prefab',
+ 'multirow-row-manager',
+ 'javelin-json',
+ ),
'7927a7d3' => array(
'javelin-behavior',
'javelin-quicksand',
@@ -1967,14 +1975,6 @@
'javelin-request',
'phabricator-keyboard-shortcut',
),
- 'f5d1233b' => array(
- 'javelin-behavior',
- 'javelin-dom',
- 'javelin-util',
- 'phabricator-prefab',
- 'multirow-row-manager',
- 'javelin-json',
- ),
'f6555212' => array(
'javelin-install',
'javelin-reactornode',
diff --git a/src/applications/maniphest/controller/ManiphestBatchEditController.php b/src/applications/maniphest/controller/ManiphestBatchEditController.php
--- a/src/applications/maniphest/controller/ManiphestBatchEditController.php
+++ b/src/applications/maniphest/controller/ManiphestBatchEditController.php
@@ -88,6 +88,8 @@
$mailable_source->setViewer($viewer);
$owner_source = new ManiphestAssigneeDatasource();
$owner_source->setViewer($viewer);
+ $spaces_source = id(new PhabricatorSpacesNamespaceDatasource())
+ ->setViewer($viewer);
require_celerity_resource('maniphest-batch-editor');
Javelin::initBehavior(
@@ -112,6 +114,12 @@
'placeholder' => $mailable_source->getPlaceholderText(),
'browseURI' => $mailable_source->getBrowseURI(),
),
+ 'spaces' => array(
+ 'src' => $spaces_source->getDatasourceURI(),
+ 'placeholder' => $spaces_source->getPlaceholderText(),
+ 'browseURI' => $spaces_source->getBrowseURI(),
+ 'limit' => 1,
+ ),
),
'input' => 'batch-form-actions',
'priorityMap' => ManiphestTaskPriority::getTaskPriorityMap(),
@@ -201,6 +209,7 @@
'remove_project' => PhabricatorTransactions::TYPE_EDGE,
'add_ccs' => PhabricatorTransactions::TYPE_SUBSCRIBERS,
'remove_ccs' => PhabricatorTransactions::TYPE_SUBSCRIBERS,
+ 'space' => PhabricatorTransactions::TYPE_SPACE,
);
$edge_edit_types = array(
@@ -246,6 +255,10 @@
case PhabricatorTransactions::TYPE_SUBSCRIBERS:
$current = $task->getSubscriberPHIDs();
break;
+ case PhabricatorTransactions::TYPE_SPACE:
+ $current = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID(
+ $task);
+ break;
}
}
@@ -260,6 +273,12 @@
continue 2;
}
break;
+ case PhabricatorTransactions::TYPE_SPACE:
+ if (empty($value)) {
+ continue 2;
+ }
+ $value = head($value);
+ break;
case ManiphestTransaction::TYPE_OWNER:
if (empty($value)) {
continue 2;
diff --git a/webroot/rsrc/js/application/maniphest/behavior-batch-editor.js b/webroot/rsrc/js/application/maniphest/behavior-batch-editor.js
--- a/webroot/rsrc/js/application/maniphest/behavior-batch-editor.js
+++ b/webroot/rsrc/js/application/maniphest/behavior-batch-editor.js
@@ -24,12 +24,14 @@
'add_comment': 'Comment',
'assign': 'Assign',
'add_ccs' : 'Add CCs',
- 'remove_ccs' : 'Remove CCs'
+ 'remove_ccs' : 'Remove CCs',
+ 'space': 'Shift to Space'
});
var proj_tokenizer = build_tokenizer(config.sources.project);
var owner_tokenizer = build_tokenizer(config.sources.owner);
var cc_tokenizer = build_tokenizer(config.sources.cc);
+ var space_tokenizer = build_tokenizer(config.sources.spaces);
var priority_select = JX.Prefab.renderSelect(config.priorityMap);
var status_select = JX.Prefab.renderSelect(config.statusMap);
@@ -60,6 +62,12 @@
return JX.keys(owner_tokenizer.object.getTokens());
};
break;
+ case 'space':
+ JX.DOM.setContent(cell, space_tokenizer.template);
+ vfunc = function() {
+ return JX.keys(space_tokenizer.object.getTokens());
+ };
+ break;
case 'add_comment':
JX.DOM.setContent(cell, comment_input);
vfunc = function() {

File Metadata

Mime Type
text/plain
Expires
Tue, May 14, 12:22 AM (2 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6291025
Default Alt Text
D13249.diff (5 KB)

Event Timeline