mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 17:02:41 +01:00
4fd4ec3d27
Summary: Ref T12616. Fixes T12153. Currently, when you hide inlines, they hide completely and turn into a little bubble on the previous line. Instead, collapse them to a single line one-by-one. Narrowly, this fixes T12153. In the future, I plan to make these changes so this feature makes more sense: - Introduce global "hide everything" states (T8909) so you can completely hide stuff if you want, and this represents more of a halfway state between "nuke it" and "view it". - Make the actual rendering better, so it says "epriestley: blah blah..." instead of just "..." -- and looks less dumb. The real goal here is to introduce `DiffInline` and continue moving stuff from the tangled jungle of a million top-level behaviors to sensible smooth statefulness. Test Plan: - Hid and revealed inlines in unified and two-up modes. - These look pretty junk for now: {F4948659} Reviewers: chad Reviewed By: chad Maniphest Tasks: T12616, T12153 Differential Revision: https://secure.phabricator.com/D17861
56 lines
1.1 KiB
JavaScript
56 lines
1.1 KiB
JavaScript
/**
|
|
* @provides phabricator-diff-inline
|
|
* @requires javelin-dom
|
|
* @javelin
|
|
*/
|
|
|
|
JX.install('DiffInline', {
|
|
|
|
construct : function(row) {
|
|
this._row = row;
|
|
|
|
var data = JX.Stratcom.getData(row);
|
|
this._hidden = data.hidden || false;
|
|
|
|
// TODO: Get smarter about this once we do more editing, this is pretty
|
|
// hacky.
|
|
var comment = JX.DOM.find(row, 'div', 'differential-inline-comment');
|
|
this._id = JX.Stratcom.getData(comment).id;
|
|
},
|
|
|
|
properties: {
|
|
changeset: null
|
|
},
|
|
|
|
members: {
|
|
_id: null,
|
|
_row: null,
|
|
_hidden: false,
|
|
|
|
setHidden: function(hidden) {
|
|
this._hidden = hidden;
|
|
|
|
JX.DOM.alterClass(this._row, 'inline-hidden', this._hidden);
|
|
|
|
var op;
|
|
if (hidden) {
|
|
op = 'hide';
|
|
} else {
|
|
op = 'show';
|
|
}
|
|
|
|
var inline_uri = this._getChangesetList().getInlineURI();
|
|
var comment_id = this._id;
|
|
|
|
new JX.Workflow(inline_uri, {op: op, ids: comment_id})
|
|
.setHandler(JX.bag)
|
|
.start();
|
|
},
|
|
|
|
_getChangesetList: function() {
|
|
var changeset = this.getChangeset();
|
|
return changeset.getChangesetList();
|
|
}
|
|
}
|
|
|
|
});
|