Get rid of global Gerrit.Nav
* Replace the global Gerrit.Nav variable with named imports.
* Update gr-app-global-var-init.js
Note: This is not a recommended approach. The change focuses on
removing global variable. See todo in gr-navigation.js
Change-Id: If389574d6d3bc1d643538f6776740bca82f71049
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
index ba68027..c416b11 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
@@ -16,7 +16,6 @@
*/
import '../../../scripts/bundled-polymer.js';
-import '../../core/gr-navigation/gr-navigation.js';
import '../../shared/gr-icons/gr-icons.js';
import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
import '../gr-change-list/gr-change-list.js';
@@ -31,6 +30,7 @@
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
+import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
const LookupQueryPatterns = {
CHANGE_ID: /^\s*i?[0-9a-f]{7,40}\s*$/i,
@@ -163,7 +163,7 @@
}
_paramsChanged(value) {
- if (value.view !== Gerrit.Nav.View.SEARCH) { return; }
+ if (value.view !== GerritNav.View.SEARCH) { return; }
this._loading = true;
this._query = value.query;
@@ -193,7 +193,7 @@
for (const query in LookupQueryPatterns) {
if (LookupQueryPatterns.hasOwnProperty(query) &&
this._query.match(LookupQueryPatterns[query])) {
- Gerrit.Nav.navigateToChange(changes[0]);
+ GerritNav.navigateToChange(changes[0]);
return;
}
}
@@ -237,7 +237,7 @@
offset = +(offset || 0);
const limit = this._limitFor(query, changesPerPage);
const newOffset = Math.max(0, offset + (limit * direction));
- return Gerrit.Nav.getUrlForSearchQuery(query, newOffset);
+ return GerritNav.getUrlForSearchQuery(query, newOffset);
}
_computePrevArrowClass(offset) {
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
index ab57143e..33e70a0 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
@@ -35,6 +35,7 @@
import '../../../test/common-test-setup.js';
import './gr-change-list-view.js';
import page from 'page/page.mjs';
+import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
const CHANGE_ID = 'IcA3dAB3edAB9f60B8dcdA6ef71A75980e4B7127';
const COMMIT_HASH = '12345678';
@@ -78,7 +79,7 @@
});
test('_computeNavLink', () => {
- const getUrlStub = sandbox.stub(Gerrit.Nav, 'getUrlForSearchQuery')
+ const getUrlStub = sandbox.stub(GerritNav, 'getUrlForSearchQuery')
.returns('');
const query = 'status:open';
let offset = 0;
@@ -209,44 +210,44 @@
const change = {_number: 1};
sandbox.stub(element, '_getChanges')
.returns(Promise.resolve([change]));
- sandbox.stub(Gerrit.Nav, 'navigateToChange', url => {
+ sandbox.stub(GerritNav, 'navigateToChange', url => {
assert.equal(url, change);
done();
});
- element.params = {view: Gerrit.Nav.View.SEARCH, query: CHANGE_ID};
+ element.params = {view: GerritNav.View.SEARCH, query: CHANGE_ID};
});
test('Searching for a change num redirects to change', done => {
const change = {_number: 1};
sandbox.stub(element, '_getChanges')
.returns(Promise.resolve([change]));
- sandbox.stub(Gerrit.Nav, 'navigateToChange', url => {
+ sandbox.stub(GerritNav, 'navigateToChange', url => {
assert.equal(url, change);
done();
});
- element.params = {view: Gerrit.Nav.View.SEARCH, query: '1'};
+ element.params = {view: GerritNav.View.SEARCH, query: '1'};
});
test('Commit hash redirects to change', done => {
const change = {_number: 1};
sandbox.stub(element, '_getChanges')
.returns(Promise.resolve([change]));
- sandbox.stub(Gerrit.Nav, 'navigateToChange', url => {
+ sandbox.stub(GerritNav, 'navigateToChange', url => {
assert.equal(url, change);
done();
});
- element.params = {view: Gerrit.Nav.View.SEARCH, query: COMMIT_HASH};
+ element.params = {view: GerritNav.View.SEARCH, query: COMMIT_HASH};
});
test('Searching for an invalid change ID searches', () => {
sandbox.stub(element, '_getChanges')
.returns(Promise.resolve([]));
- const stub = sandbox.stub(Gerrit.Nav, 'navigateToChange');
+ const stub = sandbox.stub(GerritNav, 'navigateToChange');
- element.params = {view: Gerrit.Nav.View.SEARCH, query: CHANGE_ID};
+ element.params = {view: GerritNav.View.SEARCH, query: CHANGE_ID};
flushAsynchronousOperations();
assert.isFalse(stub.called);
@@ -255,9 +256,9 @@
test('Change ID with multiple search results searches', () => {
sandbox.stub(element, '_getChanges')
.returns(Promise.resolve([{}, {}]));
- const stub = sandbox.stub(Gerrit.Nav, 'navigateToChange');
+ const stub = sandbox.stub(GerritNav, 'navigateToChange');
- element.params = {view: Gerrit.Nav.View.SEARCH, query: CHANGE_ID};
+ element.params = {view: GerritNav.View.SEARCH, query: CHANGE_ID};
flushAsynchronousOperations();
assert.isFalse(stub.called);