core-cde
Version:
122 lines (121 loc) • 4.21 kB
TypeScript
import { TextUnWrappingAction, TextWrappingAction } from '../actions/Text.actions';
import { BaseWidget, BaseWidgetJSON } from '../BaseWidget';
import { State } from '../State';
import { TypeComponent } from '../TypeComponent';
export declare enum ETextSize {
s14px = "14",
s16px = "16",
s18px = "18",
s20px = "20",
s22px = "22",
s24px = "24",
s26px = "26",
s28px = "28",
s30px = "30",
s32px = "32",
s34px = "34",
s36px = "36",
s38px = "38",
s40px = "40"
}
export declare enum ETextAlign {
left = "left",
center = "center",
right = "right",
justify = "justify"
}
export declare enum ETextStyl {
bold = "bold",
italic = "italic",
underline = "underline",
strikethrough = "strikethrough",
inlineCode = "inlineCode"
}
export declare enum ETextColor {
black = "black",
red = "red",
green = "green",
orange = "orange",
blue = "blue",
yellow = "yellow",
orangeDark = "orangeDark",
yellowDark = "yellowDark",
purpleDark = "purpleDark",
pinkDark = "pinkDark",
grayDark = "grayDark",
redDark = "redDark"
}
export declare enum ETextBgColor {
bgRed = "bgRed",
bgBlue = "bgBlue",
bgGreen = "bgGreen",
bgOrange = "bgOrange",
bgYellow = "bgYellow",
bgRedDark = "bgRedDark",
bgOrangeDark = "bgOrangeDark",
bgYellowDark = "bgYellowDark",
bgPurpleDark = "bgPurpleDark",
bgPinkDark = "bgPinkDark",
bgGrayDark = "bgGrayDark"
}
export declare class ListStyle {
position: [number, number];
style: ETextStyl[];
}
export interface TextJSON extends BaseWidgetJSON {
textAlign: ETextAlign;
value: string;
styles: ListStyle[];
}
export declare class Text extends BaseWidget {
textAlign: ETextAlign;
value: string;
valueHTML: string;
styles: ListStyle[];
selection: [number, number];
constructor(type: TypeComponent, id: string);
/**
* Получить объект класса Text из json
* @param json валидная json строка
* @returns объект класса Text
*/
static fromJSON(json: string): Text;
/**
* Получить объект для сериализации
* @returns Объект для сериализации
*/
toJSON(): TextJSON;
/**
* Пересчитать позиции стилей
* @param text Текст
* @param listStyle Список стилей для текста
* @returns Пересчитанный список стилей
*/
recPositions(text: string, listStyle: ListStyle[]): ListStyle[];
applyStyles(): void;
private replaceInRange;
/**
* Получить из массива символов со стилями список стилей
* @param posCharStyl массив позиций символов со стилями
* @returns список стилей
*/
static groupPosByStyle(posCharStyl: ETextStyl[][]): ListStyle[];
/**
* Разбиваем текст на позиции со своими стилями
* @param text Текст
* @param listStyle Стили текста
* @returns Массив стилей для каждого символа
*/
static getPosCharStl(text: string, listStyle: ListStyle[]): ETextStyl[][];
/**
* Добавить стиль к массиву символов со стилями
* @param listTextStyl массив позиций символов и их стили
* @param position позиция вставки символов
* @param style стиль
* @returns массив позиций символов со стилями
*/
static addStyle(listTextStyl: ETextStyl[][], position: [number, number], style: ETextStyl): ETextStyl[][];
static composeUnWrapAction(widgetId: string, store: any): TextUnWrappingAction;
static composeWrapAction(newIdWidget: string, position: number, widgetId: string, store: any): TextWrappingAction;
static isText(state: State): boolean;
}