@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Make Differential objective markers show a brighter "editing" state

Summary:
Ref T12733.

- While editing a comment, show a pink star ({icon star, color=pink}) with a tooltip.
- Slight UI tweaks, including draft comments getting an indigo pencil ({icon pencil, color=indigo}).

Test Plan: {F4968470}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12733

Differential Revision: https://secure.phabricator.com/D17977

+56 -24
+20 -20
resources/celerity/map.php
··· 10 10 'conpherence.pkg.css' => 'ff161f2d', 11 11 'conpherence.pkg.js' => 'b5b51108', 12 12 'core.pkg.css' => '5ffe8b79', 13 - 'core.pkg.js' => 'a8eda64a', 13 + 'core.pkg.js' => '599698a7', 14 14 'darkconsole.pkg.js' => '1f9a31bc', 15 - 'differential.pkg.css' => 'bf87589e', 16 - 'differential.pkg.js' => '24d1acf0', 15 + 'differential.pkg.css' => '7d4cfa59', 16 + 'differential.pkg.js' => 'f94e941c', 17 17 'diffusion.pkg.css' => 'b93d9b8c', 18 18 'diffusion.pkg.js' => '84c8f8fd', 19 19 'favicon.ico' => '30672e08', ··· 64 64 'rsrc/css/application/dashboard/dashboard.css' => 'fe5b1869', 65 65 'rsrc/css/application/diff/inline-comment-summary.css' => '51efda3a', 66 66 'rsrc/css/application/differential/add-comment.css' => 'c47f8c40', 67 - 'rsrc/css/application/differential/changeset-view.css' => 'fa476ec0', 67 + 'rsrc/css/application/differential/changeset-view.css' => 'acfd58f6', 68 68 'rsrc/css/application/differential/core.css' => '5b7b8ff4', 69 69 'rsrc/css/application/differential/phui-inline-comment.css' => 'ffd1a542', 70 70 'rsrc/css/application/differential/revision-comment.css' => '14b8565a', ··· 392 392 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', 393 393 'rsrc/js/application/diff/DiffChangeset.js' => 'cf4e2140', 394 394 'rsrc/js/application/diff/DiffChangesetList.js' => 'a716ca27', 395 - 'rsrc/js/application/diff/DiffInline.js' => '77e14b60', 395 + 'rsrc/js/application/diff/DiffInline.js' => 'fa07d36e', 396 396 'rsrc/js/application/diff/ScrollObjective.js' => '2e069f79', 397 397 'rsrc/js/application/diff/ScrollObjectiveList.js' => '085dd101', 398 398 'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832', ··· 480 480 'rsrc/js/core/ShapedRequest.js' => '7cbe244b', 481 481 'rsrc/js/core/TextAreaUtils.js' => '320810c8', 482 482 'rsrc/js/core/Title.js' => '485aaa6c', 483 - 'rsrc/js/core/ToolTip.js' => '74caa17f', 483 + 'rsrc/js/core/ToolTip.js' => '358b8c04', 484 484 'rsrc/js/core/behavior-active-nav.js' => 'e379b58e', 485 485 'rsrc/js/core/behavior-audio-source.js' => '59b251eb', 486 486 'rsrc/js/core/behavior-autofocus.js' => '7319e029', ··· 567 567 'conpherence-thread-manager' => '4d863052', 568 568 'conpherence-transaction-css' => '85129c68', 569 569 'd3' => 'a11a5ff2', 570 - 'differential-changeset-view-css' => 'fa476ec0', 570 + 'differential-changeset-view-css' => 'acfd58f6', 571 571 'differential-core-view-css' => '5b7b8ff4', 572 572 'differential-revision-add-comment-css' => 'c47f8c40', 573 573 'differential-revision-comment-css' => '14b8565a', ··· 779 779 'phabricator-dashboard-css' => 'fe5b1869', 780 780 'phabricator-diff-changeset' => 'cf4e2140', 781 781 'phabricator-diff-changeset-list' => 'a716ca27', 782 - 'phabricator-diff-inline' => '77e14b60', 782 + 'phabricator-diff-inline' => 'fa07d36e', 783 783 'phabricator-drag-and-drop-file-upload' => '58dea2fa', 784 784 'phabricator-draggable-list' => 'bea6e7f4', 785 785 'phabricator-fatal-config-template-css' => '8f18fa41', ··· 808 808 'phabricator-standard-page-view' => 'eb5b80c5', 809 809 'phabricator-textareautils' => '320810c8', 810 810 'phabricator-title' => '485aaa6c', 811 - 'phabricator-tooltip' => '74caa17f', 811 + 'phabricator-tooltip' => '358b8c04', 812 812 'phabricator-ui-example-css' => '528b19de', 813 813 'phabricator-uiexample-javelin-view' => 'd4a14807', 814 814 'phabricator-uiexample-reactor-button' => 'd19198c8', ··· 1137 1137 'javelin-dom', 1138 1138 'javelin-workflow', 1139 1139 ), 1140 + '358b8c04' => array( 1141 + 'javelin-install', 1142 + 'javelin-util', 1143 + 'javelin-dom', 1144 + 'javelin-vector', 1145 + ), 1140 1146 '3ab51e2c' => array( 1141 1147 'javelin-behavior', 1142 1148 'javelin-behavior-device', ··· 1461 1467 'javelin-behavior', 1462 1468 'javelin-vector', 1463 1469 'javelin-dom', 1464 - ), 1465 - '74caa17f' => array( 1466 - 'javelin-install', 1467 - 'javelin-util', 1468 - 'javelin-dom', 1469 - 'javelin-vector', 1470 1470 ), 1471 1471 '76b9fc3e' => array( 1472 1472 'javelin-behavior', ··· 1480 1480 'javelin-reactor', 1481 1481 'javelin-util', 1482 1482 ), 1483 - '77e14b60' => array( 1484 - 'javelin-dom', 1485 - ), 1486 1483 '782ab6e7' => array( 1487 1484 'javelin-behavior', 1488 1485 'javelin-dom', ··· 1787 1784 'javelin-vector', 1788 1785 'phuix-autocomplete', 1789 1786 'javelin-mask', 1787 + ), 1788 + 'acfd58f6' => array( 1789 + 'phui-inline-comment-view-css', 1790 1790 ), 1791 1791 'ae95d984' => array( 1792 1792 'javelin-behavior', ··· 2206 2206 'javelin-install', 2207 2207 'javelin-dom', 2208 2208 ), 2209 - 'fa476ec0' => array( 2210 - 'phui-inline-comment-view-css', 2209 + 'fa07d36e' => array( 2210 + 'javelin-dom', 2211 2211 ), 2212 2212 'fbe497e7' => array( 2213 2213 'javelin-behavior',
+2
src/applications/differential/view/DifferentialChangesetListView.php
··· 232 232 233 233 'Loading...' => pht('Loading...'), 234 234 235 + 'Editing Comment' => pht('Editing Comment'), 236 + 235 237 'Jump to next change.' => pht('Jump to next change.'), 236 238 'Jump to previous change.' => pht('Jump to previous change.'), 237 239 'Jump to next file.' => pht('Jump to next file.'),
+3 -2
webroot/rsrc/css/application/differential/changeset-view.css
··· 419 419 border-style: solid; 420 420 border-color: rgba(255, 255, 255, 0.95); 421 421 border-width: 1px 0 1px 1px; 422 - box-shadow: -1px 0 2px rgba(255, 255, 255, 0.25); 422 + box-shadow: -1px 0 2px rgba(255, 255, 255, 0.10); 423 423 overflow: hidden; 424 424 } 425 425 ··· 433 433 position: absolute; 434 434 box-sizing: border-box; 435 435 cursor: pointer; 436 - left: 8px; 436 + text-align: middle; 437 + left: 7px; 437 438 } 438 439 439 440 .scroll-objective .phui-icon-view {
+27 -2
webroot/rsrc/js/application/diff/DiffInline.js
··· 32 32 33 33 _isDraft: null, 34 34 _isFixed: null, 35 + _isEditing: false, 35 36 36 37 bindToRow: function(row) { 37 38 this._row = row; ··· 176 177 return this._changeset; 177 178 }, 178 179 180 + setEditing: function(editing) { 181 + this._isEditing = editing; 182 + this.updateObjective(); 183 + return this; 184 + }, 185 + 179 186 _onobjective: function() { 180 187 this.getChangeset().getChangesetList().selectInline(this); 181 188 }, ··· 194 201 return; 195 202 } 196 203 204 + var pht = changeset.getChangesetList().getTranslations(); 205 + 197 206 var icon = 'fa-comment'; 198 207 var color = 'bluegrey'; 208 + var tooltip = null; 199 209 200 - if (this._isDraft) { 210 + if (this._isEditing) { 211 + icon = 'fa-star'; 212 + color = 'pink'; 213 + tooltip = pht('Editing Comment'); 214 + } else if (this._isDraft) { 201 215 // This inline is an unsubmitted draft. 202 216 icon = 'fa-pencil'; 217 + color = 'indigo'; 203 218 } else if (this._isFixed) { 204 219 // This inline has been marked done. 205 220 icon = 'fa-check'; ··· 212 227 objective 213 228 .setIcon(icon) 214 229 .setColor(color) 230 + .setTooltip(tooltip) 215 231 .show(); 216 232 }, 217 233 ··· 511 527 this._undoRow = this._drawRows(template, cursor, mode, text); 512 528 }, 513 529 530 + _drawContentRows: function(rows) { 531 + return this._drawRows(rows, null, 'content'); 532 + }, 533 + 514 534 _drawEditRows: function(rows) { 535 + this.setEditing(true); 515 536 return this._drawRows(rows, null, 'edit'); 516 537 }, 517 538 ··· 560 581 'click', 561 582 'inline-edit-cancel', 562 583 JX.bind(this, this._oncancel, row_meta))); 584 + } else if (type == 'content') { 585 + // No special listeners for these rows. 563 586 } else { 564 587 row_meta.listeners.push( 565 588 JX.DOM.listen( ··· 645 668 } 646 669 647 670 this._removeRow(row); 671 + this.setEditing(false); 648 672 649 673 this.setInvisible(false); 650 674 ··· 670 694 671 695 this.setLoading(false); 672 696 this.setInvisible(false); 697 + this.setEditing(false); 673 698 674 699 this._onupdate(response); 675 700 }, ··· 677 702 _onupdate: function(response) { 678 703 var new_row; 679 704 if (response.markup) { 680 - new_row = this._drawEditRows(JX.$H(response.markup).getNode()).node; 705 + new_row = this._drawContentRows(JX.$H(response.markup).getNode()).node; 681 706 } 682 707 683 708 // TODO: Save the old row so the action it's undo-able if it was a
+4
webroot/rsrc/js/core/ToolTip.js
··· 21 21 return; 22 22 } 23 23 24 + if (content === null) { 25 + return; 26 + } 27 + 24 28 if (__DEV__) { 25 29 switch (align) { 26 30 case 'N':