@csegames/camelot-unchained
Version:
Camelot Unchained Client Library
47 lines (46 loc) • 1.45 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import { StyleDeclaration } from 'aphrodite';
export interface InlineInputEditStyle extends StyleDeclaration {
defaultView: React.CSSProperties;
editModeInputContainer: React.CSSProperties;
editModeButtons: React.CSSProperties;
editButton: React.CSSProperties;
saveButton: React.CSSProperties;
error: React.CSSProperties;
}
export declare const defaultInlineInputEditStyle: InlineInputEditStyle;
export interface InlineInputEditProps {
value: any;
type: string;
inputProps?: any;
onSave: (prev: any, entered: string) => Promise<{
ok: boolean;
error?: string;
}>;
styles?: Partial<InlineInputEditStyle>;
}
export interface InlineInputEditState {
editMode: boolean;
showEditButton: boolean;
saving: boolean;
errors: string;
}
export declare class InlineInputEdit extends React.Component<InlineInputEditProps, InlineInputEditState> {
private static editModeActiveEvent;
private editModeListenerID;
private id;
private inputRef;
constructor(props: InlineInputEditProps);
render(): JSX.Element;
componentDidMount(): void;
componentWillUnmount(): void;
private onEditModeActiveEvent;
private onMouseleave;
private onKeyDown;
private showEditButton;
private doSave;
private activateEditMode;
private deactivateEditMode;
}
export default InlineInputEdit;