Move DiffLayer to the API
Change-Id: Iad673de4501ece0cf12f4f3e58ec67b4838f8718
This commit is contained in:
@@ -245,3 +245,41 @@ export declare interface MovedLinkClickedEventDetail {
|
||||
side: Side;
|
||||
lineNum: LineNumber;
|
||||
}
|
||||
|
||||
export enum GrDiffLineType {
|
||||
ADD = 'add',
|
||||
BOTH = 'both',
|
||||
BLANK = 'blank',
|
||||
REMOVE = 'remove',
|
||||
}
|
||||
|
||||
/** Describes a line to be rendered in a diff. */
|
||||
export declare interface GrDiffLine {
|
||||
readonly type: GrDiffLineType;
|
||||
/** The line number on the left side of the diff - 0 means none. */
|
||||
beforeNumber: LineNumber;
|
||||
/** The line number on the right side of the diff - 0 means none. */
|
||||
afterNumber: LineNumber;
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface to implemented to define a new layer in the diff.
|
||||
*
|
||||
* Layers can affect how the text of the diff or its line numbers
|
||||
* are rendered.
|
||||
*/
|
||||
export declare interface DiffLayer {
|
||||
/**
|
||||
* Called during rendering and allows annotating the diff text or line number
|
||||
* by mutating those elements.
|
||||
*
|
||||
* @param textElement The rendered text of one side of the diff.
|
||||
* @param lineNumberElement The rendered line number of one side of the diff.
|
||||
* @param line Describes the line that should be annotated.
|
||||
*/
|
||||
annotate(
|
||||
textElement: HTMLElement,
|
||||
lineNumberElement: HTMLElement,
|
||||
line: GrDiffLine
|
||||
): void;
|
||||
}
|
||||
|
||||
@@ -15,20 +15,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {LineNumber} from '../../../api/diff';
|
||||
import {
|
||||
GrDiffLine as GrDiffLineApi,
|
||||
GrDiffLineType,
|
||||
LineNumber,
|
||||
} from '../../../api/diff';
|
||||
|
||||
export {LineNumber};
|
||||
export {GrDiffLineType, LineNumber};
|
||||
|
||||
export const FILE = 'FILE';
|
||||
|
||||
export enum GrDiffLineType {
|
||||
ADD = 'add',
|
||||
BOTH = 'both',
|
||||
BLANK = 'blank',
|
||||
REMOVE = 'remove',
|
||||
}
|
||||
|
||||
export class GrDiffLine {
|
||||
export class GrDiffLine implements GrDiffLineApi {
|
||||
constructor(
|
||||
readonly type: GrDiffLineType,
|
||||
public beforeNumber: LineNumber = 0,
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import {DiffLayer as DiffLayerApi} from '../api/diff';
|
||||
import {DiffViewMode, MessageTag, Side} from '../constants/constants';
|
||||
import {IronA11yAnnouncer} from '@polymer/iron-a11y-announcer/iron-a11y-announcer';
|
||||
import {GrDiffLine} from '../elements/diff/gr-diff/gr-diff-line';
|
||||
import {FlattenedNodesObserver} from '@polymer/polymer/lib/utils/flattened-nodes-observer';
|
||||
import {PaperInputElement} from '@polymer/paper-input/paper-input';
|
||||
import {
|
||||
@@ -150,8 +150,7 @@ export type DiffLayerListener = (
|
||||
side: Side
|
||||
) => void;
|
||||
|
||||
export interface DiffLayer {
|
||||
annotate(el: HTMLElement, lineEl: HTMLElement, line: GrDiffLine): void;
|
||||
export interface DiffLayer extends DiffLayerApi {
|
||||
addListener?(listener: DiffLayerListener): void;
|
||||
removeListener?(listener: DiffLayerListener): void;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user