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:
@@ -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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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');
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user