UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

129 lines (128 loc) 4.26 kB
/** * DevExpress HTML/JS Reporting (viewer\editing\editingField.d.ts) * Version: 25.2.3 * Build date: Dec 15, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { ArrayPropertyChangedEventArgs, BaseRenderingModel, IViewModel, PropertyChangedEventArgs } from '@devexpress/analytics-core/analytics-serializer-native'; import { ISerializationInfo } from '@devexpress/analytics-core/analytics-utils-native'; import { PreviewPage } from '../internal/_page'; import { IBrickNode } from '../utils/utils'; import { GlyphStyle } from './models/checkEditingField'; import { EditingFieldBase } from './models/editingFieldBase'; export interface IBounds { left: number; top: number; width: number; height: number; offset: { x: number; y: number; }; } export declare enum ImageAlignment { TopLeft = 1, TopCenter = 2, TopRight = 3, MiddleLeft = 4, MiddleCenter = 5, MiddleRight = 6, BottomLeft = 7, BottomCenter = 8, BottomRight = 9 } export declare enum ImageSizeMode { Normal = 0, StretchImage = 1, ZoomImage = 4, Squeeze = 5, Cover = 7 } export interface IImageSourceBrickData { image: string; imageType: string; } export interface IImageBrickData extends IImageSourceBrickData { alignment: ImageAlignment; sizeMode: ImageSizeMode; } export interface IEditingFieldSerializedModel { id: string; groupID: string; readOnly: boolean; editorName: string; editValue: any | IImageBrickData; htmlValue: string; pageIndex: number; brickIndeces: string; type: string; bounds: IBounds; brickOptions: { rtl: boolean; rtlLayout: boolean; formatString: string; wordWrap: boolean; lineSpacing: number; style: string; checkBoxBounds?: IBounds; characterCombBounds?: IBounds[]; checkBoxGlyphOptions?: { customGlyphs: { key: number; value: IImageSourceBrickData; }[]; glyphStyle: GlyphStyle; }; }; } export interface IEditingFieldModelBase { editingFieldElement: HTMLElement; } export interface IEditingFieldModel extends IEditingFieldModelBase { template: string; field: EditingField; canActivateEditor: boolean; activateEditor: (viewModel: any, e: any) => void; hideEditor?: (shouldCommit: boolean) => void; active?: boolean; onClick?: (viewModel: any, e: any) => void; dispose?: () => void; } export interface IEditingFieldHtmlProvider { getEditingFieldHtml: (value: unknown, editingFieldIndex: number) => PromiseLike<string>; } export declare const sizing: ISerializationInfo; export declare const imageAlignment: ISerializationInfo; export interface IEditValueContainerViewModel<T = unknown> extends IViewModel { readOnly: boolean; editValue: T; editorValue: T; htmlValue: string; } export declare class EditingField<T = unknown> extends BaseRenderingModel<IEditValueContainerViewModel<T>> { protected _fieldModel: IEditingFieldSerializedModel; private _needToUseHtml; private _index; private _htmlProvider; constructor(model: IEditingFieldSerializedModel, index: number, htmlProvider: IEditingFieldHtmlProvider); private _refreshHtmlValue; setEditValue(newVal: T): void; getEditValue(): T; onPropertyChanged(args: PropertyChangedEventArgs<EditingField> | ArrayPropertyChangedEventArgs<EditingField>): void; editingFieldChanged(field: EditingField, oldVal: T, newVal: T): T; createViewModel(): IEditValueContainerViewModel<T>; updateViewModel(args: PropertyChangedEventArgs<EditingField<T>> | ArrayPropertyChangedEventArgs<EditingField<T>>): void; readOnly: boolean; editValue: T; brick: IBrickNode; _editorValue: T; htmlValue: string; editorName(): string; id(): string; groupID(): string; pageIndex(): number; type(): string; model(): IEditingFieldSerializedModel; createModel(page: PreviewPage, pageWidth: number, pageHeight: number, editingFieldsProvider: () => EditingField[], bounds: IBounds): EditingFieldBase; }