Move move-link-click event details to API

Also make the naming of the line number field consistent with the
CreateCommentEventDetail.

Change-Id: Ie4a114c2ce3ca16ea71cd0f6618d4d3a97e2e9c7
This commit is contained in:
Ole Rehmsen
2021-02-05 13:00:48 +01:00
parent ede38a5083
commit d99be5e5cd
5 changed files with 20 additions and 19 deletions

View File

@@ -229,8 +229,8 @@ export declare type LineNumber = number | 'FILE';
/** The detail of the 'create-comment' event dispatched by gr-diff. */ /** The detail of the 'create-comment' event dispatched by gr-diff. */
export declare interface CreateCommentEventDetail { export declare interface CreateCommentEventDetail {
lineNum: LineNumber;
side: Side; side: Side;
lineNum: LineNumber;
range: CommentRange | undefined; range: CommentRange | undefined;
} }
@@ -240,3 +240,8 @@ export declare interface ContentLoadNeededEventDetail {
right: LineRange; right: LineRange;
}; };
} }
export declare interface MovedLinkClickedEventDetail {
side: Side;
lineNum: LineNumber;
}

View File

@@ -14,7 +14,10 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import {ContentLoadNeededEventDetail} from '../../../api/diff'; import {
ContentLoadNeededEventDetail,
MovedLinkClickedEventDetail,
} from '../../../api/diff';
import {getBaseUrl} from '../../../utils/url-util'; import {getBaseUrl} from '../../../utils/url-util';
import {GrDiffLine, GrDiffLineType, LineNumber} from '../gr-diff/gr-diff-line'; import {GrDiffLine, GrDiffLineType, LineNumber} from '../gr-diff/gr-diff-line';
import { import {
@@ -26,7 +29,6 @@ import {BlameInfo} from '../../../types/common';
import {DiffInfo, DiffPreferencesInfo} from '../../../types/diff'; import {DiffInfo, DiffPreferencesInfo} from '../../../types/diff';
import {DiffViewMode, Side} from '../../../constants/constants'; import {DiffViewMode, Side} from '../../../constants/constants';
import {DiffLayer} from '../../../types/types'; import {DiffLayer} from '../../../types/types';
import {MovedChunkGoToLineDetail} from '../../../types/events';
import {pluralize} from '../../../utils/string-util'; import {pluralize} from '../../../utils/string-util';
/** /**
@@ -794,9 +796,9 @@ export abstract class GrDiffBuilder {
anchor.addEventListener('click', e => { anchor.addEventListener('click', e => {
e.preventDefault(); e.preventDefault();
anchor.dispatchEvent( anchor.dispatchEvent(
new CustomEvent<MovedChunkGoToLineDetail>('moved-link-clicked', { new CustomEvent<MovedLinkClickedEventDetail>('moved-link-clicked', {
detail: { detail: {
line, lineNum: line,
side, side,
}, },
composed: true, composed: true,

View File

@@ -421,7 +421,7 @@ suite('gr-diff-cursor tests', () => {
const [startLineAnchor] = movedIn.querySelectorAll('a'); const [startLineAnchor] = movedIn.querySelectorAll('a');
const onMovedLinkClicked = e => { const onMovedLinkClicked = e => {
assert.deepEqual(e.detail, {line: 4, side: 'left'}); assert.deepEqual(e.detail, {lineNum: 4, side: 'left'});
done(); done();
}; };
assert.equal(startLineAnchor.textContent, '4'); assert.equal(startLineAnchor.textContent, '4');
@@ -436,7 +436,7 @@ suite('gr-diff-cursor tests', () => {
const [, endLineAnchor] = movedOut.querySelectorAll('a'); const [, endLineAnchor] = movedOut.querySelectorAll('a');
const onMovedLinkClicked = e => { const onMovedLinkClicked = e => {
assert.deepEqual(e.detail, {line: 4, side: 'right'}); assert.deepEqual(e.detail, {lineNum: 4, side: 'right'});
done(); done();
}; };
assert.equal(endLineAnchor.textContent, '4'); assert.equal(endLineAnchor.textContent, '4');

View File

@@ -61,7 +61,7 @@ import {FlattenedNodesObserver} from '@polymer/polymer/lib/utils/flattened-nodes
import {PolymerDeepPropertyChange} from '@polymer/polymer/interfaces'; import {PolymerDeepPropertyChange} from '@polymer/polymer/interfaces';
import {AbortStop} from '../../shared/gr-cursor-manager/gr-cursor-manager'; import {AbortStop} from '../../shared/gr-cursor-manager/gr-cursor-manager';
import {fireAlert, fireEvent} from '../../../utils/event-util'; import {fireAlert, fireEvent} from '../../../utils/event-util';
import {MovedChunkGoToLineEvent} from '../../../types/events'; import {MovedLinkClickedEvent} from '../../../types/events';
// TODO(davido): See: https://github.com/GoogleChromeLabs/shadow-selection-polyfill/issues/9 // TODO(davido): See: https://github.com/GoogleChromeLabs/shadow-selection-polyfill/issues/9
// @ts-ignore // @ts-ignore
import * as shadow from 'shadow-selection-polyfill/shadow.js'; import * as shadow from 'shadow-selection-polyfill/shadow.js';
@@ -554,8 +554,8 @@ export class GrDiff extends GestureEventListeners(
); );
} }
_movedLinkClicked(e: MovedChunkGoToLineEvent) { _movedLinkClicked(e: MovedLinkClickedEvent) {
this._dispatchSelectedLine(e.detail.line, e.detail.side); this._dispatchSelectedLine(e.detail.lineNum, e.detail.side);
} }
addDraftAtLine(el: Element) { addDraftAtLine(el: Element) {

View File

@@ -17,9 +17,8 @@
import {EventApi} from '@polymer/polymer/lib/legacy/polymer.dom'; import {EventApi} from '@polymer/polymer/lib/legacy/polymer.dom';
import {PatchSetNum, UrlEncodedCommentId} from './common'; import {PatchSetNum, UrlEncodedCommentId} from './common';
import {UIComment} from '../utils/comment-util'; import {UIComment} from '../utils/comment-util';
import {Side} from '../constants/constants';
import {LineNumber} from '../elements/diff/gr-diff/gr-diff-line';
import {FetchRequest} from './types'; import {FetchRequest} from './types';
import {MovedLinkClickedEventDetail} from '../api/diff';
export interface TitleChangeEventDetail { export interface TitleChangeEventDetail {
title: string; title: string;
@@ -164,16 +163,11 @@ export interface ReloadEventDetail {
export type ReloadEvent = CustomEvent<ReloadEventDetail>; export type ReloadEvent = CustomEvent<ReloadEventDetail>;
export interface MovedChunkGoToLineDetail { export type MovedLinkClickedEvent = CustomEvent<MovedLinkClickedEventDetail>;
side: Side;
line: LineNumber;
}
export type MovedChunkGoToLineEvent = CustomEvent<MovedChunkGoToLineDetail>;
declare global { declare global {
interface HTMLElementEventMap { interface HTMLElementEventMap {
'moved-link-clicked': MovedChunkGoToLineEvent; 'moved-link-clicked': MovedLinkClickedEvent;
} }
} }