@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
55 lines (54 loc) • 2.77 kB
TypeScript
import { NumberParams } from "@docsvision/webclient/Platform/Number";
import "@docsvision/webclient/Platform/ToLocaleStringPolyfill";
import { InputBasedControlImpl, InputBasedControlState } from "@docsvision/webclient/System/InputBasedControlImpl";
import { IBindingResult } from "@docsvision/webclient/System/IBindingResult";
import { IValidationResult } from '@docsvision/webclient/System/IValidationResult';
import "number-to-locale-string-polyfill";
import React from "react";
/** @internal */
export interface INumberState extends NumberParams, InputBasedControlState<number> {
binding: IBindingResult<number>;
isBlur: boolean;
}
export interface NumberState extends INumberState {
}
/** @internal */
export declare type NumberImplState = INumberState;
/** @internal */
export declare class NumberImpl extends InputBasedControlImpl<number, NumberParams, INumberState> {
protected static readonly INFINITY_FRACTION_DIGITS = -1;
protected static readonly INT_MAX_LENGTH_VALUE = 10;
protected static readonly INT_MAX_VALUE = 2147483647;
protected static readonly DECIMAL_MAX_VALUE = 100000000000000;
protected static readonly DECIMAL_MIN_VALUE = -100000000000000;
protected static readonly FLOAT_MAX_VALUE = 3.4e+38;
protected static readonly FLOAT_MIN_VALUE = -3.4e+38;
protected static readonly FLOAT_MAX_LENGTH_VALUE = 16;
protected static readonly DECIMAL_MAX_LENGTH_VALUE = 28;
static readonly FIELD_TYPE_METADATA_KEY = "fieldType";
constructor(props: NumberParams, state: INumberState);
protected trimFractionDigits(value: number): number;
protected numberToString(value: number, useGrouping: boolean): string;
protected prepareValueForSettingToInput(value: number): string;
protected getTextValue(): string;
hasValue(): boolean;
protected renderInto(props: NumberParams, container: HTMLElement): void;
protected onInputChange(event: React.ChangeEvent): void;
protected setInputValue(value: string): void;
setValue(value: number | string, redraw: boolean): void;
getValue(): number;
protected attachInput(elem: HTMLInputElement): void;
protected onInputBlur(event: React.FocusEvent): void;
private saveCard;
private shouldSaveCardWithEditInPlaceValue;
private isLayoutViewMode;
validate(params: unknown): IValidationResult;
protected parseStringValue: (value: string, trim: boolean) => number;
protected processInputValue(): void;
protected onInputKeyDown(ev: React.KeyboardEvent): void;
protected getNumberDecimalSeparator(): string;
protected getNumberGroupSeparator(): string;
protected getMaxLength(): number;
protected customParseFloat(value: string): number;
protected renderInput(): React.ReactNode;
}