@textbus/collaborate 4.0.0-alpha.8 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  }