Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15336184
D17888.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
11 KB
Referenced Files
None
Subscribers
None
D17888.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
@@ -13,7 +13,7 @@
'core.pkg.js' => '2ff7879f',
'darkconsole.pkg.js' => '1f9a31bc',
'differential.pkg.css' => '58712637',
- 'differential.pkg.js' => 'aa750623',
+ 'differential.pkg.js' => 'e01579c4',
'diffusion.pkg.css' => 'b93d9b8c',
'diffusion.pkg.js' => '84c8f8fd',
'favicon.ico' => '30672e08',
@@ -391,14 +391,14 @@
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
'rsrc/js/application/diff/DiffChangeset.js' => '80ac3298',
- 'rsrc/js/application/diff/DiffChangesetList.js' => 'ecc9542e',
- 'rsrc/js/application/diff/DiffInline.js' => '586c15ff',
+ 'rsrc/js/application/diff/DiffChangesetList.js' => '12575699',
+ 'rsrc/js/application/diff/DiffInline.js' => 'bd1b3258',
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
- 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '2e3f9738',
+ 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '9ed8d2b6',
'rsrc/js/application/differential/behavior-comment-jump.js' => '4fdb476d',
'rsrc/js/application/differential/behavior-comment-preview.js' => 'b064af76',
'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1',
- 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '974bab6a',
+ 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '97f363fc',
'rsrc/js/application/differential/behavior-keyboard-nav.js' => '92904457',
'rsrc/js/application/differential/behavior-populate.js' => '5e41c819',
'rsrc/js/application/differential/behavior-toggle-files.js' => 'ca3f91eb',
@@ -572,7 +572,7 @@
'd3' => 'a11a5ff2',
'differential-changeset-view-css' => '41af6d25',
'differential-core-view-css' => '5b7b8ff4',
- 'differential-inline-comment-editor' => '2e3f9738',
+ 'differential-inline-comment-editor' => '9ed8d2b6',
'differential-revision-add-comment-css' => 'c47f8c40',
'differential-revision-comment-css' => '14b8565a',
'differential-revision-history-css' => '0e8eb855',
@@ -624,7 +624,7 @@
'javelin-behavior-diff-preview-link' => '051c7832',
'javelin-behavior-differential-comment-jump' => '4fdb476d',
'javelin-behavior-differential-diff-radios' => 'e1ff79b1',
- 'javelin-behavior-differential-edit-inline-comments' => '974bab6a',
+ 'javelin-behavior-differential-edit-inline-comments' => '97f363fc',
'javelin-behavior-differential-feedback-preview' => 'b064af76',
'javelin-behavior-differential-keyboard-navigation' => '92904457',
'javelin-behavior-differential-populate' => '5e41c819',
@@ -786,8 +786,8 @@
'phabricator-darkmessage' => 'c48cccdd',
'phabricator-dashboard-css' => 'fe5b1869',
'phabricator-diff-changeset' => '80ac3298',
- 'phabricator-diff-changeset-list' => 'ecc9542e',
- 'phabricator-diff-inline' => '586c15ff',
+ 'phabricator-diff-changeset-list' => '12575699',
+ 'phabricator-diff-inline' => 'bd1b3258',
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
'phabricator-draggable-list' => 'bea6e7f4',
'phabricator-fatal-config-template-css' => '8f18fa41',
@@ -1000,6 +1000,9 @@
'javelin-dom',
'javelin-typeahead-normalizer',
),
+ 12575699 => array(
+ 'javelin-install',
+ ),
'1499a8cb' => array(
'javelin-behavior',
'javelin-stratcom',
@@ -1115,14 +1118,6 @@
'javelin-install',
'javelin-event',
),
- '2e3f9738' => array(
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-install',
- 'javelin-request',
- 'javelin-workflow',
- ),
'2ee659ce' => array(
'javelin-install',
),
@@ -1347,9 +1342,6 @@
'javelin-vector',
'javelin-dom',
),
- '586c15ff' => array(
- 'javelin-dom',
- ),
'58dea2fa' => array(
'javelin-install',
'javelin-util',
@@ -1675,7 +1667,7 @@
'javelin-mask',
'phabricator-drag-and-drop-file-upload',
),
- '974bab6a' => array(
+ '97f363fc' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
@@ -1711,6 +1703,14 @@
'9d9685d6' => array(
'phui-oi-list-view-css',
),
+ '9ed8d2b6' => array(
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-request',
+ 'javelin-workflow',
+ ),
'9f36c42d' => array(
'javelin-behavior',
'javelin-stratcom',
@@ -1910,6 +1910,9 @@
'javelin-vector',
'phui-hovercard',
),
+ 'bd1b3258' => array(
+ 'javelin-dom',
+ ),
'bdaf4d04' => array(
'javelin-behavior',
'javelin-dom',
@@ -2171,9 +2174,6 @@
'javelin-dom',
'phabricator-draggable-list',
),
- 'ecc9542e' => array(
- 'javelin-install',
- ),
'eded9ee8' => array(
'javelin-behavior',
'javelin-typeahead-ondemand-source',
diff --git a/src/infrastructure/diff/PhabricatorInlineCommentController.php b/src/infrastructure/diff/PhabricatorInlineCommentController.php
--- a/src/infrastructure/diff/PhabricatorInlineCommentController.php
+++ b/src/infrastructure/diff/PhabricatorInlineCommentController.php
@@ -130,12 +130,14 @@
$inline = $this->loadCommentForDone($this->getCommentID());
$is_draft_state = false;
+ $is_checked = false;
switch ($inline->getFixedState()) {
case PhabricatorInlineCommentInterface::STATE_DRAFT:
$next_state = PhabricatorInlineCommentInterface::STATE_UNDONE;
break;
case PhabricatorInlineCommentInterface::STATE_UNDRAFT:
$next_state = PhabricatorInlineCommentInterface::STATE_DONE;
+ $is_checked = true;
break;
case PhabricatorInlineCommentInterface::STATE_DONE:
$next_state = PhabricatorInlineCommentInterface::STATE_UNDRAFT;
@@ -145,6 +147,7 @@
case PhabricatorInlineCommentInterface::STATE_UNDONE:
$next_state = PhabricatorInlineCommentInterface::STATE_DRAFT;
$is_draft_state = true;
+ $is_checked = true;
break;
}
@@ -153,6 +156,7 @@
return id(new AphrontAjaxResponse())
->setContent(
array(
+ 'isChecked' => $is_checked,
'draftState' => $is_draft_state,
));
case 'delete':
diff --git a/webroot/rsrc/js/application/diff/DiffChangesetList.js b/webroot/rsrc/js/application/diff/DiffChangesetList.js
--- a/webroot/rsrc/js/application/diff/DiffChangesetList.js
+++ b/webroot/rsrc/js/application/diff/DiffChangesetList.js
@@ -29,6 +29,12 @@
'click',
['differential-inline-comment', 'differential-inline-edit'],
onedit);
+
+ var ondone = JX.bind(this, this._ifawake, this._onaction, 'done');
+ JX.Stratcom.listen(
+ 'click',
+ ['differential-inline-comment', 'differential-inline-done'],
+ ondone);
},
properties: {
@@ -352,6 +358,9 @@
case 'edit':
inline.edit();
break;
+ case 'done':
+ inline.toggleDone();
+ break;
}
},
diff --git a/webroot/rsrc/js/application/diff/DiffInline.js b/webroot/rsrc/js/application/diff/DiffInline.js
--- a/webroot/rsrc/js/application/diff/DiffInline.js
+++ b/webroot/rsrc/js/application/diff/DiffInline.js
@@ -60,7 +60,7 @@
op = 'show';
}
- var inline_uri = this._getChangesetList().getInlineURI();
+ var inline_uri = this._getInlineURI();
var comment_id = this._id;
new JX.Workflow(inline_uri, {op: op, ids: comment_id})
@@ -68,9 +68,46 @@
.start();
},
+ toggleDone: function() {
+ var uri = this._getInlineURI();
+ var data = {
+ op: 'done',
+ id: this._id
+ };
+
+ var ondone = JX.bind(this, this._ondone);
+
+ new JX.Workflow(uri, data)
+ .setHandler(ondone)
+ .start();
+ },
+
+ _ondone: function(response) {
+ var checkbox = JX.DOM.find(
+ this._row,
+ 'input',
+ 'differential-inline-done');
+
+ checkbox.checked = (response.isChecked ? 'checked' : null);
+
+ var comment = JX.DOM.findAbove(
+ checkbox,
+ 'div',
+ 'differential-inline-comment');
+
+ JX.DOM.alterClass(comment, 'inline-is-done', response.isChecked);
+
+ // NOTE: This is marking the inline as having an unsubmitted checkmark,
+ // as opposed to a submitted checkmark. This is different from the
+ // top-level "draft" state of unsubmitted comments.
+ JX.DOM.alterClass(comment, 'inline-state-is-draft', response.draftState);
+
+ this._didUpdate();
+ },
+
edit: function() {
var handler = JX.bind(this, this._oneditresponse);
- var uri = this.getChangeset().getChangesetList().getInlineURI();
+ var uri = this._getInlineURI();
var data = this._newRequestData();
// TODO: Set state to "loading".
@@ -221,9 +258,10 @@
}
},
- _getChangesetList: function() {
+ _getInlineURI: function() {
var changeset = this.getChangeset();
- return changeset.getChangesetList();
+ var list = changeset.getChangesetList();
+ return list.getInlineURI();
}
}
diff --git a/webroot/rsrc/js/application/differential/DifferentialInlineCommentEditor.js b/webroot/rsrc/js/application/differential/DifferentialInlineCommentEditor.js
--- a/webroot/rsrc/js/application/differential/DifferentialInlineCommentEditor.js
+++ b/webroot/rsrc/js/application/differential/DifferentialInlineCommentEditor.js
@@ -312,28 +312,6 @@
.start();
},
- toggleCheckbox: function(id, checkbox) {
- var data = {
- op: 'done',
- id: id
- };
-
- new JX.Workflow(this._uri, data)
- .setHandler(JX.bind(this, function(r) {
- checkbox.checked = !checkbox.checked;
-
- var comment = JX.DOM.findAbove(
- checkbox,
- 'div',
- 'differential-inline-comment');
- JX.DOM.alterClass(comment, 'inline-is-done', !!checkbox.checked);
- JX.DOM.alterClass(comment, 'inline-state-is-draft', r.draftState);
-
- this._didUpdate();
- }))
- .start();
- },
-
_didUpdate: function() {
// After making changes to inline comments, refresh the transaction
// preview at the bottom of the page.
diff --git a/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js b/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js
--- a/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js
+++ b/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js
@@ -371,13 +371,6 @@
}
}
- if (op == 'done') {
- var checkbox = JX.DOM.find(node, 'input', 'differential-inline-done');
- new JX.DifferentialInlineCommentEditor(config.uri)
- .toggleCheckbox(data.id, checkbox);
- return;
- }
-
var original = data.original;
var reply_phid = null;
if (op == 'reply') {
@@ -417,7 +410,7 @@
set_link_state(true);
};
- for (var op in {'edit': 1, 'delete': 1, 'reply': 1, 'done': 1}) {
+ for (var op in {'edit': 1, 'delete': 1, 'reply': 1}) {
JX.Stratcom.listen(
'click',
['differential-inline-comment', 'differential-inline-' + op],
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mar 9 2025, 6:22 PM (4 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7223520
Default Alt Text
D17888.diff (11 KB)
Attached To
Mode
D17888: Move inline "done" checkboxing to DiffInline
Attached
Detach File
Event Timeline
Log In to Comment