@hufe921/canvas-editor 0.9.47 → 0.9.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,6 +79,7 @@ export declare class Command {
79
79
  executeSetGroup: CommandAdapt['setGroup'];
80
80
  executeDeleteGroup: CommandAdapt['deleteGroup'];
81
81
  executeLocationGroup: CommandAdapt['locationGroup'];
82
+ executeSetControlValue: CommandAdapt['setControlValue'];
82
83
  getCatalog: CommandAdapt['getCatalog'];
83
84
  getImage: CommandAdapt['getImage'];
84
85
  getOptions: CommandAdapt['getOptions'];
@@ -94,5 +95,6 @@ export declare class Command {
94
95
  getSearchNavigateInfo: CommandAdapt['getSearchNavigateInfo'];
95
96
  getLocale: CommandAdapt['getLocale'];
96
97
  getGroupIds: CommandAdapt['getGroupIds'];
98
+ getControlValue: CommandAdapt['getControlValue'];
97
99
  constructor(adapt: CommandAdapt);
98
100
  }
@@ -7,6 +7,7 @@ import { TitleLevel } from '../../dataset/enum/Title';
7
7
  import { VerticalAlign } from '../../dataset/enum/VerticalAlign';
8
8
  import { ICatalog } from '../../interface/Catalog';
9
9
  import { DeepRequired } from '../../interface/Common';
10
+ import { IGetControlValueOption, IGetControlValueResult, ISetControlOption } from '../../interface/Control';
10
11
  import { IAppendElementListOption, IDrawImagePayload, IForceUpdateOption, IGetImageOption, IGetValueOption, IPainterOption } from '../../interface/Draw';
11
12
  import { IEditorData, IEditorHTML, IEditorOption, IEditorResult, IEditorText } from '../../interface/Editor';
12
13
  import { IElement } from '../../interface/Element';
@@ -123,4 +124,6 @@ export declare class CommandAdapt {
123
124
  deleteGroup(groupId: string): void;
124
125
  getGroupIds(): Promise<string[]>;
125
126
  locationGroup(groupId: string): void;
127
+ getControlValue(payload: IGetControlValueOption): IGetControlValueResult | null;
128
+ setControlValue(payload: ISetControlOption): void;
126
129
  }
@@ -83,6 +83,8 @@ export declare class Draw {
83
83
  private scrollObserver;
84
84
  private selectionObserver;
85
85
  private imageObserver;
86
+ private LETTER_REG;
87
+ private WORD_LIKE_REG;
86
88
  private rowList;
87
89
  private pageRowList;
88
90
  private painterStyle;
@@ -92,6 +94,7 @@ export declare class Draw {
92
94
  private lazyRenderIntersectionObserver;
93
95
  private printModeData;
94
96
  constructor(rootContainer: HTMLElement, options: DeepRequired<IEditorOption>, data: IEditorData, listener: Listener, eventBus: EventBus<EventBusMap>, override: Override);
97
+ getLetterReg(): RegExp;
95
98
  getMode(): EditorMode;
96
99
  setMode(payload: EditorMode): void;
97
100
  isReadonly(): boolean;
@@ -1,4 +1,4 @@
1
- import { IControlInitOption, IControlInstance } from '../../../interface/Control';
1
+ import { IControlInitOption, IControlInstance, IGetControlValueOption, IGetControlValueResult, ISetControlOption } from '../../../interface/Control';
2
2
  import { IEditorData } from '../../../interface/Editor';
3
3
  import { IElement, IElementPosition } from '../../../interface/Element';
4
4
  import { IRange } from '../../../interface/Range';
@@ -37,5 +37,7 @@ export declare class Control {
37
37
  setValue(data: IElement[]): number;
38
38
  keydown(evt: KeyboardEvent): number;
39
39
  cut(): number;
40
+ getValueByConceptId(payload: IGetControlValueOption): IGetControlValueResult;
41
+ setValueByConceptId(payload: ISetControlOption): void;
40
42
  }
41
43
  export {};
@@ -1,4 +1,4 @@
1
- import { IControlInstance } from '../../../../interface/Control';
1
+ import { IControlContext, IControlInstance } from '../../../../interface/Control';
2
2
  import { IElement } from '../../../../interface/Element';
3
3
  import { Control } from '../Control';
4
4
  export declare class CheckboxControl implements IControlInstance {
@@ -9,7 +9,7 @@ export declare class CheckboxControl implements IControlInstance {
9
9
  getCode(): string | null;
10
10
  getValue(): IElement[];
11
11
  setValue(): number;
12
- setSelect(): void;
12
+ setSelect(context?: IControlContext): void;
13
13
  keydown(evt: KeyboardEvent): number;
14
14
  cut(): number;
15
15
  }
@@ -1,4 +1,4 @@
1
- import { IControlInstance } from '../../../../interface/Control';
1
+ import { IControlContext, IControlInstance } from '../../../../interface/Control';
2
2
  import { IElement } from '../../../../interface/Element';
3
3
  import { Control } from '../Control';
4
4
  export declare class SelectControl implements IControlInstance {
@@ -13,8 +13,8 @@ export declare class SelectControl implements IControlInstance {
13
13
  setValue(): number;
14
14
  keydown(evt: KeyboardEvent): number;
15
15
  cut(): number;
16
- clearSelect(): number;
17
- setSelect(code: string): void;
16
+ clearSelect(context?: IControlContext): number;
17
+ setSelect(code: string, context?: IControlContext): void;
18
18
  private _createSelectPopupDom;
19
19
  awake(): void;
20
20
  destroy(): void;
@@ -1,4 +1,4 @@
1
- import { IControlInstance } from '../../../../interface/Control';
1
+ import { IControlContext, IControlInstance } from '../../../../interface/Control';
2
2
  import { IElement } from '../../../../interface/Element';
3
3
  import { Control } from '../Control';
4
4
  export declare class TextControl implements IControlInstance {
@@ -7,7 +7,8 @@ export declare class TextControl implements IControlInstance {
7
7
  constructor(element: IElement, control: Control);
8
8
  getElement(): IElement;
9
9
  getValue(): IElement[];
10
- setValue(data: IElement[]): number;
10
+ setValue(data: IElement[], context?: IControlContext): number;
11
+ clearValue(context?: IControlContext): number;
11
12
  keydown(evt: KeyboardEvent): number;
12
13
  cut(): number;
13
14
  }
@@ -6,6 +6,7 @@ export interface IMeasureWordResult {
6
6
  endElement: IElement;
7
7
  }
8
8
  export declare class TextParticle {
9
+ private draw;
9
10
  private ctx;
10
11
  private curX;
11
12
  private curY;
@@ -6,3 +6,15 @@ export declare const NBSP = " ";
6
6
  export declare const NON_BREAKING_SPACE = "&nbsp;";
7
7
  export declare const PUNCTUATION_LIST: string[];
8
8
  export declare const maxHeightRadioMapping: Record<MaxHeightRatio, number>;
9
+ export declare const LETTER_CLASS: {
10
+ ENGLISH: string;
11
+ SPANISH: string;
12
+ FRENCH: string;
13
+ GERMAN: string;
14
+ RUSSIAN: string;
15
+ PORTUGUESE: string;
16
+ ITALIAN: string;
17
+ DUTCH: string;
18
+ SWEDISH: string;
19
+ GREEK: string;
20
+ };
@@ -1,8 +1,6 @@
1
1
  export declare const NUMBER_REG: RegExp;
2
- export declare const LETTER_REG: RegExp;
3
2
  export declare const NUMBER_LIKE_REG: RegExp;
4
3
  export declare const CHINESE_REG: RegExp;
5
- export declare const WORD_LIKE_REG: RegExp;
6
4
  export declare const SURROGATE_PAIR_REG: RegExp;
7
5
  export declare const EMOJI_REG: RegExp;
8
6
  export declare const UNICODE_SYMBOL_REG: RegExp;
@@ -27,6 +27,7 @@ import { EventBus } from './core/event/eventbus/EventBus';
27
27
  import { EventBusMap } from './interface/EventBus';
28
28
  import { IRangeStyle } from './interface/Listener';
29
29
  import { Override } from './core/override/Override';
30
+ import { LETTER_CLASS } from './dataset/constant/Common';
30
31
  export default class Editor {
31
32
  command: Command;
32
33
  listener: Listener;
@@ -37,5 +38,5 @@ export default class Editor {
37
38
  use: UsePlugin;
38
39
  constructor(container: HTMLDivElement, data: IEditorData | IElement[], options?: IEditorOption);
39
40
  }
40
- export { Editor, RowFlex, VerticalAlign, EditorZone, EditorMode, ElementType, ControlType, EditorComponent, EDITOR_COMPONENT, PageMode, ImageDisplay, Command, KeyMap, BlockType, PaperDirection, TableBorder, TdBorder, MaxHeightRatio, NumberType, TitleLevel, ListType, ListStyle, WordBreak };
41
+ export { EDITOR_COMPONENT, LETTER_CLASS, Editor, RowFlex, VerticalAlign, EditorZone, EditorMode, ElementType, ControlType, EditorComponent, PageMode, ImageDisplay, Command, KeyMap, BlockType, PaperDirection, TableBorder, TdBorder, MaxHeightRatio, NumberType, TitleLevel, ListType, ListStyle, WordBreak };
41
42
  export type { IElement, IEditorData, IEditorOption, IEditorResult, IContextMenuContext, IRegisterContextMenu, IWatermark, INavigateInfo, IBlock, ILang, ICatalog, ICatalogItem, IRangeStyle };
@@ -1,6 +1,7 @@
1
1
  import { ControlType } from '../dataset/enum/Control';
2
2
  import { ICheckbox } from './Checkbox';
3
3
  import { IElement } from './Element';
4
+ import { IRange } from './Range';
4
5
  export interface IValueSet {
5
6
  value: string;
6
7
  code: string;
@@ -23,6 +24,8 @@ export interface IControlBasic {
23
24
  conceptId?: string;
24
25
  prefix?: string;
25
26
  postfix?: string;
27
+ minWidth?: number;
28
+ underline?: boolean;
26
29
  }
27
30
  export declare type IControl = IControlBasic & Partial<IControlSelect> & Partial<IControlCheckbox>;
28
31
  export interface IControlOption {
@@ -48,3 +51,18 @@ export interface IControlInstance {
48
51
  keydown(evt: KeyboardEvent): number;
49
52
  cut(): number;
50
53
  }
54
+ export interface IControlContext {
55
+ range?: IRange;
56
+ elementList?: IElement[];
57
+ }
58
+ export interface IGetControlValueOption {
59
+ conceptId: string;
60
+ }
61
+ export declare type IGetControlValueResult = {
62
+ value: string | null;
63
+ innerText: string | null;
64
+ }[];
65
+ export interface ISetControlOption {
66
+ conceptId: string;
67
+ value: string;
68
+ }
@@ -56,6 +56,7 @@ export interface IEditorOption {
56
56
  historyMaxRecordCount?: number;
57
57
  printPixelRatio?: number;
58
58
  maskMargin?: IMargin;
59
+ letterClass?: string[];
59
60
  wordBreak?: WordBreak;
60
61
  header?: IHeader;
61
62
  footer?: IFooter;
@@ -102,6 +102,7 @@ export interface IElementPosition {
102
102
  rowNo: number;
103
103
  ascent: number;
104
104
  lineHeight: number;
105
+ left: number;
105
106
  metrics: IElementMetrics;
106
107
  isFirstLetter: boolean;
107
108
  isLastLetter: boolean;
@@ -3,6 +3,7 @@ import { IElement, IElementMetrics } from './Element';
3
3
  export declare type IRowElement = IElement & {
4
4
  metrics: IElementMetrics;
5
5
  style: string;
6
+ left?: number;
6
7
  };
7
8
  export interface IRow {
8
9
  width: number;
@@ -12,7 +12,7 @@ export declare function mergeObject<T>(source: T, target: T): T;
12
12
  export declare function nextTick(fn: Function): void;
13
13
  export declare function convertNumberToChinese(num: number): string;
14
14
  export declare function cloneProperty<T>(properties: (keyof T)[], sourceElement: T, targetElement: T): void;
15
- export declare function omitObject<T>(object: T, keys: (keyof T)[]): T;
15
+ export declare function omitObject<T>(object: T, omitKeys: (keyof T)[]): T;
16
16
  export declare function convertStringToBase64(input: string): string;
17
17
  export declare function findScrollContainer(element: HTMLElement): HTMLElement;
18
18
  export declare function isArrayEqual(arr1: unknown[], arr2: unknown[]): boolean;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@hufe921/canvas-editor",
3
3
  "author": "Hufe",
4
4
  "license": "MIT",
5
- "version": "0.9.47",
5
+ "version": "0.9.49",
6
6
  "description": "rich text editor by canvas/svg",
7
7
  "publishConfig": {
8
8
  "registry": "https://registry.npmjs.org/",