mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-18 19:40:55 +01:00
87db482897
Summary: Ref T15645 The very helpful "Locate File" input in Diffusion was so far only visible in the homepage route of any repository (`/repository`). With this revision you can now locate a file from every browsed directory and in any selected commit. The finder was already "directory sensitive" meaning: if you are trying to locate a file from within a browsed directory, only the children of this path will be searched. For the searching in a specified commit (for example: https://we.phorge.it/source/phorge/browse/master/src/;05f4d5071fdca02123bd1ff4c0935b847c7f9963), I had to do a little JS magic adding the commit to the URI on the client side. Test Plan: Checkout, browse through your repos with Diffusion trying to find files. (I tested only with Git repos.) Reviewers: O1 Blessed Committers, speck Reviewed By: O1 Blessed Committers, speck Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15645 Differential Revision: https://we.phorge.it/D25521
35 lines
885 B
JavaScript
35 lines
885 B
JavaScript
/**
|
|
* @provides javelin-behavior-diffusion-locate-file
|
|
* @requires javelin-behavior
|
|
* javelin-diffusion-locate-file-source
|
|
* javelin-dom
|
|
* javelin-typeahead
|
|
* javelin-uri
|
|
*/
|
|
|
|
JX.behavior('diffusion-locate-file', function(config) {
|
|
var control = JX.$(config.controlID);
|
|
var input = JX.$(config.inputID);
|
|
|
|
var datasource = new JX.DiffusionLocateFileSource(config.uri);
|
|
|
|
var typeahead = new JX.Typeahead(control, input);
|
|
typeahead.setDatasource(datasource);
|
|
|
|
typeahead.listen('choose', function(r) {
|
|
var browseURI = config.browseBaseURI + r.ref;
|
|
if (config.symbolicCommit) {
|
|
browseURI += ';' + config.symbolicCommit;
|
|
}
|
|
JX.$U(browseURI).go();
|
|
});
|
|
|
|
var started = false;
|
|
JX.DOM.listen(input, 'click', null, function() {
|
|
if (!started) {
|
|
started = true;
|
|
typeahead.start();
|
|
}
|
|
});
|
|
|
|
});
|