Change all components to use the service for rest-api-interface
Change-Id: I3acf9269ff43f463aca59aa10ca131b037cede9d
diff --git a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.ts b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.ts
index d89bb24..50dede4 100644
--- a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.ts
+++ b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.ts
@@ -39,7 +39,6 @@
} from '../../../types/common';
import {hasOwnProperty} from '../../../utils/common-util';
import {CommentSide, Side} from '../../../constants/constants';
-import {RestApiService} from '../../../services/services/gr-rest-api/gr-rest-api';
import {
Comment,
CommentMap,
@@ -53,6 +52,7 @@
createCommentThreads,
} from '../../../utils/comment-util';
import {PatchSetFile, PatchNumOnly, isPatchSetFile} from '../../../types/types';
+import {appContext} from '../../../services/app-context';
export type CommentIdToCommentThreadMap = {
[urlEncodedCommentId: string]: CommentThread;
@@ -552,12 +552,6 @@
export const _testOnly_findCommentById =
ChangeComments.prototype.findCommentById;
-export interface GrCommentApi {
- $: {
- restAPI: RestApiService & Element;
- };
-}
-
@customElement('gr-comment-api')
export class GrCommentApi extends GestureEventListeners(
LegacyElementMixin(PolymerElement)
@@ -569,6 +563,8 @@
@property({type: Object})
_changeComments?: ChangeComments;
+ private readonly restApiService = appContext.restApiService;
+
/** @override */
created() {
super.created();
@@ -583,8 +579,8 @@
getPortedComments(changeNum: NumericChangeId, revision?: RevisionId) {
if (!revision) revision = CURRENT;
return Promise.all([
- this.$.restAPI.getPortedComments(changeNum, revision),
- this.$.restAPI.getPortedDrafts(changeNum, revision),
+ this.restApiService.getPortedComments(changeNum, revision),
+ this.restApiService.getPortedDrafts(changeNum, revision),
]).then(result => {
return {
portedComments: result[0],
@@ -600,9 +596,9 @@
*/
loadAll(changeNum: NumericChangeId) {
const promises = [];
- promises.push(this.$.restAPI.getDiffComments(changeNum));
- promises.push(this.$.restAPI.getDiffRobotComments(changeNum));
- promises.push(this.$.restAPI.getDiffDrafts(changeNum));
+ promises.push(this.restApiService.getDiffComments(changeNum));
+ promises.push(this.restApiService.getDiffRobotComments(changeNum));
+ promises.push(this.restApiService.getDiffDrafts(changeNum));
return Promise.all(promises).then(([comments, robotComments, drafts]) => {
this._changeComments = new ChangeComments(
@@ -627,7 +623,7 @@
return this.loadAll(changeNum);
}
const oldChangeComments = this._changeComments;
- return this.$.restAPI.getDiffDrafts(changeNum).then(drafts => {
+ return this.restApiService.getDiffDrafts(changeNum).then(drafts => {
this._changeComments = new ChangeComments(
oldChangeComments.comments,
(oldChangeComments.robotComments as unknown) as PathToRobotCommentsInfoMap,
diff --git a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_html.ts b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_html.ts
index 91d8b41..1489006 100644
--- a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_html.ts
+++ b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_html.ts
@@ -16,6 +16,4 @@
*/
import {html} from '@polymer/polymer/lib/utils/html-tag';
-export const htmlTemplate = html`
- <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
-`;
+export const htmlTemplate = html``;
diff --git a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_test.js b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_test.js
index c2c1c72..cd73430 100644
--- a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api_test.js
@@ -34,23 +34,24 @@
test('loads logged-out', () => {
const changeNum = 1234;
- sinon.stub(element.$.restAPI, 'getLoggedIn')
+ sinon.stub(element.restApiService, 'getLoggedIn')
.returns(Promise.resolve(false));
- sinon.stub(element.$.restAPI, 'getDiffComments')
+ sinon.stub(element.restApiService, 'getDiffComments')
.returns(Promise.resolve({
'foo.c': [{id: '123', message: 'foo bar', in_reply_to: '321'}],
}));
- sinon.stub(element.$.restAPI, 'getDiffRobotComments')
+ sinon.stub(element.restApiService, 'getDiffRobotComments')
.returns(Promise.resolve({'foo.c': [{id: '321', message: 'done'}]}));
- sinon.stub(element.$.restAPI, 'getDiffDrafts')
+ sinon.stub(element.restApiService, 'getDiffDrafts')
.returns(Promise.resolve({}));
return element.loadAll(changeNum).then(() => {
- assert.isTrue(element.$.restAPI.getDiffComments.calledWithExactly(
+ assert.isTrue(element.restApiService.getDiffComments.calledWithExactly(
changeNum));
- assert.isTrue(element.$.restAPI.getDiffRobotComments.calledWithExactly(
- changeNum));
- assert.isTrue(element.$.restAPI.getDiffDrafts.calledWithExactly(
+ assert.isTrue(
+ element.restApiService.getDiffRobotComments.calledWithExactly(
+ changeNum));
+ assert.isTrue(element.restApiService.getDiffDrafts.calledWithExactly(
changeNum));
assert.isOk(element._changeComments._comments);
assert.isOk(element._changeComments._robotComments);
@@ -61,23 +62,24 @@
test('loads logged-in', () => {
const changeNum = 1234;
- sinon.stub(element.$.restAPI, 'getLoggedIn')
+ sinon.stub(element.restApiService, 'getLoggedIn')
.returns(Promise.resolve(true));
- sinon.stub(element.$.restAPI, 'getDiffComments')
+ sinon.stub(element.restApiService, 'getDiffComments')
.returns(Promise.resolve({
'foo.c': [{id: '123', message: 'foo bar', in_reply_to: '321'}],
}));
- sinon.stub(element.$.restAPI, 'getDiffRobotComments')
+ sinon.stub(element.restApiService, 'getDiffRobotComments')
.returns(Promise.resolve({'foo.c': [{id: '321', message: 'done'}]}));
- sinon.stub(element.$.restAPI, 'getDiffDrafts')
+ sinon.stub(element.restApiService, 'getDiffDrafts')
.returns(Promise.resolve({'foo.c': [{id: '555', message: 'ack'}]}));
return element.loadAll(changeNum).then(() => {
- assert.isTrue(element.$.restAPI.getDiffComments.calledWithExactly(
+ assert.isTrue(element.restApiService.getDiffComments.calledWithExactly(
changeNum));
- assert.isTrue(element.$.restAPI.getDiffRobotComments.calledWithExactly(
- changeNum));
- assert.isTrue(element.$.restAPI.getDiffDrafts.calledWithExactly(
+ assert.isTrue(
+ element.restApiService.getDiffRobotComments.calledWithExactly(
+ changeNum));
+ assert.isTrue(element.restApiService.getDiffDrafts.calledWithExactly(
changeNum));
assert.isOk(element._changeComments._comments);
assert.isOk(element._changeComments._robotComments);
@@ -90,11 +92,11 @@
let robotCommentStub;
let draftStub;
setup(() => {
- commentStub = sinon.stub(element.$.restAPI, 'getDiffComments')
+ commentStub = sinon.stub(element.restApiService, 'getDiffComments')
.returns(Promise.resolve({}));
- robotCommentStub = sinon.stub(element.$.restAPI,
+ robotCommentStub = sinon.stub(element.restApiService,
'getDiffRobotComments').returns(Promise.resolve({}));
- draftStub = sinon.stub(element.$.restAPI, 'getDiffDrafts')
+ draftStub = sinon.stub(element.restApiService, 'getDiffDrafts')
.returns(Promise.resolve({}));
});
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js b/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
index 987a7d0..060001e 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
@@ -22,11 +22,11 @@
import {html} from '@polymer/polymer/lib/utils/html-tag.js';
import {listenOnce} from '../../../test/test-utils.js';
import {getMockDiffResponse} from '../../../test/mocks/diff-response.js';
+import {appContext} from '../../../services/app-context.js';
const basicFixture = fixtureFromTemplate(html`
<gr-diff></gr-diff>
<gr-diff-cursor></gr-diff-cursor>
- <gr-rest-api-interface></gr-rest-api-interface>
`);
const emptyFixture = fixtureFromElement('div');
@@ -40,7 +40,7 @@
const fixtureElems = basicFixture.instantiate();
diffElement = fixtureElems[0];
cursorElement = fixtureElems[1];
- const restAPI = fixtureElems[2];
+ const restAPI = appContext.restApiService;
// Register the diff with the cursor.
cursorElement.push('diffs', diffElement);
@@ -539,7 +539,6 @@
<gr-diff></gr-diff>
<gr-diff></gr-diff>
<gr-diff-cursor></gr-diff-cursor>
- <gr-rest-api-interface></gr-rest-api-interface>
`);
let diffElements;
@@ -548,7 +547,7 @@
const fixtureElems = multiDiffFixture.instantiate();
diffElements = fixtureElems.slice(0, 3);
cursorElement = fixtureElems[3];
- const restAPI = fixtureElems[4];
+ const restAPI = appContext.restApiService;
// Register the diff with the cursor.
cursorElement.push('diffs', ...diffElements);
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.ts b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.ts
index 2223734..19aed90 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.ts
@@ -60,7 +60,6 @@
DiffPreferencesInfo,
IgnoreWhitespaceType,
} from '../../../types/diff';
-import {RestApiService} from '../../../services/services/gr-rest-api/gr-rest-api';
import {JsApiService} from '../../shared/gr-js-api-interface/gr-js-api-types';
import {GrDiff, LineOfInterest} from '../gr-diff/gr-diff';
import {GrSyntaxLayer} from '../gr-syntax-layer/gr-syntax-layer';
@@ -110,7 +109,6 @@
export interface GrDiffHost {
$: {
- restAPI: RestApiService & Element;
jsAPI: JsApiService & Element;
syntaxLayer: GrSyntaxLayer & Element;
diff: GrDiff;
@@ -261,6 +259,8 @@
private readonly flags = appContext.flagsService;
+ private readonly restApiService = appContext.restApiService;
+
/** @override */
created() {
super.created();
@@ -508,7 +508,7 @@
if (!this.changeNum) throw new Error('Missing required "changeNum" prop.');
if (!this.patchRange) throw new Error('Missing required "patchRange".');
if (!this.path) throw new Error('Missing required "path" property.');
- return this.$.restAPI
+ return this.restApiService
.getBlame(this.changeNum, this.patchRange.patchNum, this.path, true)
.then(blame => {
if (!blame || !blame.length) {
@@ -542,7 +542,7 @@
}
_getLoggedIn() {
- return this.$.restAPI.getLoggedIn();
+ return this.restApiService.getLoggedIn();
}
_canReload() {
@@ -575,7 +575,7 @@
if (!this.changeNum) throw new Error('Missing required "changeNum".');
if (!this.patchRange) throw new Error('Missing required "patchRange".');
if (!this.path) throw new Error('Missing required "path" property.');
- this.$.restAPI
+ this.restApiService
.getDiff(
this.changeNum,
this.patchRange.basePatchNum,
@@ -697,7 +697,7 @@
_getImages(diff: DiffInfo) {
if (!this.changeNum) throw new Error('Missing required "changeNum" prop.');
if (!this.patchRange) throw new Error('Missing required "patchRange".');
- return this.$.restAPI.getImagesForDiff(
+ return this.restApiService.getImagesForDiff(
this.changeNum,
diff,
this.patchRange
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_html.ts b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_html.ts
index 9921dd6..48b82ec 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_html.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_html.ts
@@ -50,5 +50,4 @@
diff="[[diff]]"
></gr-syntax-layer>
<gr-js-api-interface id="jsAPI"></gr-js-api-interface>
- <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
`;
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
index 402cb52..fe6c7b9 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
@@ -133,11 +133,11 @@
resolve => {
notifySyntaxProcessed = resolve;
}));
- sinon.stub(element.$.restAPI, 'getDiff').returns(
+ sinon.stub(element.restApiService, 'getDiff').returns(
Promise.resolve({content: []}));
element.patchRange = {};
element.change = createChange();
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
return element.reload(true);
});
@@ -154,7 +154,7 @@
});
test('ends total timer w/ no syntax layer processing', async () => {
- sinon.stub(element.$.restAPI, 'getDiff').returns(
+ sinon.stub(element.restApiService, 'getDiff').returns(
Promise.resolve({content: []}));
element.patchRange = {};
element.change = createChange();
@@ -176,12 +176,12 @@
resolve => {
notifySyntaxProcessed = resolve;
}));
- sinon.stub(element.$.restAPI, 'getDiff').returns(
+ sinon.stub(element.restApiService, 'getDiff').returns(
Promise.resolve({content: []}));
element.patchRange = {};
element.change = createChange();
let reloadComplete = false;
- element.$.restAPI.getDiffPreferences()
+ element.restApiService.getDiffPreferences()
.then(prefs => {
element.prefs = prefs;
return element.reload();
@@ -230,7 +230,7 @@
test('reload() loads files weblinks', () => {
const weblinksStub = sinon.stub(GerritNav, '_generateWeblinks')
.returns({name: 'stubb', url: '#s'});
- sinon.stub(element.$.restAPI, 'getDiff').returns(Promise.resolve({
+ sinon.stub(element.restApiService, 'getDiff').returns(Promise.resolve({
content: [],
}));
element.projectName = 'test-project';
@@ -263,7 +263,7 @@
});
test('prefetch getDiff', done => {
- const diffRestApiStub = sinon.stub(element.$.restAPI, 'getDiff')
+ const diffRestApiStub = sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve({content: []}));
element.changeNum = 123;
element.patchRange = {basePatchNum: 1, patchNum: 2};
@@ -288,7 +288,7 @@
test('reload resolves on error', () => {
const onErrStub = sinon.stub(element, '_handleGetDiffError');
const error = new Response(null, {ok: false, status: 500});
- sinon.stub(element.$.restAPI, 'getDiff').callsFake(
+ sinon.stub(element.restApiService, 'getDiff').callsFake(
(changeNum, basePatchNum, patchNum, path, whitespace, onErr) => {
onErr(error);
});
@@ -347,7 +347,7 @@
'wsAAAAAAAAAAAAA/////w==',
type: 'image/bmp',
};
- sinon.stub(element.$.restAPI,
+ sinon.stub(element.restApiService,
'getB64FileContents')
.callsFake(
(changeId, patchNum, path, opt_parentIndex) => Promise.resolve(
@@ -380,7 +380,7 @@
content: [{skip: 66}],
binary: true,
};
- sinon.stub(element.$.restAPI, 'getDiff')
+ sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve(mockDiff));
const rendered = () => {
@@ -438,7 +438,7 @@
element.addEventListener('render', rendered);
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
element.reload();
});
@@ -461,7 +461,7 @@
content: [{skip: 66}],
binary: true,
};
- sinon.stub(element.$.restAPI, 'getDiff')
+ sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve(mockDiff));
const rendered = () => {
@@ -521,7 +521,7 @@
element.addEventListener('render', rendered);
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
element.reload();
});
@@ -543,7 +543,7 @@
content: [{skip: 66}],
binary: true,
};
- sinon.stub(element.$.restAPI, 'getDiff')
+ sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve(mockDiff));
element.addEventListener('render', () => {
@@ -562,7 +562,7 @@
done();
});
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
element.reload();
});
@@ -584,7 +584,7 @@
content: [{skip: 66}],
binary: true,
};
- sinon.stub(element.$.restAPI, 'getDiff')
+ sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve(mockDiff));
element.addEventListener('render', () => {
@@ -603,7 +603,7 @@
done();
});
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
element.reload();
});
@@ -627,7 +627,7 @@
};
mockFile1.type = 'image/jpeg-evil';
- sinon.stub(element.$.restAPI, 'getDiff')
+ sinon.stub(element.restApiService, 'getDiff')
.returns(Promise.resolve(mockDiff));
element.addEventListener('render', () => {
@@ -641,7 +641,7 @@
done();
});
- element.$.restAPI.getDiffPreferences().then(prefs => {
+ element.restApiService.getDiffPreferences().then(prefs => {
element.prefs = prefs;
element.reload();
});
@@ -702,7 +702,7 @@
const mockBlame = [{id: 'commit id', ranges: [{start: 1, end: 2}]}];
const showAlertStub = sinon.stub();
element.addEventListener('show-alert', showAlertStub);
- const getBlameStub = sinon.stub(element.$.restAPI, 'getBlame')
+ const getBlameStub = sinon.stub(element.restApiService, 'getBlame')
.returns(Promise.resolve(mockBlame));
element.changeNum = 42;
element.patchRange = {patchNum: 5, basePatchNum: 4};
@@ -720,7 +720,7 @@
const mockBlame = [];
const showAlertStub = sinon.stub();
element.addEventListener('show-alert', showAlertStub);
- sinon.stub(element.$.restAPI, 'getBlame')
+ sinon.stub(element.restApiService, 'getBlame')
.returns(Promise.resolve(mockBlame));
element.changeNum = 42;
element.patchRange = {patchNum: 5, basePatchNum: 4};
@@ -1270,7 +1270,7 @@
test('starts syntax layer processing on render event', async () => {
sinon.stub(element.$.syntaxLayer, 'process')
.returns(Promise.resolve());
- sinon.stub(element.$.restAPI, 'getDiff').returns(
+ sinon.stub(element.restApiService, 'getDiff').returns(
Promise.resolve({content: []}));
element.reload();
await flush();
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.ts b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.ts
index e0333cc..c30feeb 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.ts
@@ -20,7 +20,6 @@
import '../../shared/gr-button/gr-button';
import '../../shared/gr-rest-api-interface/gr-rest-api-interface';
import {DiffViewMode} from '../../../constants/constants';
-import {RestApiService} from '../../../services/services/gr-rest-api/gr-rest-api';
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners';
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin';
import {PolymerElement} from '@polymer/polymer/polymer-element';
@@ -28,12 +27,7 @@
import {customElement, property} from '@polymer/decorators';
import {IronA11yAnnouncer} from '@polymer/iron-a11y-announcer/iron-a11y-announcer';
import {FixIronA11yAnnouncer} from '../../../types/types';
-
-export interface GrDiffModeSelector {
- $: {
- restAPI: RestApiService & Element;
- };
-}
+import {appContext} from '../../../services/app-context';
@customElement('gr-diff-mode-selector')
export class GrDiffModeSelector extends GestureEventListeners(
@@ -53,6 +47,8 @@
@property({type: Boolean})
saveOnChange = false;
+ private readonly restApiService = appContext.restApiService;
+
attached() {
((IronA11yAnnouncer as unknown) as FixIronA11yAnnouncer).requestAvailability();
}
@@ -62,7 +58,7 @@
*/
setMode(newMode: DiffViewMode) {
if (this.saveOnChange && this.mode && this.mode !== newMode) {
- this.$.restAPI.savePreferences({diff_view: newMode});
+ this.restApiService.savePreferences({diff_view: newMode});
}
this.mode = newMode;
let annoucement;
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_html.ts b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_html.ts
index a5bf269..9943b58 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_html.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_html.ts
@@ -52,5 +52,4 @@
>
<iron-icon icon="gr-icons:unified"></iron-icon>
</gr-button>
- <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
`;
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_test.js b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_test.js
index 07a1d16..049f01d 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector_test.js
@@ -40,7 +40,7 @@
});
test('setMode', () => {
- const saveStub = sinon.stub(element.$.restAPI, 'savePreferences');
+ const saveStub = sinon.stub(element.restApiService, 'savePreferences');
// Setting the mode initially does not save prefs.
element.saveOnChange = true;
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
index 984b05a..82c48fa 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
@@ -59,7 +59,6 @@
} from '../../../utils/path-list-util';
import {changeBaseURL, changeIsOpen} from '../../../utils/change-util';
import {customElement, observe, property} from '@polymer/decorators';
-import {RestApiService} from '../../../services/services/gr-rest-api/gr-rest-api';
import {GrDiffHost} from '../gr-diff-host/gr-diff-host';
import {
DropdownItem,
@@ -116,7 +115,6 @@
export interface GrDiffView {
$: {
- restAPI: RestApiService & Element;
commentAPI: GrCommentApi;
cursor: GrDiffCursor;
diffHost: GrDiffHost;
@@ -319,6 +317,8 @@
flagsService = appContext.flagsService;
+ private readonly restApiService = appContext.restApiService;
+
_throttledToggleFileReviewed?: EventListener;
_onRenderHandler?: EventListener;
@@ -354,19 +354,19 @@
}
_getLoggedIn() {
- return this.$.restAPI.getLoggedIn();
+ return this.restApiService.getLoggedIn();
}
@observe('_change.project')
_getProjectConfig(project?: RepoName) {
if (!project) return;
- return this.$.restAPI.getProjectConfig(project).then(config => {
+ return this.restApiService.getProjectConfig(project).then(config => {
this._projectConfig = config;
});
}
_getChangeDetail(changeNum: NumericChangeId) {
- return this.$.restAPI.getDiffChangeDetail(changeNum).then(change => {
+ return this.restApiService.getDiffChangeDetail(changeNum).then(change => {
if (!change) throw new Error('Missing "change" in API response.');
this._change = change;
return change;
@@ -375,7 +375,7 @@
_getChangeEdit() {
if (!this._changeNum) throw new Error('Missing this._changeNum');
- return this.$.restAPI.getChangeEdit(this._changeNum);
+ return this.restApiService.getChangeEdit(this._changeNum);
}
_getSortedFileList(files?: Files) {
@@ -413,7 +413,7 @@
}
const patchRange = patchRangeRecord.base;
- return this.$.restAPI
+ return this.restApiService
.getChangeFiles(changeNum, patchRange)
.then(changeFiles => {
if (!changeFiles) return;
@@ -428,13 +428,13 @@
}
_getDiffPreferences() {
- return this.$.restAPI.getDiffPreferences().then(prefs => {
+ return this.restApiService.getDiffPreferences().then(prefs => {
this._prefs = prefs;
});
}
_getPreferences() {
- return this.$.restAPI.getPreferences();
+ return this.restApiService.getPreferences();
}
_getWindowWidth() {
@@ -461,7 +461,7 @@
if (!this._changeNum) return Promise.resolve(undefined);
if (!this._patchRange?.patchNum) return Promise.resolve(undefined);
if (!this._path) return Promise.resolve(undefined);
- return this.$.restAPI.saveFileReviewed(
+ return this.restApiService.saveFileReviewed(
this._changeNum,
this._patchRange?.patchNum,
this._path,
@@ -843,10 +843,12 @@
patchNum?: PatchSetNum
): Promise<Set<string>> {
if (!changeNum || !patchNum) return Promise.resolve(new Set<string>());
- return this.$.restAPI.getReviewedFiles(changeNum, patchNum).then(files => {
- this._reviewedFiles = new Set(files);
- return this._reviewedFiles;
- });
+ return this.restApiService
+ .getReviewedFiles(changeNum, patchNum)
+ .then(files => {
+ this._reviewedFiles = new Set(files);
+ return this._reviewedFiles;
+ });
}
_getReviewedStatus(
@@ -1031,7 +1033,7 @@
this._focusLineNum = undefined;
if (value.changeNum && value.project) {
- this.$.restAPI.setInProjectLookup(value.changeNum, value.project);
+ this.restApiService.setInProjectLookup(value.changeNum, value.project);
}
this._changeNum = value.changeNum;
@@ -1141,7 +1143,7 @@
_changeViewStateChanged(changeViewState: Partial<ChangeViewState>) {
if (changeViewState.diffMode === null) {
// If screen size is small, always default to unified view.
- this.$.restAPI.getPreferences().then(prefs => {
+ this.restApiService.getPreferences().then(prefs => {
if (prefs) {
this.set('changeViewState.diffMode', prefs.default_diff_view);
}
@@ -1583,7 +1585,7 @@
_getDiffDrafts() {
if (!this._changeNum) throw new Error('Missing this._changeNum');
- return this.$.restAPI.getDiffDrafts(this._changeNum);
+ return this.restApiService.getDiffDrafts(this._changeNum);
}
_computeCommentSkips(
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_html.ts b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_html.ts
index be2dce5..9ffb7df 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_html.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_html.ts
@@ -425,7 +425,6 @@
on-reload-diff-preference="_handleReloadingDiffPreference"
>
</gr-diff-preferences-dialog>
- <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
<gr-storage id="storage"></gr-storage>
<gr-diff-cursor
id="cursor"
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
index 8e1e5c1..cee6567 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
@@ -334,8 +334,8 @@
sinon.stub(element, '_loadBlame');
sinon.stub(element.$.diffHost, 'reload').returns(Promise.resolve());
sinon.spy(element, '_paramsChanged');
- element.$.restAPI.getDiffChangeDetail.restore();
- sinon.stub(element.$.restAPI, 'getDiffChangeDetail')
+ element.restApiService.getDiffChangeDetail.restore();
+ sinon.stub(element.restApiService, 'getDiffChangeDetail')
.returns(
Promise.resolve({
...createChange(),
@@ -1233,7 +1233,7 @@
const prefsPromise = new Promise(resolve => {
resolvePrefs = resolve;
});
- sinon.stub(element.$.restAPI, 'getPreferences')
+ sinon.stub(element.restApiService, 'getPreferences')
.callsFake(() => prefsPromise);
// Attach a new gr-diff-view so we can intercept the preferences fetch.
@@ -1622,9 +1622,9 @@
test('_getReviewedStatus', () => {
const promises = [];
- element.$.restAPI.getReviewedFiles.restore();
+ element.restApiService.getReviewedFiles.restore();
- sinon.stub(element.$.restAPI, 'getReviewedFiles')
+ sinon.stub(element.restApiService, 'getReviewedFiles')
.returns(Promise.resolve(['path']));
promises.push(element._getReviewedStatus(true, null, null, 'path')
@@ -1689,7 +1689,7 @@
test('_paramsChanged sets in projectLookup', () => {
sinon.stub(element, '_initLineOfInterestAndCursor');
- const setStub = sinon.stub(element.$.restAPI, 'setInProjectLookup');
+ const setStub = sinon.stub(element.restApiService, 'setInProjectLookup');
element._paramsChanged({
view: GerritNav.View.DIFF,
changeNum: 101,