Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15419617
D9649.id23158.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
16 KB
Referenced Files
None
Subscribers
None
D9649.id23158.diff
View Options
diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -8,7 +8,7 @@
'names' =>
array(
'core.pkg.css' => '8feeb38a',
- 'core.pkg.js' => '07b01d4f',
+ 'core.pkg.js' => 'b440d8d7',
'darkconsole.pkg.js' => 'ca8671ce',
'differential.pkg.css' => '4a93db37',
'differential.pkg.js' => '5b252007',
@@ -418,8 +418,8 @@
'rsrc/js/application/repository/repository-crossreference.js' => '8ab282be',
'rsrc/js/application/search/behavior-reorder-queries.js' => '37871df4',
'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => 'a51fdb2e',
- 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => '9084a36f',
- 'rsrc/js/application/transactions/behavior-transaction-list.js' => 'cf656c84',
+ 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => '9f7309fb',
+ 'rsrc/js/application/transactions/behavior-transaction-list.js' => 'fd6c2b32',
'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807',
'rsrc/js/application/uiexample/ReactorButtonExample.js' => '44524435',
'rsrc/js/application/uiexample/ReactorCheckboxExample.js' => '7ba325ee',
@@ -621,8 +621,8 @@
'javelin-behavior-phabricator-search-typeahead' => 'fbeabd1e',
'javelin-behavior-phabricator-show-all-transactions' => '7c273581',
'javelin-behavior-phabricator-tooltips' => '48db4145',
- 'javelin-behavior-phabricator-transaction-comment-form' => '9084a36f',
- 'javelin-behavior-phabricator-transaction-list' => 'cf656c84',
+ 'javelin-behavior-phabricator-transaction-comment-form' => '9f7309fb',
+ 'javelin-behavior-phabricator-transaction-list' => 'fd6c2b32',
'javelin-behavior-phabricator-watch-anchor' => '06e05112',
'javelin-behavior-phame-post-preview' => '61d927ec',
'javelin-behavior-pholio-mock-edit' => '1e1e8bb0',
@@ -1520,15 +1520,6 @@
3 => 'javelin-mask',
4 => 'phabricator-drag-and-drop-file-upload',
),
- '9084a36f' =>
- array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-fx',
- 4 => 'javelin-request',
- 5 => 'phabricator-shaped-request',
- ),
'929d95eb' =>
array(
0 => 'javelin-behavior',
@@ -1595,6 +1586,14 @@
2 => 'javelin-uri',
3 => 'javelin-request',
),
+ '9f7309fb' =>
+ array(
+ 0 => 'javelin-behavior',
+ 1 => 'javelin-dom',
+ 2 => 'javelin-util',
+ 3 => 'javelin-request',
+ 4 => 'phabricator-shaped-request',
+ ),
'a3e2244e' =>
array(
0 => 'javelin-behavior',
@@ -1851,16 +1850,6 @@
0 => 'javelin-install',
1 => 'javelin-typeahead-source',
),
- 'cf656c84' =>
- array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'javelin-fx',
- 5 => 'javelin-uri',
- 6 => 'phabricator-textareautils',
- ),
'cf76cfd5' =>
array(
0 => 'javelin-behavior',
@@ -2093,6 +2082,15 @@
5 => 'javelin-util',
6 => 'javelin-stratcom',
),
+ 'fd6c2b32' =>
+ array(
+ 0 => 'javelin-behavior',
+ 1 => 'javelin-stratcom',
+ 2 => 'javelin-workflow',
+ 3 => 'javelin-dom',
+ 4 => 'javelin-uri',
+ 5 => 'phabricator-textareautils',
+ ),
'fe2e0ba4' =>
array(
0 => 'javelin-behavior',
diff --git a/src/applications/files/controller/PhabricatorFileCommentController.php b/src/applications/files/controller/PhabricatorFileCommentController.php
--- a/src/applications/files/controller/PhabricatorFileCommentController.php
+++ b/src/applications/files/controller/PhabricatorFileCommentController.php
@@ -58,7 +58,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
diff --git a/src/applications/legalpad/controller/LegalpadDocumentCommentController.php b/src/applications/legalpad/controller/LegalpadDocumentCommentController.php
--- a/src/applications/legalpad/controller/LegalpadDocumentCommentController.php
+++ b/src/applications/legalpad/controller/LegalpadDocumentCommentController.php
@@ -68,7 +68,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
diff --git a/src/applications/macro/controller/PhabricatorMacroCommentController.php b/src/applications/macro/controller/PhabricatorMacroCommentController.php
--- a/src/applications/macro/controller/PhabricatorMacroCommentController.php
+++ b/src/applications/macro/controller/PhabricatorMacroCommentController.php
@@ -55,7 +55,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
diff --git a/src/applications/paste/controller/PhabricatorPasteCommentController.php b/src/applications/paste/controller/PhabricatorPasteCommentController.php
--- a/src/applications/paste/controller/PhabricatorPasteCommentController.php
+++ b/src/applications/paste/controller/PhabricatorPasteCommentController.php
@@ -58,7 +58,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
diff --git a/src/applications/pholio/controller/PholioMockCommentController.php b/src/applications/pholio/controller/PholioMockCommentController.php
--- a/src/applications/pholio/controller/PholioMockCommentController.php
+++ b/src/applications/pholio/controller/PholioMockCommentController.php
@@ -76,10 +76,14 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
+ $xaction_view = id(new PholioTransactionView())
+ ->setMock($mock);
+
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
+ ->setTransactionView($xaction_view)
->setIsPreview($is_preview)
->setAnchorOffset($request->getStr('anchor'));
} else {
diff --git a/src/applications/ponder/controller/PonderAnswerCommentController.php b/src/applications/ponder/controller/PonderAnswerCommentController.php
--- a/src/applications/ponder/controller/PonderAnswerCommentController.php
+++ b/src/applications/ponder/controller/PonderAnswerCommentController.php
@@ -56,7 +56,7 @@
// $draft->replaceOrDelete();
// }
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($viewer)
->setTransactions($xactions)
diff --git a/src/applications/ponder/controller/PonderQuestionCommentController.php b/src/applications/ponder/controller/PonderQuestionCommentController.php
--- a/src/applications/ponder/controller/PonderQuestionCommentController.php
+++ b/src/applications/ponder/controller/PonderQuestionCommentController.php
@@ -55,7 +55,7 @@
// $draft->replaceOrDelete();
// }
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($viewer)
->setTransactions($xactions)
diff --git a/src/applications/releeph/controller/request/ReleephRequestCommentController.php b/src/applications/releeph/controller/request/ReleephRequestCommentController.php
--- a/src/applications/releeph/controller/request/ReleephRequestCommentController.php
+++ b/src/applications/releeph/controller/request/ReleephRequestCommentController.php
@@ -55,7 +55,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($viewer)
->setTransactions($xactions)
diff --git a/src/applications/slowvote/controller/PhabricatorSlowvoteCommentController.php b/src/applications/slowvote/controller/PhabricatorSlowvoteCommentController.php
--- a/src/applications/slowvote/controller/PhabricatorSlowvoteCommentController.php
+++ b/src/applications/slowvote/controller/PhabricatorSlowvoteCommentController.php
@@ -55,7 +55,7 @@
$draft->replaceOrDelete();
}
- if ($request->isAjax()) {
+ if ($request->isAjax() && $is_preview) {
return id(new PhabricatorApplicationTransactionResponse())
->setViewer($user)
->setTransactions($xactions)
diff --git a/src/applications/transactions/response/PhabricatorApplicationTransactionResponse.php b/src/applications/transactions/response/PhabricatorApplicationTransactionResponse.php
--- a/src/applications/transactions/response/PhabricatorApplicationTransactionResponse.php
+++ b/src/applications/transactions/response/PhabricatorApplicationTransactionResponse.php
@@ -7,6 +7,16 @@
private $transactions;
private $anchorOffset;
private $isPreview;
+ private $transactionView;
+
+ public function setTransactionView($transaction_view) {
+ $this->transactionView = $transaction_view;
+ return $this;
+ }
+
+ public function getTransactionView() {
+ return $this->transactionView;
+ }
protected function buildProxy() {
return new AphrontAjaxResponse();
@@ -47,7 +57,9 @@
}
public function reduceProxyResponse() {
- if ($this->getTransactions()) {
+ if ($this->transactionView) {
+ $view = $this->transactionView;
+ } else if ($this->getTransactions()) {
$view = head($this->getTransactions())
->getApplicationTransactionViewObject();
} else {
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
@@ -124,9 +124,6 @@
'showPreview' => $this->getShowPreview(),
'actionURI' => $this->getAction(),
- 'draftKey' => $this->getDraft()
- ? $this->getDraft()->getDraftKey()
- : null,
));
$comment_box = id(new PHUIObjectBoxView())
@@ -146,8 +143,10 @@
'');
$draft_comment = '';
+ $draft_key = null;
if ($this->getDraft()) {
$draft_comment = $this->getDraft()->getDraft();
+ $draft_key = $this->getDraft()->getDraftKey();
}
if (!$this->getObjectPHID()) {
@@ -164,6 +163,7 @@
))
->setAction($this->getAction())
->setID($this->getFormID())
+ ->addHiddenInput('__draft__', $draft_key)
->appendChild(
id(new PhabricatorRemarkupControl())
->setID($this->getCommentID())
diff --git a/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js b/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js
--- a/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js
+++ b/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js
@@ -3,7 +3,6 @@
* @requires javelin-behavior
* javelin-dom
* javelin-util
- * javelin-fx
* javelin-request
* phabricator-shaped-request
*/
@@ -12,36 +11,9 @@
var form = JX.$(config.formID);
- JX.DOM.listen(form, 'willSubmit', null, function (e) {
- e.kill();
- if (config.showPreview) {
- var preview = JX.$(config.panelID);
- preview.style.opacity = 0.5;
- }
- });
-
- JX.DOM.listen(form, 'willClear', null, function(e) {
- JX.$(config.commentID).value = '';
-
- if (config.showPreview) {
- var preview = JX.$(config.panelID);
- new JX.FX(preview)
- .setDuration(500)
- .then(function () {
- new JX.FX(preview).setDuration(1000).start({opacity: [0, 1]});
- })
- .start({opacity: [0.5, 0]});
- }
- });
-
var getdata = function() {
var obj = JX.DOM.convertFormToDictionary(form);
obj.__preview__ = 1;
-
- if (config.draftKey) {
- obj.__draft__ = config.draftKey;
- }
-
return obj;
};
@@ -70,8 +42,8 @@
JX.DOM.listen(form, 'keydown', null, trigger);
var always_trigger = function() {
new JX.Request(config.actionURI, onresponse)
- .setData(getdata())
- .send();
+ .setData(getdata())
+ .send();
};
JX.DOM.listen(form, 'shouldRefresh', null, always_trigger);
diff --git a/webroot/rsrc/js/application/transactions/behavior-transaction-list.js b/webroot/rsrc/js/application/transactions/behavior-transaction-list.js
--- a/webroot/rsrc/js/application/transactions/behavior-transaction-list.js
+++ b/webroot/rsrc/js/application/transactions/behavior-transaction-list.js
@@ -4,7 +4,6 @@
* javelin-stratcom
* javelin-workflow
* javelin-dom
- * javelin-fx
* javelin-uri
* phabricator-textareautils
*/
@@ -15,55 +14,6 @@
var xaction_nodes = null;
var next_anchor = config.nextAnchor;
- function get_xaction_nodes() {
- if (xaction_nodes === null) {
- xaction_nodes = {};
- var xactions = JX.DOM.scry(list, 'div', 'transaction');
- for (var ii = 0; ii < xactions.length; ii++) {
- xaction_nodes[JX.Stratcom.getData(xactions[ii]).phid] = xactions[ii];
- }
- }
- return xaction_nodes;
- }
-
- function ontransactions(response) {
- var fade_in = [];
- var first_new = null;
-
- var nodes = get_xaction_nodes();
- for (var phid in response.xactions) {
- var new_node = JX.$H(response.xactions[phid]).getFragment().firstChild;
- fade_in.push(new_node);
-
- if (nodes[phid]) {
- JX.DOM.replace(nodes[phid], new_node);
- } else {
- if (first_new === null) {
- first_new = new_node;
- }
- list.appendChild(new_node);
-
- // Add a spacer after new transactions.
- var spacer = JX.$H(response.spacer).getFragment().firstChild;
- list.appendChild(spacer);
- fade_in.push(spacer);
-
- next_anchor++;
- }
- nodes[phid] = new_node;
- }
-
- // Scroll to the first new transaction, if transactions were added.
- if (first_new) {
- JX.DOM.scrollTo(first_new);
- }
-
- // Make any new or updated transactions fade in.
- for (var ii = 0; ii < fade_in.length; ii++) {
- new JX.FX(fade_in[ii]).setDuration(500).start({opacity: [0, 1]});
- }
- }
-
JX.Stratcom.listen(
'click',
[['transaction-edit'], ['transaction-remove']],
@@ -120,61 +70,4 @@
.start();
});
- JX.Stratcom.listen(
- ['submit', 'didSyntheticSubmit'],
- 'transaction-append',
- function(e) {
- var form = e.getTarget();
- if (JX.Stratcom.getData(form).objectPHID != config.objectPHID) {
- // This indicates there are several forms on the page, and the user
- // submitted a different one than the one we're in control of.
- return;
- }
-
- e.kill();
-
- JX.DOM.invoke(form, 'willSubmit');
-
- JX.Workflow.newFromForm(form, { anchor : next_anchor })
- .setHandler(function(response) {
- ontransactions(response);
-
- var e = JX.DOM.invoke(form, 'willClear');
- if (!e.getPrevented()) {
- var ii;
- var textareas = JX.DOM.scry(form, 'textarea');
- for (ii = 0; ii < textareas.length; ii++) {
- textareas[ii].value = '';
- }
-
- var inputs = JX.DOM.scry(form, 'input');
- for (ii = 0; ii < inputs.length; ii++) {
- switch (inputs[ii].type) {
- case 'password':
- case 'text':
- inputs[ii].value = '';
- break;
- case 'checkbox':
- case 'radio':
- inputs[ii].checked = false;
- break;
- }
- }
-
- var selects = JX.DOM.scry(form, 'select');
- var jj;
- for (ii = 0; ii < selects.length; ii++) {
- if (selects[ii].type == 'select-one') {
- selects[ii].selectedIndex = 0;
- } else {
- for (jj = 0; jj < selects[ii].options.length; jj++) {
- selects[ii].options[jj].selected = false;
- }
- }
- }
- }
- })
- .start();
-
- });
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Mar 22, 7:24 AM (1 d, 4 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7716678
Default Alt Text
D9649.id23158.diff (16 KB)
Attached To
Mode
D9649: Remove ajaxey comment magic in Pholio, and also some bugs
Attached
Detach File
Event Timeline
Log In to Comment