@ones-editor/editor 1.1.4 → 1.1.5

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.
Files changed (31) hide show
  1. package/@ones-editor/child-block-tracker/src/event-tracker.d.ts +3 -1
  2. package/@ones-editor/context-menu/src/helper/actions.d.ts +1 -0
  3. package/@ones-editor/context-menu/src/helper/utils.d.ts +2 -0
  4. package/@ones-editor/core/package.json +1 -1
  5. package/@ones-editor/core/src/core/composition/clipboard/copy.d.ts +1 -1
  6. package/@ones-editor/core/src/core/composition/editor-input.d.ts +22 -1
  7. package/@ones-editor/core/src/core/composition/index.d.ts +1 -1
  8. package/@ones-editor/core/src/core/containers/root-container.d.ts +3 -0
  9. package/@ones-editor/core/src/core/doc/doc.d.ts +2 -0
  10. package/@ones-editor/core/src/core/editor-doc/editor-doc.d.ts +1 -0
  11. package/@ones-editor/core/src/core/input-handler/actions.d.ts +2 -0
  12. package/@ones-editor/core/src/core/input-handler/input-handler.d.ts +5 -4
  13. package/@ones-editor/core/src/core/selection/editor-selection.d.ts +1 -1
  14. package/@ones-editor/core/src/core/types.d.ts +1 -25
  15. package/@ones-editor/core/src/utils/index.d.ts +0 -1
  16. package/@ones-editor/drawio-embed/src/helper/index.d.ts +1 -1
  17. package/@ones-editor/misc/src/index.d.ts +1 -1
  18. package/@ones-editor/misc/src/re-auth/index.d.ts +18 -0
  19. package/@ones-editor/misc/src/re-auth/locale/en-us.d.ts +6 -0
  20. package/@ones-editor/misc/src/re-auth/locale/index.d.ts +1 -0
  21. package/@ones-editor/misc/src/re-auth/locale/ja-jp.d.ts +6 -0
  22. package/@ones-editor/misc/src/re-auth/locale/zh-cn.d.ts +6 -0
  23. package/@ones-editor/misc/src/re-auth/ui/toolbar.d.ts +10 -0
  24. package/@ones-editor/sharedb-doc/src/doc/auth-connection.d.ts +4 -0
  25. package/@ones-editor/sharedb-doc/src/doc/sharedb-client.d.ts +2 -0
  26. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +2 -0
  27. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  28. package/dist/index.js +166 -166
  29. package/package.json +2 -2
  30. package/@ones-editor/core/src/utils/blob-to-string.d.ts +0 -1
  31. package/@ones-editor/misc/src/is-secure-env.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
2
  import { BlockElement, OnesEditor, OnesEditorDocCallbacks } from '../../../@ones-editor/core';
3
- export type ChildBlockAction = 'text-change' | 'data-change';
3
+ export type ChildBlockAction = 'text-change' | 'data-change' | 'insert' | 'remove';
4
4
  export interface ChildBlockEvents {
5
5
  change: (editor: OnesEditor, parentBlock: BlockElement, childBlock: BlockElement, action: ChildBlockAction) => void;
6
6
  }
@@ -10,5 +10,7 @@ export declare class ChildBlockEventTracker extends TypedEmitter<ChildBlockEvent
10
10
  handleChild(containerId: string, blockIndex: number, action: ChildBlockAction): void;
11
11
  onUpdateBlockData(containerId: string, blockIndex: number): void;
12
12
  onUpdateBlockText(containerId: string, blockIndex: number): void;
13
+ onInsertBlock(containerId: string, blockIndex: number): void;
14
+ onDeleteBlock(containerId: string, blockIndex: number): void;
13
15
  destroy(): void;
14
16
  }
@@ -3,3 +3,4 @@ export declare function handleCopyAction(editor: OnesEditor): Promise<void>;
3
3
  export declare function handleCopyMarkdownAction(editor: OnesEditor): Promise<void>;
4
4
  export declare function handleCutAction(editor: OnesEditor): Promise<void>;
5
5
  export declare function handleSaveImageFromImageEmbedTypeBlock(editor: OnesEditor, block: BlockElement): Promise<void>;
6
+ export declare function handleMockPasteAction(editor: OnesEditor): void;
@@ -1,3 +1,5 @@
1
1
  export declare function blobToString(blob: Blob): Promise<string>;
2
2
  export declare function isClipboardEmpty(): Promise<boolean>;
3
3
  export declare function saveAs(resourceUrl: string, resourceId: string): void;
4
+ export declare function blob2String(blob: Blob): Promise<string>;
5
+ export declare function getClipboardData(): Promise<DataTransfer>;
@@ -12,7 +12,7 @@
12
12
  "@types/lodash.isequal": "^4.5.5",
13
13
  "@types/lodash.merge": "^4.6.7",
14
14
  "@types/string-template": "^1.0.0",
15
- "@types/lodash-es": "4.17.7"
15
+ "@types/lodash-es": "4.17.8"
16
16
  },
17
17
  "types": "src/index.d.ts"
18
18
  }
@@ -4,5 +4,5 @@ export declare function injectDocToHtmlFragment(htmlFragment: string, doc: DocOb
4
4
  export declare function addMetaToDoc(editor: OnesEditor, doc: DocObject): void;
5
5
  export type BeforeCopyCallback = (editor: OnesEditor, event: ClipboardEvent, doc: DocObject) => DocObject | boolean | undefined;
6
6
  export declare function editorCopy(editor: OnesEditor, event: ClipboardEvent, beforeCopy?: BeforeCopyCallback): void;
7
- export declare function editorCopyWithoutEvent(editor: OnesEditor): void;
7
+ export declare function editorCopyWithoutEvent(editor: OnesEditor, beforeCopy?: BeforeCopyCallback): void;
8
8
  export declare function editorCopyBlock(editor: OnesEditor, block: BlockElement): Promise<boolean>;
@@ -1,5 +1,26 @@
1
1
  import { OnesEditorInput, OnesEditor, OnesEditorInputHandler, OnesEditorUndoAction, RemoteChangeType, PasteOptions } from '../types';
2
- import type { EditorInputCallbacks } from '../types';
2
+ import { DocObject } from '../doc';
3
+ export interface EditorInputCallbacks {
4
+ onInsertText: (event: Event, text: string) => void;
5
+ onCompositionStart: (event: Event) => void;
6
+ onUpdateCompositionText: (event: Event, text: string, end: boolean) => void;
7
+ onKeyDown: (event: KeyboardEvent) => boolean;
8
+ onChanged: (action: OnesEditorUndoAction) => void;
9
+ onRemoteChanged: (type: RemoteChangeType) => void;
10
+ onFocus: () => void;
11
+ onBlur: () => void;
12
+ onPaste: (event: ClipboardEvent) => void;
13
+ onPasteText: (text: string, options?: PasteOptions) => void;
14
+ onCopy: (event: ClipboardEvent) => void;
15
+ onCut: (event: ClipboardEvent) => void;
16
+ addHandler: (handler: OnesEditorInputHandler) => void;
17
+ removeHandler: (handler: OnesEditorInputHandler) => void;
18
+ defaultInsertText: (editor: OnesEditor, containerId: string, blockIndex: number, offset: number, text: string) => void;
19
+ defaultHandleKeydown: (editor: OnesEditor, event: KeyboardEvent) => boolean;
20
+ destroy: () => void;
21
+ pasteDoc: (doc: DocObject) => Promise<void>;
22
+ forEach: (callback: (handler: OnesEditorInputHandler) => void) => void;
23
+ }
3
24
  export declare class EditorInput implements OnesEditorInput {
4
25
  editor: OnesEditor;
5
26
  composing: boolean;
@@ -1,2 +1,2 @@
1
- export { editorCopyBlock, addMetaToDoc, injectDocToHtmlFragment, editorCopyWithoutEvent } from './clipboard/copy';
1
+ export { editorCopyBlock, addMetaToDoc, injectDocToHtmlFragment } from './clipboard/copy';
2
2
  export { copyResourcesFromDoc } from './clipboard/resources/copy-resources';
@@ -4,6 +4,7 @@ export declare class RootContainer {
4
4
  private editor;
5
5
  rootContainer: ContainerElement;
6
6
  resizeObserver: ResizeObserver;
7
+ private isMoved;
7
8
  constructor(editor: OnesEditor, rootContainer: ContainerElement);
8
9
  private bindEvents;
9
10
  private unbindEvents;
@@ -16,6 +17,8 @@ export declare class RootContainer {
16
17
  handleMouseDown: (event: MouseEvent) => void;
17
18
  handleMouseMove: (event: MouseEvent) => void;
18
19
  handleMouseUp: (event: MouseEvent) => void;
20
+ handleCaptureClick: (event: MouseEvent) => void;
21
+ handleCaptureDbClick: (event: MouseEvent) => void;
19
22
  reload(): void;
20
23
  }
21
24
  export declare function createRootContainer(editor: OnesEditor): RootContainer;
@@ -109,6 +109,7 @@ export interface OnesEditorDocCallbacks {
109
109
  onCustomMessage?: (msg: unknown) => void;
110
110
  onStatusChanged?: (status: OnesEditorDocStatus) => void;
111
111
  onError?: (error: Error) => void;
112
+ onAuthRecover?: () => void;
112
113
  }
113
114
  export interface UploadResourceOptions {
114
115
  onProgress?: (progress: number) => void;
@@ -221,6 +222,7 @@ export interface OnesEditorDoc extends OnesEditorDocServer {
221
222
  recognizeLink?: (link: string) => Promise<RecognizeLinkResult>;
222
223
  beginBatchUpdate: () => number;
223
224
  endBatchUpdate: () => number;
225
+ triggerReAuth?: () => void;
224
226
  }
225
227
  export interface OnesEditorDocHistoryData {
226
228
  user: {
@@ -41,6 +41,7 @@ export default class EditorDoc extends EventCallbacks<OnesEditorDocCallbacks> im
41
41
  broadcastMessage(data: unknown): void;
42
42
  getUser(): import("../doc").OnesEditorUser;
43
43
  getRemoteUsers(): import("../doc").OnesEditorRemoteUsers;
44
+ triggerReAuth(): void | undefined;
44
45
  destroy(): void;
45
46
  getServerMeta(): OnesEditorDocServerMeta;
46
47
  reset(doc: OnesEditorDoc): void;
@@ -4,4 +4,6 @@ export declare function editorHandleDelete(editor: OnesEditor, event: Event): bo
4
4
  export declare function editorHandleBackspace(editor: OnesEditor, event: Event): boolean;
5
5
  export declare function editorHandleInsertBr(editor: OnesEditor, event: Event): boolean;
6
6
  export declare function editorHandlePastePlainText(editor: OnesEditor): boolean;
7
+ export declare function isSelectedCodeTextBlock(editor: OnesEditor): boolean;
8
+ export declare function getSelectedCodeBlockMarkdown(editor: OnesEditor, codeText: string): string;
7
9
  export declare function editorHandleCopyMarkdown(editor: OnesEditor): boolean;
@@ -1,6 +1,6 @@
1
- import { OnesEditor, OnesEditorDocs, OnesEditorInputHandler, OnesEditorUndoAction, RemoteChangeType, PasteOptions } from '../types';
1
+ import { EditorInputCallbacks } from '../composition/editor-input';
2
+ import { OnesEditor, OnesEditorInputHandler, OnesEditorUndoAction, RemoteChangeType, PasteOptions } from '../types';
2
3
  import { DocObject } from '../doc';
3
- import type { EditorInputCallbacks } from '../types';
4
4
  export declare class EditorInputHandlers implements EditorInputCallbacks {
5
5
  editor: OnesEditor;
6
6
  handlers: OnesEditorInputHandler[];
@@ -11,7 +11,9 @@ export declare class EditorInputHandlers implements EditorInputCallbacks {
11
11
  onRemoteChanged(type: RemoteChangeType): void;
12
12
  onCompositionStart(event: Event): void;
13
13
  onUpdateCompositionText(event: Event, text: string, end: boolean): void;
14
+ private hookExecutionAttempt;
14
15
  onCopy(event: ClipboardEvent): void;
16
+ onCopyWithoutEvent(): void;
15
17
  onCut(event: ClipboardEvent): void;
16
18
  onPaste(event: ClipboardEvent): void;
17
19
  onPasteText: (text: string, options?: PasteOptions) => Promise<void>;
@@ -26,8 +28,7 @@ export declare class EditorInputHandlers implements EditorInputCallbacks {
26
28
  defaultInsertText(editor: OnesEditor, containerId: string, blockIndex: number, offset: number, text: string): void;
27
29
  defaultHandleKeydown(editor: OnesEditor, event: KeyboardEvent): boolean;
28
30
  pasteDoc(doc: DocObject): Promise<void>;
29
- pasteDocs(docs: OnesEditorDocs, event: ClipboardEvent | null, files: File[]): Promise<void>;
31
+ private pasteDocs;
30
32
  destroy(): void;
31
33
  forEach(cb: (handler: OnesEditorInputHandler) => void): void;
32
- private getClipboardData;
33
34
  }
@@ -14,7 +14,7 @@ export declare class EditorSelection implements OnesEditorSelection {
14
14
  getFocusedBlock(): BlockElement;
15
15
  getStartBlock(): BlockElement;
16
16
  getEndBlock(): BlockElement;
17
- selectBlock(block: BlockElement, start: number, end?: number): void;
17
+ selectBlock(block: BlockElement, start: number, end?: number, options?: ChangeSelectionOptions): void;
18
18
  setSelection(anchor: BlockPosition, focus?: BlockPosition, options?: ChangeSelectionOptions): SelectionRange;
19
19
  setRange(range: SelectionRange, options?: ChangeSelectionOptions): SelectionRange;
20
20
  updateSelection(): void;
@@ -391,7 +391,6 @@ export interface OnesEditorOptionalOptions {
391
391
  colors?: string[];
392
392
  scrollContainer?: HTMLElement;
393
393
  enableComments?: boolean;
394
- enableContextMenu?: boolean;
395
394
  settingsProvider?: OnesEditorSettingsProvider;
396
395
  }
397
396
  export interface OnesEditorOptions {
@@ -400,7 +399,6 @@ export interface OnesEditorOptions {
400
399
  [index: string]: unknown;
401
400
  };
402
401
  enableComments?: boolean;
403
- enableContextMenu?: boolean;
404
402
  scrollContainer?: HTMLElement;
405
403
  }
406
404
  export interface OnesEditorComponents {
@@ -557,7 +555,7 @@ export interface OnesEditorSelection {
557
555
  readonly endBlock: BlockElement;
558
556
  setSelection: (anchor: BlockPosition, focus?: BlockPosition, options?: ChangeSelectionOptions) => SelectionRange;
559
557
  setRange: (range: SelectionRange, options?: ChangeSelectionOptions) => SelectionRange;
560
- selectBlock: (block: BlockElement, start: number, end?: number) => void;
558
+ selectBlock: (block: BlockElement, start: number, end?: number, options?: ChangeSelectionOptions) => void;
561
559
  updateSelection: (old: SelectionRange | null) => void;
562
560
  updateLastCaretRect: () => void;
563
561
  getSuggestedCaretX: () => number | undefined;
@@ -570,32 +568,10 @@ export type RemoteChangeType = 'UpdateBlockText' | 'UpdateBlockData' | 'InsertBl
570
568
  export type PasteOptions = {
571
569
  toPlainText?: boolean;
572
570
  };
573
- export interface EditorInputCallbacks {
574
- onInsertText: (event: Event, text: string) => void;
575
- onCompositionStart: (event: Event) => void;
576
- onUpdateCompositionText: (event: Event, text: string, end: boolean) => void;
577
- onKeyDown: (event: KeyboardEvent) => boolean;
578
- onChanged: (action: OnesEditorUndoAction) => void;
579
- onRemoteChanged: (type: RemoteChangeType) => void;
580
- onFocus: () => void;
581
- onBlur: () => void;
582
- onPaste: (event: ClipboardEvent) => void;
583
- onPasteText: (text: string, options?: PasteOptions) => void;
584
- onCopy: (event: ClipboardEvent) => void;
585
- onCut: (event: ClipboardEvent) => void;
586
- addHandler: (handler: OnesEditorInputHandler) => void;
587
- removeHandler: (handler: OnesEditorInputHandler) => void;
588
- defaultInsertText: (editor: OnesEditor, containerId: string, blockIndex: number, offset: number, text: string) => void;
589
- defaultHandleKeydown: (editor: OnesEditor, event: KeyboardEvent) => boolean;
590
- destroy: () => void;
591
- pasteDoc: (doc: DocObject) => Promise<void>;
592
- forEach: (callback: (handler: OnesEditorInputHandler) => void) => void;
593
- }
594
571
  export interface OnesEditorInput {
595
572
  readonly inputElement: HTMLInputElement;
596
573
  destroy: () => void;
597
574
  focus: () => void;
598
- callbacks: EditorInputCallbacks;
599
575
  handleDocumentSelectionChange: () => void;
600
576
  handleCompositionstart: (event: CompositionEvent) => void;
601
577
  handleCompositionend: (event: CompositionEvent) => void;
@@ -31,7 +31,6 @@ export * from './number';
31
31
  export * from './string';
32
32
  export * from './overflow-text';
33
33
  export * from './abbreviation';
34
- export * from './blob-to-string';
35
34
  export { genId };
36
35
  export { assert };
37
36
  export { SimpleCache };
@@ -7,7 +7,7 @@ export declare function getDrawioIframeUrl(editor: OnesEditor): string;
7
7
  export declare function resizeObserver(el: HTMLElement): {
8
8
  disconnect: () => void;
9
9
  };
10
- export declare function initializeDrawioIframe(editor: OnesEditor): Promise<{
10
+ export declare function initializeDrawioIframe(editor: OnesEditor, block: BlockElement): Promise<{
11
11
  drawioIframe: HTMLIFrameElement;
12
12
  exit: () => void;
13
13
  }>;
@@ -1,4 +1,4 @@
1
1
  export * from './image';
2
2
  export * from './title';
3
- export * from './is-secure-env';
4
3
  export * from './image-downloader';
4
+ export * from './re-auth';
@@ -0,0 +1,18 @@
1
+ import { TypedEmitter } from 'tiny-typed-emitter';
2
+ import type { OnesEditor, OnesEditorCustom, OnesEditorDocCallbacks } from '../../../../@ones-editor/core';
3
+ import ReAuthToolbar from './ui/toolbar';
4
+ import './locale';
5
+ type EventCallback = (() => void) | undefined;
6
+ declare const DOC_RE_AUTH_KEYS = "doc-re-auth-event";
7
+ declare class DocReAuthCallbacks extends TypedEmitter implements OnesEditorCustom, OnesEditorDocCallbacks {
8
+ private editor;
9
+ private authErrorCallback;
10
+ private authRecoverCallback;
11
+ constructor(editor: OnesEditor);
12
+ addAuthListen(event: 'authError' | 'authRecover', callback: EventCallback): void;
13
+ removeListeners(): void;
14
+ destroy: () => void;
15
+ onError: (error: Error) => void;
16
+ onAuthRecover: () => void;
17
+ }
18
+ export { ReAuthToolbar, DocReAuthCallbacks, DOC_RE_AUTH_KEYS, };
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ authError: {
3
+ tips: string;
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ authError: {
3
+ tips: string;
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ authError: {
3
+ tips: string;
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { BlockElement, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import './toolbar.scss';
3
+ export default class ReAuthToolbar {
4
+ private editor;
5
+ private isShown;
6
+ private currentBlock;
7
+ constructor(editor: OnesEditor);
8
+ render(block: BlockElement, onExit?: () => void): void;
9
+ destroy(): void;
10
+ }
@@ -24,6 +24,9 @@ export declare class AuthConnection {
24
24
  logout(): Promise<void>;
25
25
  init(auth: AuthMessage): Promise<void>;
26
26
  handleAuthError(): Promise<void>;
27
+ reAuth: () => Promise<void>;
28
+ private emitPermissionError;
29
+ private emitAuthRecover;
27
30
  private emitAuthError;
28
31
  private emitRequestReloadError;
29
32
  private emitWriteConflictError;
@@ -32,6 +35,7 @@ export declare class AuthConnection {
32
35
  get(collectionName: string, documentID: string): Doc;
33
36
  addEventListener(event: 'open' | 'close' | 'error', callback: (e: Event | Error) => void): void;
34
37
  onAuthError(callback: (error: Error) => void): void;
38
+ onAuthRecover(callback: () => void): void;
35
39
  onWriteConflictError(callback: (error: Error) => void): void;
36
40
  onMaxUsersError(callback: () => void): void;
37
41
  onRequestReloadError(callback: (error: Error) => void): void;
@@ -15,6 +15,7 @@ export default class ShareDBClient {
15
15
  close(logout: boolean): void;
16
16
  on(event: 'open' | 'close' | 'error', callback: (event: Event | Error) => void): void;
17
17
  onAuthError(callback: (error: Error) => void): void;
18
+ onAuthRecover(callback: () => void): void;
18
19
  onWriteConflictError(callback: (error: Error) => void): void;
19
20
  onMaxUsersError(callback: () => void): void;
20
21
  onRequestReloadError(callback: (error: Error) => void): void;
@@ -52,4 +53,5 @@ export default class ShareDBClient {
52
53
  createVersion(tag: string, publish: boolean): Promise<any>;
53
54
  recognizeLink(url: string): Promise<LinkDetails>;
54
55
  buildResourceUrl(resourceId: string, options?: BuildResourceUrlOptions): string;
56
+ reAuth(): void;
55
57
  }
@@ -75,6 +75,7 @@ export default class ShareDBDoc extends EventCallbacks<ShareDBDocCallbacks> impl
75
75
  onCreateComment(commentId: string, local: boolean): void;
76
76
  onUpdateComment(commentId: string, local: boolean): void;
77
77
  onCustomMessage(msg: unknown): void;
78
+ onAuthRecover(): void;
78
79
  addResources(resourceIds: string[]): Promise<string[]>;
79
80
  uploadResource(file: File, options?: UploadResourceOptions): Promise<UploadResourceResult>;
80
81
  buildResourceUrl(resourceId: string, options?: BuildResourceUrlOptions): string;
@@ -106,4 +107,5 @@ export default class ShareDBDoc extends EventCallbacks<ShareDBDocCallbacks> impl
106
107
  recognizeLink(url: string): Promise<import("../types").LinkDetails>;
107
108
  parseHistoryData(historyData: OnesEditorDocHistoryData, handler: OnesEditorHistoryDataParseHandler): void;
108
109
  getServerMeta(): OnesEditorDocServerMeta;
110
+ triggerReAuth(): void;
109
111
  }