Add a view option to disable blame in Diffusion and fix some view transition bugs
Summary: See PHI604. Ref T13130. Ref T13105. There's currently no way to turn blame off in Diffusion. Add a "Hide Blame" option to the "View Options" dropdown so it can be toggled off. Also fix a couple of bugs around this: for example, if you loaded a Jupyter notebook and then switched to "Source" view, blame would incorrectly fail to activate because the original rendering of the "stage" used an asynchronous engine so `willRenderRef()` wasn't called to populate blame. Test Plan: - Viewed a source file, toggled blame off/on, reloaded page to see state stick in URL. - Viewed a Jupyter notebook, toggled to "Source" view, saw blame. - Viewed stuff in Files (no blame UI options). - Tried to do some invalid stuff like toggle blame on a non-blame engine (options disable properly). Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13130, T13105 Differential Revision: https://secure.phabricator.com/D19414
This commit is contained in:
@@ -7,6 +7,7 @@ abstract class PhabricatorDocumentEngine
|
||||
private $highlightedLines = array();
|
||||
private $encodingConfiguration;
|
||||
private $highlightingConfiguration;
|
||||
private $blameConfiguration = true;
|
||||
|
||||
final public function setViewer(PhabricatorUser $viewer) {
|
||||
$this->viewer = $viewer;
|
||||
@@ -60,6 +61,19 @@ abstract class PhabricatorDocumentEngine
|
||||
return $this->highlightingConfiguration;
|
||||
}
|
||||
|
||||
final public function setBlameConfiguration($blame_configuration) {
|
||||
$this->blameConfiguration = $blame_configuration;
|
||||
return $this;
|
||||
}
|
||||
|
||||
final public function getBlameConfiguration() {
|
||||
return $this->blameConfiguration;
|
||||
}
|
||||
|
||||
final protected function getBlameEnabled() {
|
||||
return $this->blameConfiguration;
|
||||
}
|
||||
|
||||
public function shouldRenderAsync(PhabricatorDocumentRef $ref) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user