UNPKG

realgrid-touch

Version:

RealGrid-Touch is a data list component library for developing mobile web applications for business purposes.

1,475 lines (1,465 loc) 348 kB
declare class RtObject { static destroy(obj: RtObject): null; private $_hash; private $_destroyed; private $_destroying; constructor(noHash?: boolean); destroy(): null; protected _doDestory(): void; get destroying(): boolean; get hash(): string; isMe(hash: string): boolean; protected _doAssignProps(source: any): boolean; assignProps(source: any): RtObject; assignObject(source: any, excludes: string[]): RtObject; toString(): string; toBool(v: any): boolean; toNum(v: any, def?: number): number; } declare abstract class RtWrappableObject extends RtObject { protected _wrapper: any; wrapper(): any; wrapperOrThis(): any; createWrapper<T>(clazz: { new (): T; }): T; setWrapper<T>(wrapper: T): T; isWrapper(w: any): boolean; } declare abstract class RtWrapper<T extends RtWrappableObject> extends RtObject { protected $_c: T; protected _doDestory(): void; } declare abstract class RtEventProvider<T> extends RtObject { private _listeners; addListener(listener: T): void; removeListener(listener: T): void; protected _fireEvent(event: string, ...args: any[]): any; } interface IEventArgs { } type RtEventHandler<T extends IEventArgs> = (args?: T) => void; type RtPercentSize = string | number; interface IPercentSize { size: number; fixed: boolean; } type SizeValue = string | number; interface CSSStyles { background?: string; backgroundAttachment?: string; backgroundBlendMode?: string; backgroundClip?: string; backgroundColor?: string; backgroundImage?: string; backgroundOrigin?: string; backgroundPosition?: string; backgroundPositionX?: string; backgroundPositionY?: string; backgroundRepeat?: string; backgroundSize?: string; border?: string; borderBlock?: string; borderBlockColor?: string; borderBlockEnd?: string; borderBlockEndColor?: string; borderBlockEndStyle?: string; borderBlockEndWidth?: string; borderBlockStart?: string; borderBlockStartColor?: string; borderBlockStartStyle?: string; borderBlockStartWidth?: string; borderBlockStyle?: string; borderBlockWidth?: string; borderBottom?: string; borderBottomColor?: string; borderBottomLeftRadius?: string; borderBottomRightRadius?: string; borderBottomStyle?: string; borderBottomWidth?: string; borderCollapse?: string; borderColor?: string; borderEndEndRadius?: string; borderEndStartRadius?: string; borderImage?: string; borderImageOutset?: string; borderImageRepeat?: string; borderImageSlice?: string; borderImageSource?: string; borderImageWidth?: string; borderInline?: string; borderInlineColor?: string; borderInlineEnd?: string; borderInlineEndColor?: string; borderInlineEndStyle?: string; borderInlineEndWidth?: string; borderInlineStart?: string; borderInlineStartColor?: string; borderInlineStartStyle?: string; borderInlineStartWidth?: string; borderInlineStyle?: string; borderInlineWidth?: string; borderLeft?: string; borderLeftColor?: string; borderLeftStyle?: string; borderLeftWidth?: string; borderRadius?: string; borderRight?: string; borderRightColor?: string; borderRightStyle?: string; borderRightWidth?: string; borderSpacing?: string; borderStartEndRadius?: string; borderStartStartRadius?: string; borderStyle?: string; borderTop?: string; borderTopColor?: string; borderTopLeftRadius?: string; borderTopRightRadius?: string; borderTopStyle?: string; borderTopWidth?: string; borderWidth?: string; boxSizing?: 'content-box' | 'border-box' | ''; color?: string; font?: string; fontFamily?: string; fontFeatureSettings?: string; fontKerning?: string; fontOpticalSizing?: string; fontSize?: string; fontSizeAdjust?: string; fontStretch?: string; fontStyle?: string; fontSynthesis?: string; fontVariant?: string; fontVariantCaps?: string; fontVariantEastAsian?: string; fontVariantLigatures?: string; fontVariantNumeric?: string; fontVariantPosition?: string; fontVariationSettings?: string; fontWeight?: string; padding?: string; paddingBlock?: string; paddingBlockEnd?: string; paddingBlockStart?: string; paddingBottom?: string; paddingInline?: string; paddingInlineEnd?: string; paddingInlineStart?: string; paddingLeft?: string; paddingRight?: string; paddingTop?: string; textOverflow?: string; fill?: string; stroke?: string; strokeWidth?: string; } interface CSSStyles2 extends CSSStyles { display?: string; position?: string; alignItems?: string; justifyContent?: string; flexDirection?: string; flexWrap?: string; gap?: string; flex?: string; width?: string; height?: string; minHeight?: string; minWidth?: string; maxWidth?: string; left?: string; top?: string; overflow?: string; marginRight?: string; whiteSpace?: string; margin?: string; marginLeft?: string; pointerEvents?: string; } type StyleOrClass = CSSStyles | string; interface ISize { width: number; height: number; } interface IRect { x: number; y: number; width: number; height: number; } interface ISides { left: number; right: number; top: number; bottom: number; horz?: number; vert?: number; } interface IPadding { left: number; right: number; top: number; bottom: number; borderLeft: number; borderRight: number; borderTop: number; borderBottom: number; horz?: number; vert?: number; } declare enum RtDirection { UP = "up", DOWN = "down", LEFT = "left", RIGHT = "right" } declare class TemplateVars { private _vars; constructor(vars: any); out(value: string): any; assign(source: any): any; } declare class DummyVars extends TemplateVars { constructor(); out(value: string): any; assign(source: any): any; } declare abstract class TemplateChild { protected _parent: TemplateLayout; tid: number; id: any; tag: string; props: any; style: RtParamObject; styleCallback: ((ctx: any) => CSSStyles) | RtParamString; constructor(parent: TemplateLayout | null, source: any, vars: TemplateVars); updateProp(path: string[] | string, value: any, vars: any): boolean; protected abstract _doLoad(source: any, vars: TemplateVars): void; protected _loadProps(source: any, vars: TemplateVars): any; protected _loadStyle(source: any, vars: TemplateVars): RtParamObject; protected _loadRenderer(source: any, styles: any, vars: TemplateVars): RtParamObject | string; } declare class TemplateField extends TemplateChild { field: string | RtParamString; value: any | RtParamString; fields: string[] | RtParamString; renderer: string | RtParamObject; rendererStyles: any; editor: string | RtParamObject; editorStyles: any; protected _doLoad(source: any, vars: TemplateVars): void; private $_updateProp; updateProp(path: string[] | string, value: any, vars: any): boolean; } declare class TemplateLayout extends TemplateChild { defaultRenderer: string; layout: string; children: TemplateChild[]; map: { [id: string]: TemplateChild; }; count(): number; getDefaultRenderer(): string; get(index: number): TemplateChild; tagBy(tag: string): TemplateChild; fieldBy(tag: string): TemplateField; private $_loadChild; protected _doLoad(source: any, vars: TemplateVars): void; updateProp(path: string[] | string, value: any, vars: any): boolean; find(id: string): TemplateChild; _getFields(fields: string[]): void; } interface HtmlToken { node: number[]; attr?: string; param: RtParamString; value?: any; } declare class TemplateHtmlLayout extends TemplateChild { dom: HTMLElement; tokens: HtmlToken[]; constructor(dom: HTMLElement, vars: TemplateVars); protected _doLoad(source: any, vars: TemplateVars): void; find(id: string): any; private $_parseParams; } type TemplateLayoutType = TemplateLayout | TemplateHtmlLayout; interface ITemplateProps { height?: number; minHeight?: number; maxHeight?: number; width?: number; minWidth?: number; maxWidth?: number; } interface IListTemplate { id: number; detailId?: number; collapsedId?: number; description?: string; target?: any; rowProps?: ITemplateProps; rowStyle?: RtRowStyles; layout?: TemplateLayoutType; detailed?: TemplateLayoutType; extra?: TemplateLayoutType; collapsed?: TemplateLayoutType; skeleton?: TemplateLayoutType; params?: object; } declare class ListTemplate extends RtObject implements IListTemplate { static readonly Vars: DummyVars; static createLayout(htmlProvider: ITemplateHtmlProvider, source: any, vars: TemplateVars): TemplateLayoutType; private _vars; id: number; detailId: any; collapsedId: any; description: string; target: any; rowProps: ITemplateProps; rowStyle: RtRowStyles; layout: TemplateLayoutType; detailed: TemplateLayoutType; extra: TemplateLayoutType; collapsed: TemplateLayoutType; brief: TemplateLayoutType; params: object; constructor(htmlProvider: ITemplateHtmlProvider, source: any, vars2: any); protected _doDestory(): void; getFields(): string[]; find(id: string): TemplateChild; updateProp(id: string, prop: string, value: any): boolean; updateProps(id: string, props: { [prop: string]: any; }): boolean; } declare class TableTemplateCell extends TemplateField { row: number; col: number; rowspan: number; colspan: number; cellStyle: RtParamObject; protected _doLoad(src: any, vars: TemplateVars): void; } interface ITableTemplate extends IListTemplate { tag?: string; cells: TableTemplateCell[]; } declare abstract class TableTemplate extends RtObject implements ITableTemplate { embed: boolean; id: number; detailId: number; tag: string; cells: TableTemplateCell[]; rowProps: ITemplateProps; rowStyle: RtRowStyles; detailed: TemplateLayoutType; extra: TemplateLayoutType; constructor(htmlProvider: ITemplateHtmlProvider, source: any, embed: boolean); find(id: string): any; protected abstract _createCell(source: any, vars: any): TableTemplateCell; private $_loadCells; } declare class TableRowTemplate extends TableTemplate { headerTemplate: TableHeaderTemplate; footerTemplate: TableFooterTemplate; constructor(htmlProvider: ITemplateHtmlProvider, source: any); protected _createCell(source: any, vars: any): TableTemplateCell; } declare class TableHeaderTemplate extends TableTemplate { constructor(htmlProvider: ITemplateHtmlProvider, source: any, embed: boolean); protected _createCell(source: any, vars: any): TableTemplateCell; } declare class TableFooterTemplate extends TableTemplate { constructor(htmlProvider: ITemplateHtmlProvider, source: any, embed: boolean); protected _createCell(source: any, vars: any): TableTemplateCell; } type TemplateType = ListTemplate | TableTemplate; declare class RtEditTool { private _control; private _touchElement; private _moveElement; private _draggable; private _dragTracker; private _touchX; private _touchY; private _prevX; private _prevY; protected _touches: { x: number; y: number; t: number; }[]; protected _tapped: number; private _firstTime; private _secondTime; private _longTimer; protected _primaryId: number; constructor(control: RtControl); get control(): RtControl; get dragTracker(): DragTracker; setDragTracker(value: DragTracker): void; get dragging(): boolean; touchX(): number; touchY(): number; pointerDown(ev: PointerEvent): boolean; protected _stopEvent(ev: Event): void; private $_doDrag; private $_startMove; pointerMove(ev: PointerEvent): void; pointerUp(ev: PointerEvent): void; pointerCancel(ev: PointerEvent): void; pointerLeave(ev: PointerEvent): void; touchStart(ev: TouchEvent): boolean; touchMove(ev: TouchEvent): boolean; touchEnd(ev: TouchEvent): void; click(ev: PointerEvent): void; dblClick(ev: MouseEvent): void; keyPress(ev: KeyboardEvent): void; wheel(ev: WheelEvent): void; requestDrag(request: DragRequest): void; getTrackerFromRequest(request: DragRequest): DragTracker; protected _setDraggable(value: boolean): void; protected _doClick(ev: PointerEvent, dom: Element): void; protected _doDblClick(dom: Element): void; protected _doPointerDown(dom: Element): boolean; protected _doPointerMove(dom: Element): void; protected _doPointerUp(dom: Element): boolean; protected _doPointerCancel(ev: PointerEvent): void; protected _doPointerLeave(ev: PointerEvent): void; protected _doTouchStart(ev: TouchEvent): boolean; protected _doTouchMove(ev: TouchEvent, dom: Element): boolean; protected _doTouchEnd(ev: TouchEvent): void; protected _doLongPressed(dom: Element, x: number, y: number): void; protected _doKeyPress(ev: KeyboardEvent): void; protected _doWheel(ev: WheelEvent): boolean; protected _doSwipe(dom: Element, prevTracker: DragTracker, dir: RtDirection, duration: number, distance: number): boolean; protected _getDragTracker(dom: Element, dx: number, dy: number): DragTracker; private $_startDrag; private $_drag; private $_stopDragTracker; private $_pointerToPoint; private $_checkSwipe; protected _clearTouchEffects(): void; } declare abstract class DragRequest extends RtObject { } declare abstract class DragTracker extends RtObject { private _control; private _dragging; constructor(control: RtControl); get control(): RtControl; get dragging(): boolean; get startWhenCreated(): boolean; get cursor(): string; canSwipe(): boolean; start(eventTarget: Element, xStart: number, yStart: number, x: number, y: number): boolean; drag(eventTarget: Element, xPrev: number, yPrev: number, x: number, y: number): boolean; cancel(): void; drop(eventTarget: HTMLElement, x: number, y: number): void; swipe(dir: RtDirection, duration: number, distance: number): boolean; end(x?: number, y?: number): void; protected _doSwipe(dir: RtDirection, duration: number, distance: number): boolean; protected _showFeedback(x: number, y: number): void; protected _moveFeedback(x: number, y: number): void; protected _hideFeedback(): void; protected _doStart(eventTarget: Element, xStart: number, yStart: number, x: number, y: number): boolean; protected abstract _doDrag(eventTarget: Element, xPrev: number, yPrev: number, x: number, y: number): boolean; protected _doCanceled(): void; protected _canAccept(eventTarget: Element, x: number, y: number): boolean; protected _doCompleted(eventTarget: Element, x: number, y: number): void; protected _doEnded(x?: number, y?: number): void; } interface ISvgShape { width: number; height?: number; path: string; } declare class RtSvg extends RtObject { static create(doc: Document): SVGSVGElement; svg: SVGSVGElement; constructor(svg: SVGSVGElement | Document, className?: string); protected _doDestory(): void; attach(parent: Element): RtSvg; detach(): void; setClass(className: string): void; addClass(className: string): void; clearStyle(style: any): void; setStyle(style: any): void; setViewSize(w: number, h?: number): void; clearViewSize(): void; setSize(w: number, h: number): void; fillSize(): void; makeBackground(width?: number, height?: number): RtSvg; clear(): void; rect(x: number, y: number, w: number, h: number, style: object): SVGRectElement; circle(cx: number, cy: number, radius: number, style: object): SVGCircleElement; line(x1: number, y1: number, x2: number, y2: number, style?: object): SVGPathElement; polyline(pts: number[], style?: object): SVGPathElement; polylgon(pts: number[], style?: object): SVGPathElement; quadratic(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, style?: object): SVGPathElement; arc(cx: number, cy: number, rx: number, ry: number, startAngle: number, angle: number, clockwise: boolean, style?: object): SVGPathElement; path(d: string): SVGPathElement; setShape(shape: ISvgShape, clear?: boolean): RtSvg; _createPath(d: string): SVGPathElement; private $_angleToPos; _animateRevert(path: SVGPathElement, from: string, to: string, duration: number): void; } declare class Registy<T extends RtObject> extends RtObject { private _items; protected _doDestory(): void; get(name: string): T; clear(): void; add(name: string, template: T): void; remove(name: string): void; removeAll(names: string[]): void; } declare abstract class RtShape extends RtObject { static clone<T extends RtShape>(shape: T, clazz: { new (shape: T): T; }): T; protected _svg: RtSvg; protected _width: number; protected _height: number; constructor(doc: Document | RtShape | SVGSVGElement, className?: string, style?: object); protected _doDestory(): void; name(): string; dom(): SVGSVGElement; attached(): boolean; isDom(svg: SVGSVGElement): boolean; containsDom(dom: Element): boolean; setVisible(value: boolean): void; styleTarget(): CSSStyleDeclaration; resize(width: number, height?: number): boolean; setClass(className: string): void; setStyle(style: CSSStyles2): void; appendTo(dom: Element | RtElement): void; remove(): void; makeBackground(width: number, height?: number): RtShape; protected _doClone(shape: RtShape): void; protected _doInit(svg: RtSvg): void; } declare abstract class RtShapeRegistry extends Registy<RtShape> { abstract create<T extends RtShape>(clazz: { new (doc: any): T; }, svg: SVGSVGElement): T; abstract createStock(doc: Document | SVGSVGElement, shapeName: string, className?: string, style?: object): RtShape; abstract createCustom(shapeName: string, svg: SVGSVGElement, className: string): RtCustomShape; abstract registerCustom(shapeName: string, d: string, width?: number, height?: number): void; abstract getCustom(shapeName: string): { w: number; h: number; d: string; }; createShape(doc: Document, shapeName: string): RtShape; } declare class RtCustomShape extends RtShape { static readonly NAME = "@custom"; private _path; constructor(doc: Document | RtCustomShape | SVGSVGElement, className?: string, style?: object); setShape(shape: { w: number; h: number; d: string; }): RtCustomShape; protected _doClone(shape: RtCustomShape): void; } type RtScreenOrientationCallback = (orientation: RtScreenOrientation) => void; declare abstract class RtControl extends RtWrappableObject { private _orientation; private _syncOrientation; private _screenOrientation; private _syncScreenOrientation; private _activeTool; longPressDelay: number; onOrientationChanged: RtScreenOrientationCallback; private _container; private _dom; private _root; private _inited; private _testing; private _dirty; private _requestTimer; private _defaultTool; private _tool; private _invalidElements; private _toAnimation; private _invalidateLock; private _lockDirty; private _cssVars; constructor(doc: Document, container: string | HTMLDivElement, className: string); protected _doDestory(): void; isInited(): boolean; isTesting(): boolean; doc(): Document; dom(): HTMLElement; width(): number; height(): number; activeTool(): RtEditTool; setSctiveTool(value: RtEditTool): void; orientation(): RtScreenOrientation; setOrientation(value: RtScreenOrientation): void; isPortrait(): boolean; isLandscape(): boolean; syncOrientation(): boolean; setSyncOrientation(value: boolean): void; screenOrientation(): RtScreenOrientation; syncScreenOrientation(): boolean; setScreenSyncOrientation(value: boolean): void; addElement(elt: RtElement): void; removeElement(elt: RtElement): void; invalidate(force?: boolean): void; invalidateLayout(force?: boolean): void; setLock(): void; releaseLock(validate?: boolean): void; lock(func: (control: RtControl) => void): void; silentLock(func: (control: RtControl) => void): void; elementOfDom(dom: Element): RtElement; getBounds(): DOMRect; toElement(elt: RtElement, x: number, y: number): { x: number; y: number; }; setAnimation(to?: number): void; fling(distance: number, duration: number): void; getCssVar(name: string): string; abstract shapes(): RtShapeRegistry; abstract useImage(src: string): void; protected _setTesting(): void; protected _setSize(w: number, h: number): void; private $_getScreenOrientation; private $_getOrientation; private $_checkOrientation; private $_addListener; protected _resigterEventHandlers(dom: HTMLElement): void; protected _unresigterEventHandlers(dom: HTMLElement): void; private $_orientationChanged; protected _doOrientationChanged(orientation: RtScreenOrientation): void; protected abstract _creatDefaultTool(): RtEditTool; protected _prepareRenderers(dom: HTMLElement): void; private $_initControl; protected _render(): void; private $_invalidateElement; private $_requestRender; updateNow(): void; private $_render; protected abstract _doRender(bounds: IRect): void; protected _doBeforeRender(): void; protected _doAfterRender(): void; protected _doControlObjectChanged(obj: RtControlObject, tag: string): void; protected _doClick(event: PointerEvent): void; protected _doDblClick(event: PointerEvent): void; protected _doTouchMove(event: TouchEvent): boolean; protected _doTouchEnd(event: TouchEvent): void; protected _doPointerDown(event: PointerEvent): boolean; protected _doPointerMove(event: PointerEvent): void; protected _doPointerUp(event: PointerEvent): void; protected _doPointerCancel(event: PointerEvent): void; protected _doPointerLeave(event: PointerEvent): void; protected _doKeyPress(event: KeyboardEvent): void; protected _doWheel(event: WheelEvent): void; private _screenOrientationChangeHandler; static currentInput: HTMLInputElement | HTMLTextAreaElement; protected _windowResizeHandler: (event: Event) => void; protected _windowResized(): void; private _clickHandler; private _dblClickHandler; private _touchMoveHandler; private _touchEndHandler; private _touchStartHandler; private _pointerDownHandler; private _pointerMoveHandler; private _pointerUpHandler; private _pointerCancelHandler; private _pointerLeaveHandler; private _keyPressHandler; private _wheelHandler; } type RtControlOrWrapper = RtControl | RtWrapper<RtControl>; declare class RtElement extends RtObject { static readonly TESTING = false; static BOUNDING: boolean; static readonly BOUNDING_BORDER = "1px solid #ff000080"; static readonly BOUNDING_BORDER_2 = "1px solid #0000ff40"; static ANIMATABLE: boolean; private _visible; private _x; private _y; private _width; private _height; private _dom; private _content; private _parent; private _children; private _dirty; constructor(doc: Document, contentable: boolean, className: string, tag: string); protected _doDestory(): void; get doc(): Document; get win(): Window; get dom(): HTMLElement; get content(): HTMLElement; get parent(): RtElement; get childCount(): number; get control(): RtControl; get x(): number; right(): number; get y(): number; bottom(): number; get width(): number; get height(): number; get visHeight(): number; get visible(): boolean; set visible(value: boolean); setVisible(value: boolean): boolean; _internalVisible(visible: boolean): boolean; setHidden(value: boolean): void; canAnimate(): boolean; setAnimating(value: boolean): void; animating(): boolean; get hidden(): boolean; set hidden(value: boolean); setStyles(style: CSSStyles2): RtElement; getClientSize(): ISize; getOffsetSize(): ISize; getOffsetBounds(): IRect; getClientRect(): DOMRect; getSize(): ISize; getBounds(): IRect; validate(): void; getLabel(): HTMLElement; getChildren(): RtElement[]; getChild(index: number): RtElement; indexOf(child: RtElement): number; contains(elt: RtElement, deep?: boolean): boolean; insertChild(at: number, child: RtElement): void; insertBefore(child: RtElement, before: RtElement): void; addChild(child: RtElement): void; remove(): void; removeChildAt(at: number): RtElement; removeChild(child: RtElement): RtElement; removeLast(): RtElement; clear(): boolean; moveIndex(child: RtElement, newIndex: number): boolean; isDom(dom: Element): boolean; containsDom(dom: Element): boolean; isView(dom: Element): boolean; containsClass(className: string): boolean; domByClass(className: string, text?: string | string[]): HTMLElement; childOfDom(dom: Element): RtElement; hasData(name: string): boolean; setData(name: string, value: any): void; setBounds(x: number, y: number, width: number, height: number): RtElement; setRect(r: IRect): RtElement; moveX(x: number): RtElement; moveY(y: number): RtElement; move(x: number, y: number): RtElement; center(x: number, y: number, width: number, height: number): RtElement; moveI(x: number, y: number): RtElement; resetPosition(): void; setWidth(width: number): RtElement; setHeight(height: number): RtElement; clearSize(): void; resize(width: number, height: number): RtElement; internalClearSize(): RtElement; internalResize(width: number, height: number): RtElement; internalSetSize(width: number, height: number): RtElement; syncSize(): void; resizeContent(width: number, height: number): void; setContentBounds(x: number, y: number, w: number, h: number): void; saveSize(): RtElement; forEach(callback: (child: RtElement, index?: number, count?: number) => void): void; some(callback: (child: RtElement, index?: number, count?: number) => boolean): void; findChild(selector: (child: RtElement, index?: number, count?: number) => boolean): RtElement; findDescendant(selector: (child: RtElement) => boolean): RtElement; findDescendants(selector: (child: RtElement) => boolean, elements: RtElement[]): void; applyStyle(style: CSSStyles): void; setImportantStyle(css: CSSStyleDeclaration, property: string, value: string): RtElement; setPressed(value: boolean): void; appendSpan(doc?: Document, className?: string): HTMLSpanElement; appendDom<T extends HTMLElement | SVGSVGElement>(dom: T): T; removeDom(dom: HTMLElement): void; detachDom(): void; createElement(tag: string): HTMLElement; setClassName(clazz: string): void; protected _testing(): boolean; protected _doInitStyle(style: CSSStyles2): void; protected _doInitDom(doc: Document, dom: HTMLElement): void; protected _doInitContent(doc: Document, div: HTMLElement): void; protected _getPositionStyle(): string; protected _getDisplayStyle(): string; protected _getContentPosition(): string; protected _getOverflow(): string; private $_attached; protected _doAttached(): void; private $_detached; protected _doDetached(oldParent: RtElement): void; private $_removeChild; protected _changed(): void; protected _getRenderSize(): ISize; } declare abstract class RtControlObject extends RtWrappableObject { private _control; constructor(control: RtControl); control(): RtControl; protected _changed(tag?: string): void; } declare enum RtDataType { TEXT = "text", NUMBER = "number", BOOL = "bool", DATE = "date", BIGINT = "bigint", ANY = "any" } interface IRtDataField { name: string; label?: string; type?: RtDataType; key?: string; comparer?: (v1: any, v2: any) => number; default?: any; sortable?: boolean; required?: boolean; minimum?: any; maximum?: any; domain?: any[]; } declare class RtDataField { static create(name: string | IRtDataField, type?: RtDataType): RtDataField; static createFields(fields: IRtDataField[]): RtDataField[]; static readonly comparers: { text: (v1: any, v2: any) => number; number: (v1: any, v2: any) => number; bool: (v1: any, v2: any) => number; date: (v1: any, v2: any) => number; bigint: (v1: any, v2: any) => number; any: (v1: any, v2: any) => number; }; private _label; description: string; default: any; sortable: boolean; sourceProp: string; required: boolean; minimum: any; maximum: any; domain: any[]; keys: string[]; private _owner; private _name; private _type; readValue: (v: any) => any; comparer: (v1: any, v2: any) => number; protected constructor(name: string, type?: RtDataType); get name(): string; get type(): RtDataType; get label(): string; set label(value: string); displayText(): string; proxy(): IRtDataField; protected _changed(): void; } type RtValueExtracter = (values: RtRowValues) => any; declare class DerivedField extends RtDataField { static createDerived(name: string, extracter: RtValueExtracter, type?: RtDataType): DerivedField; private _extracter; private constructor(); extract(values: object): any; } interface IRtDerivedField extends IRtDataField { extractor: RtValueExtracter; } declare enum RtDataRowState { CREATED = "c", UPDATED = "u", DELETED = "d" } type RtRowValues = { [field: string]: any; }; type RtFieldMap = { [name: string]: RtDataField; }; type RtDerivedFieldMap = { [name: string]: DerivedField; }; type RtDataValueReader = (prop: string, value: any) => any; declare class DataRow { static createRow(id: number, fields: RtFieldMap, dfields: RtDerivedFieldMap, values: RtRowValues, reader: RtDataValueReader): DataRow; static createRow2(id: number, fields: RtFieldMap, dfields: RtDerivedFieldMap, values: RtRowValues): DataRow; static findRow(drows: DataRow[], values: { [field: string]: any; }, from: number, to: number): number; static findRows(drows: DataRow[], values: { [field: string]: any; }, from: number, to: number): number[]; static findDistinctRows(drows: DataRow[], fields: string[], from: number, to: number): number[]; static findNearest(drows: DataRow[], field: string, value: any, from: number, to: number): number; static getProp(values: RtRowValues, field: string, props: string[]): any; static setProp(values: RtRowValues, field: string, props: string[], value: any): void; id: number; row: number; values: any; save: any; state: RtDataRowState; tidx: number; tag: any; getValues(fields: string[]): any; match(obj: { [field: string]: any; }): boolean; } interface ILayoutData { getValue(row: number, field: string, fieldCheck: boolean): any; getProp(row: number, field: string, prop: string[], fieldCheck: boolean): any; updateValue(row: number, field: string, value: any): boolean; updateProp(row: number, field: string, prop: string[], value: any): boolean; } interface IDataViewWrapper { } interface IDataView { addListener(listener: any): void; removeListener(listener: any): void; source(): IDataView; wrapper(): IDataViewWrapper; wrapperOrThis(): ListDataWrapper; name(): string; readOnly(): boolean; fields(): RtDataField[]; fieldByName(name: string): RtDataField; rowCount(): number; visRowCount(): number; rowById(rowid: number): number; internalRowId(row: number): number; getRowId(row: number): number; isLast(row: number): boolean; isMaster(row: number): boolean; levelRowOfRow(row: number): number; findRow(values: { [field: string]: any; }, from: number, to: number): number; findRows(values: { [field: string]: any; }, from: number, to: number): number[]; findDistinctRows(fields: string[], from: number, to: number): number[]; findNeareastRow(field: string, value: any): number; addFlags(owner: RtObject): DataFlags; removeFlags(owner: RtObject): void; getFlags(owner: RtObject): DataFlags; flagChanged(flags: DataFlags, row: number, flag: number): void; flagsChanged(flags: DataFlags, rows: number[], flag: number): void; flagAllChanged(flags: DataFlags, flag: number): void; getValue(row: number, field: string, fieldCheck: boolean): any; getProp(row: number, field: string, prop: string[], fieldCheck: boolean): any; getRowValues(row: number): RtRowValues; internalRowValues(row: number): RtRowValues; getValues(row: number, fields: string[], fieldCheck: boolean): RtRowValues; getFieldValues(field: string, from?: number, to?: number): any[]; updateValue(row: number, field: string, value: any): boolean; updateProp(row: number, field: string, prop: string[], value: any): boolean; getSummary(field: string): IRtFieldSummary; getGroupSummary(field: string, start: number, end: number): IRtFieldSummary; getRows(): DataRow[]; deleteRow(row: number, force: boolean): void; deleteRows(rows: number[], force: boolean): void; updateRow(row: number, values: RtRowValues, forceEmpty: boolean, forceUpdate: boolean): number; appendRow(values: RtRowValues): number; getRowState(row: number): RtDataRowState; internalRowState(row: number): RtDataRowState; canMove(): boolean; canSort(): boolean; } interface ISimpleDataView extends IDataView { fields(): RtDataField[]; containsField(field: string): boolean; checkField(field: string): void; fieldByName(field: string): RtDataField; getDataRow(row: number): DataRow; rowOfDataRow(dataRow: DataRow): number; getAllValues(rows: number[], fields: string[], fieldCheck: boolean): RtRowValues[]; } interface IRtFieldSummary { count: number; sum: number; min: number; max: number; avg: number; std: number; stdp: number; var: number; varp: number; ncount: number; navg: number; nstd: number; nstdp: number; nvar: number; nvarp: number; } declare class DataFlags extends RtObject { static readonly MAX_UI_FLAG = 15; static readonly MAX_USER_FLAG = 16; static isCheckedFlag(flag: number): boolean; static isCheckableFlag(flag: number): boolean; static isDetailedFlag(flag: number): boolean; static isUserFlag(flag: number): number; private _data; _rows: number[]; _checkedCount: number; constructor(data: ListDataSource<any>); protected _doDestory(): void; get count(): number; checkedCount(): number; isChecked(row: number): boolean; setChecked(row: number, checked: boolean): boolean; checkRows(rows: number[], checked: boolean): number[]; checkRange(row: number, count: number, checked: boolean): number[]; checkAll(checked: boolean): boolean; getCheckedRows(checked: boolean): number[]; isCheckable(row: number): boolean; setCheckable(row: number, checkable: boolean): boolean; setCheckables(rows: number[], checkable: boolean): number[]; setCheckableRange(row: number, count: number, checkable: boolean): number[]; setCheckableAll(checkable: boolean): boolean; getCheckableRows(checkable: boolean, rows: number[]): number[]; getSearchedRows(): number[]; isSearched(row: number): boolean; setSearched(row: number, searched: boolean): boolean; clearSearched(): boolean; isDetailed(row: number): boolean; setDetailed(row: number, detailed: boolean, exclusive: boolean): boolean; detailRows(rows: number[], detailed: boolean): number[]; detailRange(row: number, count: number, detailed: boolean): number[]; detailAll(detailed: boolean): boolean; getDetailedRows(detailed: boolean): number[]; hasUserFlag(row: number, flag: number): boolean; getUserFlaggedRows(flag: number, set: boolean): number[]; setUserFlag(row: number, flag: number, set: boolean): boolean; setUserFlags(rows: number[], flag: number, set: boolean): number[]; setUserFlagRange(row: number, count: number, flag: number, set: boolean): number[]; setUserFlagAll(flag: number, set: boolean): boolean; hasUiFlag(row: number, flag: number): boolean; getUiFlaggedRows(flag: number, set: boolean): number[]; setUiFlag(row: number, flag: number, set: boolean): boolean; setUiFlags(rows: number[], flag: number, set: boolean): number[]; setUiFlagRange(row: number, count: number, flag: number, set: boolean): number[]; setUiFlagAll(flag: number, set: boolean): boolean; private $_setFlag; private $_changeFlag; private $_changeRows; private $_changeRange; private $_changeAll; private $_getFlagged; } declare class DataFlagsCollection extends RtObject { private _data; private _flags; constructor(data: ListDataSource<any>); protected _doDestory(): void; isEmpty(): boolean; _rowAdded(row: number): void; _rowsAdded(rows: number[]): void; _rowRangeAdded(row: number, count: number): void; _cleared(oldCount: number): void; _rowDeleted(row: number): void; _rowsDeleted(rows: number[]): void; _rangeDeleted(row: number, count: number): void; _rowMoved(row: number, to: number): void; _rowsMoved(row: number, count: number, to: number): void; _reset(drows: DataRow[]): void; get(owner: RtObject): DataFlags; add(owner: RtObject): DataFlags; remove(owner: RtObject): void; } interface IListDataObjectListener { onDataFlagChanged?(data: IDataView, flags: DataFlags, row: number, flag: number): void; onDataFlagsChanged?(data: IDataView, flags: DataFlags, rows: number[], flag: number): void; onDataFlagAllChanged?(data: IDataView, flags: DataFlags, flag: number): void; } declare abstract class ListDataSource<T extends IListDataObjectListener> extends RtEventProvider<T> { static checkRow(dv: IDataView, row: number): void; static checkRow2(dv: IDataView, row: number, inclusive: boolean): void; static checkRows(dv: IDataView, rows: number[]): void; static getFieldValue(dv: ILayoutData, row: number, field: string): any; static setFieldValue(dv: ILayoutData, row: number, field: string, value: any): void; private _name; protected _flags: DataFlagsCollection; constructor(name: string); name(): string; abstract rowCount(): number; addFlags(owner: RtObject): DataFlags; removeFlags(owner: RtObject): void; getFlags(owner: RtObject): DataFlags; flagChanged(flags: DataFlags, row: number, flag: number): void; flagsChanged(flags: DataFlags, rows: number[], flag: number): void; flagAllChanged(flags: DataFlags, flag: number): void; abstract deleteRow(row: number, force: boolean): void; abstract deleteRows(rows: number[], force: boolean): void; } type ListDataWrapper = IDataView | IDataViewWrapper; interface ITemplateHtmlProvider { doc(): Document; getTemplateHtml(id: string): HTMLElement; } declare class RtParam { static create(name: string, defaultValue?: string, format?: string): RtParam; source: string; name: string; field: string; stock: boolean; default?: string; format?: string; constructor(source: string, name: string, defaultValue: string, format: string); } type RtParamValues = { [param: string]: any; }; interface IRtParamInflater { inflateParam(target: any, field: string, param: RtParam): any; inflateStock(target: any, field: string, param: RtParam): any; templateParams?: object; } type RtParamObject = { [key: string]: string | RtParamString; }; declare class RtParamString { static parse(s: any): RtParamString | any; static load(source: any): RtParamObject; private _params; private constructor(); get count(): number; get(index: number): RtParam | string; private _args; inflate(context: any, target: any, field: string, inflater: RtParamValues | IRtParamInflater): any; } declare enum RtRowType { NORMAL = "normal", TABLE = "table" } declare enum RtOrientation { HORIZONTAL = "horizontal", VERTICAL = "vertical" } declare enum RtScreenOrientation { PORTRAIT = "portrait", LANDSCAPE = "landscape" } declare enum RtItemsAlign { START = "start", CENTER = "center", END = "end" } declare enum RtHorizontalAlign { LEFT = "left", CENTER = "center", RIGHT = "right" } declare enum RtVerticalAlign { TOP = "top", MIDDLE = "middle", BOTTOM = "bottom" } declare enum RtItemsArrange { START = "start", END = "end", CENTER = "center", SPACE_BETWEEN = "spaceBetween", SPACE_AROUND = "spaceAround" } interface IRtIconSet { width: number; height: number; root?: string; icons: { [name: string]: string; }; } interface IRtIconInfo { width: number; height: number; url: string; } declare class RtIconSet extends RtObject { private _width; private _height; private _root; private _icons; constructor(config: IRtIconSet); get width(): number; get height(): number; getUrl(name: string): string; get(name: string): string; set(name: string, url: string): void; } declare enum RtSortDirection { ASCENDING = "ascending", DESCENDING = "descending" } interface IRtRowGroupContext { level: number; expanded: boolean; count: number; value: any; } interface IRtTemplateRowStyles { default?: StyleOrClass; alternate?: StyleOrClass; created?: StyleOrClass; updated?: StyleOrClass; deleted?: StyleOrClass; checked?: StyleOrClass; selected?: StyleOrClass; searched?: StyleOrClass; } interface IRtRowStyleArgs { control: RtControlOrWrapper; data: IDataViewWrapper; row: number; ctx: IRtRowGroupContext; } type RtRowStyleCallback = (args: IRtRowStyleArgs) => StyleOrClass; declare class RtRowStyles implements IRtTemplateRowStyles { callback: RtRowStyleCallback; default: StyleOrClass; alternate: StyleOrClass; created: StyleOrClass; updated: StyleOrClass; deleted: StyleOrClass; checked: StyleOrClass; selected: StyleOrClass; searched: StyleOrClass; } declare enum RtMode { DEFAULT = "default", CARD = "card" } declare enum RtRenderMode { DEFAULT = "default", PRE = "pre", FULL = "full" } type RtTextFormatter = (value: string) => string; type RtBooleanFormatter = (value: boolean) => string; type RtNumberFormatter = (value: number) => string; type RtDateFormatter = (date: Date) => string; declare enum RtRowClickAction { NONE = "none", CHECK = "check", COMMAND = "command", EXPAND = "expand", DETAIL = "detail", DETAILEX = "detailex", INFO = "info", EDIT = "edit", LINK = "link", SELECT = "select", MOVE = "move", MENU = "menu" } declare enum RtOverScrollEffect { NONE = "none", BALLOON = "balloon" } declare enum RtRowSwipeAction { NONE = "none", COMMAND = "command", PAGE = "page", TAP = "tap", INFO = "info", EDIT = "edit", ROW_BAR = "rowBar", ACTION_BAR = "actionBar" } declare enum RtRowChangeDirection { DEFAULT = "default", HORIZONTAL = "horizontal", VERTICAL = "vertical", BOTH = "both" } declare enum RtPanelType { FORM = "form", BUTTON = "button", SEARCH = "search" } declare enum RtButtonLabelPosition { NONE = "none", LEFT = "left", RIGHT = "right", TOP = "top", BOTTOM = "bottom" } interface IRtButtonEnableArgs { control: RtControl | RtWrapper<RtControl>; button: IRtButtonModel; } type RtButtonEnableCallback = (args: IRtButtonEnableArgs) => boolean; interface IRtButtonModel { name?: string; style?: StyleOrClass; label?: string; labelPosition?: RtButtonLabelPosition; shape?: string; shapeWidth?: number; shapeHeight?: number; imageUrl?: string; imageWidth?: number; imageHeight?: number; enabled?: boolean | RtButtonEnableCallback; } interface IRtOptionItemOwner extends ITemplateHtmlProvider { optionItemChanged(option: any): void; registerTemplate(name: string, template: any, vars: any, shared: boolean): TemplateType; getTemplate(template: string): TemplateType; } declare abstract class RtWrappableOptions<T extends RtWrappableObject> extends RtWrappableObject { private _owner; protected _defs: T; constructor(owner: IRtOptionItemOwner, defaults: T); protected abstract _doInitDefaults(): void; protected owner(): IRtOptionItemOwner; protected _changed(): void; } interface IRtSeriesValue { min?: number; max?: number; hasBelow?: boolean; values: number[]; } declare enum RtSlideDirection { DEFAULT = "default", RANDOM = "random", LEFT = "left", RIGHT = "right", UP = "up", DOWN = "down" } interface IRtFieldValue { field: string; value: any; } declare enum RtGroupIndentMode { ROW = "row", BODY = "body" } declare enum RtRowIndents { NONE = "none", PARENT = "parent", INNER = "inner" } interface IRtRowParamArgs { context: any; control: RtControlOrWrapper; row: number; field: string; values: any; value: any; } interface IRtShowPanelOptions { container: HTMLElement; left: string | number; top: string | number; width: string | number; height: string | number; callback: (model: any) => void; } interface IRendererScope { sortMarkVisible?: boolean; sortOrderVisible?: boolean; } declare enum RtBadgePosition { TOP_LEFT = "topLeft", TOP_RIGHT = "topRight", BOTTOM_LEFT = "bottomLeft", BOTTOM_RIGHT = "bottomRight" } interface IRtStyleCallbackArgs { row: number; value: any; } interface IEditContext { getValue(idOrField: string): any; setValue(idOrField: string, value: any): void; } interface ILayoutEditContext extends IEditContext { isVisible(id: string): boolean; setVisible(id: string, visible: boolean): void; } declare enum RtDataValueSourceType { JSON = "json", FIELD = "field", CSV = "csv", TSV = "tsv" } interface IRtDataValueSource { type?: RtDataValueSourceType; values: any; fieldMap?: { [prop: string]: string; }; reader?: RtDataValueReader; rowCount?: number; lengthField?: string; fieldHeader?: number; fieldCount?: number; startRow?: number; quoted?: boolean; multiTabs?: boolean; skipBlank?: boolean; trimLast?: boolean; } interface IListDataListener extends IListDataObjectListener { onDataValueUpdated?(data: IDataView, row: number, field: string, prop: string[], value: any, oldValue: RtRowValues): void; onDataRowUpdated?(data: IDataView, row: number, oldValues: RtRowValues): void; onDataRowsUpdated?(data: IDataView, rows: number[], oldValues: RtRowValues[]): void; onDataRowAdded?(data: IDataView, row: number): void; onDataRowsAdded?(data: IDataView, row: number, count: number): void; onDataCleared?(data: IDataView, oldCount: number): void; onDataLoaded?(data: IDataView, oldCount: number): void; onDataRowDeleted?(data: IDataView, row: number, rowid: number): void; onDataRowsDeleted?(data: IDataView, rows: number[], rowids: number[]): void; onDataRangeDeleted?(data: IDataView, row: number, count: number): void; onDataRowMoved?(data: IDataView, from: number, to: number): void; onDataRowsMoved?(data: IDataView, from: number, count: number, to: number): void; onDataCountChanged?(data: IDataView, newCount: number, oldCount: number): void; onDataStateChanged?(data: IDataView, rowId: number, oldState: RtDataRowState): void; onDataStatesChanged?(data: IDataView, rowIds: number[], oldStates: RtDataRowState[]): void; onDataChanged?(data: IDataView): void; onDataEndUpdated?(data: IDataView, newCount: number, oldCount: number): void; } type DataOrWrapper$2 = ListData | IDataViewWrapper; type RtDataValidator = (dv: DataOrWrapper$2, row: number, values: any) => string | { field: string; message: string; }; interface IRtDataOptions { name?: string; title?: string; readOnly?: boolean; fields?: (IRtDataField | string)[]; derivedFields?: IRtDerivedField[]; valuesByField?: boolean; stateful?: boolean; softDeleting?: boolean; restorable?: boolean; validator?: RtDataValidator; } declare abstract class ListData extends ListDataSource<IListDataListener> implements ISimpleDataView { private _wrapper; private _title; private _readOnly; private _stateful; private _softDeleting; private _restorable; private _validator; private _fields; private _derivedFields; private _fieldNames; private _fieldMap; private _derivedMap; protected _rows: DataRow[]; private _summaries; private _prevCount; private _evLock; private _args; constructor(name: string,