diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -427,7 +427,7 @@ 'rsrc/js/application/repository/repository-crossreference.js' => 'e5339c43', 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => '887ad43f', - 'rsrc/js/application/transactions/behavior-comment-actions.js' => 'f2c64202', + 'rsrc/js/application/transactions/behavior-comment-actions.js' => 'dd5cae21', 'rsrc/js/application/transactions/behavior-reorder-fields.js' => 'b59e1e96', 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => 'dbbf48b6', 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => 'b23b49e6', @@ -571,7 +571,7 @@ 'javelin-behavior-audit-preview' => 'd835b03a', 'javelin-behavior-bulk-job-reload' => 'edf8a145', 'javelin-behavior-choose-control' => '6153c708', - 'javelin-behavior-comment-actions' => 'f2c64202', + 'javelin-behavior-comment-actions' => 'dd5cae21', 'javelin-behavior-config-reorder-fields' => 'b6993408', 'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a', 'javelin-behavior-conpherence-menu' => '1d45c74d', @@ -1867,6 +1867,14 @@ 'javelin-dom', 'phabricator-busy', ), + 'dd5cae21' => array( + 'javelin-behavior', + 'javelin-stratcom', + 'javelin-workflow', + 'javelin-dom', + 'phuix-form-control-view', + 'phuix-icon-view', + ), 'de2e896f' => array( 'javelin-behavior', 'javelin-dom', @@ -1968,14 +1976,6 @@ 'javelin-workflow', 'javelin-json', ), - 'f2c64202' => array( - 'javelin-behavior', - 'javelin-stratcom', - 'javelin-workflow', - 'javelin-dom', - 'phuix-form-control-view', - 'phuix-icon-view', - ), 'f36e01af' => array( 'javelin-behavior', 'javelin-behavior-device', diff --git a/src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php b/src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php --- a/src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php +++ b/src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php @@ -227,6 +227,7 @@ $action_id = celerity_generate_unique_node_id(); $input_id = celerity_generate_unique_node_id(); + $place_id = celerity_generate_unique_node_id(); $form->appendChild( phutil_tag( @@ -243,12 +244,22 @@ ->setID($action_id) ->setOptions($options)); + // This is an empty placeholder node so we know where to insert the + // new actions. + $form->appendChild( + phutil_tag( + 'div', + array( + 'id' => $place_id, + ))); + Javelin::initBehavior( 'comment-actions', array( 'actionID' => $action_id, 'inputID' => $input_id, 'formID' => $this->getFormID(), + 'placeID' => $place_id, 'actions' => $action_map, )); } diff --git a/webroot/rsrc/js/application/transactions/behavior-comment-actions.js b/webroot/rsrc/js/application/transactions/behavior-comment-actions.js --- a/webroot/rsrc/js/application/transactions/behavior-comment-actions.js +++ b/webroot/rsrc/js/application/transactions/behavior-comment-actions.js @@ -14,6 +14,7 @@ var action_node = JX.$(config.actionID); var form_node = JX.$(config.formID); var input_node = JX.$(config.inputID); + var place_node = JX.$(config.placeID); var rows = {}; @@ -73,12 +74,7 @@ option.disabled = false; }); - // TODO: Grotesque. - action_node - .parentNode - .parentNode - .parentNode - .insertBefore(node, action_node.parentNode.parentNode.nextSibling); + place_node.parentNode.insertBefore(node, place_node); } });