@jupyterlab/git
Version:
A JupyterLab extension for version control using git
73 lines (72 loc) • 1.85 kB
TypeScript
import { TranslationBundle } from '@jupyterlab/translation';
import * as React from 'react';
import { GitExtension } from '../model';
import { Git } from '../tokens';
/**
* File item properties
*/
export interface IFileItemProps {
/**
* Action buttons on the file
*/
actions?: React.ReactNode;
/**
* Callback to open a context menu on the file
*/
contextMenu?: (file: Git.IStatusFile, event: React.MouseEvent) => void;
/**
* File model
*/
file: Git.IStatusFile;
/**
* Is the file marked?
*/
markBox?: boolean;
/**
* Git repository model
*/
model: GitExtension;
/**
* Callback on double click
*/
onDoubleClick: () => void;
/**
* Is the file selected?
*/
selected?: boolean;
/**
* Callback to select file(s)
*/
setSelection?: (file: Git.IStatusFile, options?: {
singleton?: boolean;
group?: boolean;
}) => void;
/**
* Optional style class
*/
className?: string;
/**
* Inline styling for the windowing
*/
style?: React.CSSProperties;
/**
* The application language translator.
*/
trans: TranslationBundle;
/**
* Callback to implement shift-click for simple staging
*/
markUntilFile?: (file: Git.IStatusFile) => void;
/**
* whether the GitMarkBox is checked
*/
checked?: boolean;
}
export declare class FileItem extends React.PureComponent<IFileItemProps> {
constructor(props: IFileItemProps);
protected _onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
protected _getFileChangedLabel(change: string, trans: TranslationBundle): string;
protected _getFileChangedLabelClass(change: string): string;
protected _getFileClass(): string;
render(): JSX.Element;
}