@jupyterlab/git
Version:
A JupyterLab extension for version control using git
112 lines (111 loc) • 2.53 kB
TypeScript
import { TranslationBundle } from '@jupyterlab/translation';
import * as React from 'react';
import { Git, IGitExtension } from '../tokens';
/**
* Interface describing component properties.
*/
export interface ITagMenuProps {
/**
* Current list of tags.
*/
tagsList: Git.ITag[];
/**
* Boolean indicating whether branching is disabled.
*/
branching: boolean;
/**
* List of prior commits.
*/
pastCommits: Git.ISingleCommitInfo[];
/**
* Git extension data model.
*/
model: IGitExtension;
/**
* The application language translator.
*/
trans: TranslationBundle;
}
/**
* Interface describing component state.
*/
export interface ITagMenuState {
/**
* Boolean indicating whether to show a dialog to create a new tag.
*/
tagDialog: boolean;
/**
* Menu filter.
*/
filter: string;
}
/**
* React component for rendering a tag menu.
*/
export declare class TagMenu extends React.Component<ITagMenuProps, ITagMenuState> {
/**
* Returns a React component for rendering a tag menu.
*
* @param props - component properties
* @returns React component
*/
constructor(props: ITagMenuProps);
/**
* Renders the component.
*
* @returns React element
*/
render(): React.ReactElement;
/**
* Renders a tag input filter.
*
* @returns React element
*/
private _renderFilter;
/**
* Renders list of tags.
*
* @returns React element
*/
private _renderTagList;
/**
* Renders a menu item.
*
* @param props Row properties
* @returns React element
*/
private _renderItem;
/**
* Renders a dialog for creating a new tag.
*
* @returns React element
*/
private _renderNewTagDialog;
/**
* Callback invoked upon a change to the menu filter.
*
* @param event - event object
*/
private _onFilterChange;
/**
* Callback invoked to reset the menu filter.
*/
private _resetFilter;
/**
* Callback invoked upon clicking a button to create a new tag.
*
* @param event - event object
*/
private _onNewTagClick;
/**
* Callback invoked upon closing a dialog to create a new tag.
*/
private _onNewTagDialogClose;
/**
* Returns a callback which is invoked upon clicking a tag.
*
* @param tag - tag
* @returns callback
*/
private _onTagClickFactory;
}