@textbus/collaborate 4.0.0-alpha.8 → 4.0.1

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.
@@ -1,2 +1,5 @@
1
+ export * from './connectors/_api';
1
2
  export * from './collaborate';
2
3
  export * from './collaborate-module';
4
+ export * from './sync-connector';
5
+ export * from './user-activity';
@@ -0,0 +1,24 @@
1
+ import { Observable } from '@tanbo/stream';
2
+ /**
3
+ * 协作通信通用接口
4
+ */
5
+ export declare abstract class SyncConnector {
6
+ /**
7
+ * 当文档加载完成时触发的观察者
8
+ */
9
+ abstract onLoad: Observable<void>;
10
+ /**
11
+ * 当文档 awareness 状态变更时触发的观察者
12
+ */
13
+ abstract onStateChange: Observable<any>;
14
+ /**
15
+ * 设置 awareness 状态
16
+ * @param key 状态的 key
17
+ * @param data 状态值
18
+ */
19
+ abstract setLocalStateField(key: string, data: Record<string, any>): void;
20
+ /**
21
+ * 当文档销毁时调用
22
+ */
23
+ abstract onDestroy(): void;
24
+ }
@@ -0,0 +1,23 @@
1
+ import { Observable } from '@tanbo/stream';
2
+ import { Selection, SelectionPaths } from '@textbus/core';
3
+ import { SyncConnector } from './sync-connector';
4
+ export interface UserInfo {
5
+ username: string;
6
+ color: string;
7
+ id: string;
8
+ }
9
+ export interface ActivityInfo extends UserInfo {
10
+ selection: SelectionPaths;
11
+ }
12
+ export declare class UserActivity {
13
+ private syncConnector;
14
+ private selection;
15
+ onStateChange: Observable<ActivityInfo[]>;
16
+ onUserChange: Observable<UserInfo[]>;
17
+ private stateChangeEvent;
18
+ private userChangeEvent;
19
+ private subscription;
20
+ constructor(syncConnector: SyncConnector, selection: Selection);
21
+ init(userinfo: UserInfo): void;
22
+ destroy(): void;
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbus/collaborate",
3
- "version": "4.0.0-alpha.8",
3
+ "version": "4.0.1",
4
4
  "description": "Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.",
5
5
  "main": "./bundles/index.js",
6
6
  "module": "./bundles/index.esm.js",
@@ -25,12 +25,12 @@
25
25
  "typescript editor"
26
26
  ],
27
27
  "dependencies": {
28
- "@tanbo/stream": "^1.2.0",
29
- "@textbus/core": "^4.0.0-alpha.8",
30
- "@viewfly/core": "^0.3.0",
31
- "reflect-metadata": "^0.1.13",
32
- "y-protocols": "^1.0.5",
33
- "yjs": "^13.6.7"
28
+ "@hocuspocus/provider": "^2.13.6",
29
+ "@tanbo/stream": "^1.2.5",
30
+ "@textbus/core": "^4.0.1",
31
+ "@viewfly/core": "^1.0.0-alpha.22",
32
+ "y-websocket": "^1.4.3",
33
+ "yjs": "^13.6.14"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@rollup/plugin-commonjs": "^23.0.2",
@@ -50,5 +50,5 @@
50
50
  "bugs": {
51
51
  "url": "https://github.com/textbus/textbus.git/issues"
52
52
  },
53
- "gitHead": "1bb613c7a7a24ee4611b96c632296debb13879f2"
53
+ "gitHead": "650431b993553439e58d48949bd9cadda23fb147"
54
54
  }