@textbus/collaborate 4.3.3 → 4.3.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -75,8 +75,18 @@ NonSubModelLoader = __decorate([
75
75
  const collaborateErrorFn = makeError('Collaborate');
76
76
  class SlotMap {
77
77
  constructor() {
78
- this.slotAndYTextMap = new WeakMap();
79
- this.yTextAndSlotMap = new WeakMap();
78
+ Object.defineProperty(this, "slotAndYTextMap", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: new WeakMap()
83
+ });
84
+ Object.defineProperty(this, "yTextAndSlotMap", {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: new WeakMap()
89
+ });
80
90
  }
81
91
  set(key, value) {
82
92
  if (key instanceof Slot) {
@@ -113,17 +123,78 @@ class SlotMap {
113
123
  }
114
124
  let Collaborate = class Collaborate {
115
125
  constructor(scheduler, registry, selection, subModelLoader) {
116
- this.scheduler = scheduler;
117
- this.registry = registry;
118
- this.selection = selection;
119
- this.subModelLoader = subModelLoader;
120
- this.yDoc = new Doc();
121
- this.slotMap = new SlotMap();
122
- this.subscriptions = [];
123
- this.updateFromRemote = false;
124
- this.addSubModelEvent = new Subject();
125
- this.updateRemoteActions = new WeakMap();
126
- this.noRecord = {};
126
+ Object.defineProperty(this, "scheduler", {
127
+ enumerable: true,
128
+ configurable: true,
129
+ writable: true,
130
+ value: scheduler
131
+ });
132
+ Object.defineProperty(this, "registry", {
133
+ enumerable: true,
134
+ configurable: true,
135
+ writable: true,
136
+ value: registry
137
+ });
138
+ Object.defineProperty(this, "selection", {
139
+ enumerable: true,
140
+ configurable: true,
141
+ writable: true,
142
+ value: selection
143
+ });
144
+ Object.defineProperty(this, "subModelLoader", {
145
+ enumerable: true,
146
+ configurable: true,
147
+ writable: true,
148
+ value: subModelLoader
149
+ });
150
+ Object.defineProperty(this, "yDoc", {
151
+ enumerable: true,
152
+ configurable: true,
153
+ writable: true,
154
+ value: new Doc()
155
+ });
156
+ Object.defineProperty(this, "slotMap", {
157
+ enumerable: true,
158
+ configurable: true,
159
+ writable: true,
160
+ value: new SlotMap()
161
+ });
162
+ Object.defineProperty(this, "onAddSubModel", {
163
+ enumerable: true,
164
+ configurable: true,
165
+ writable: true,
166
+ value: void 0
167
+ });
168
+ Object.defineProperty(this, "subscriptions", {
169
+ enumerable: true,
170
+ configurable: true,
171
+ writable: true,
172
+ value: []
173
+ });
174
+ Object.defineProperty(this, "updateFromRemote", {
175
+ enumerable: true,
176
+ configurable: true,
177
+ writable: true,
178
+ value: false
179
+ });
180
+ Object.defineProperty(this, "addSubModelEvent", {
181
+ enumerable: true,
182
+ configurable: true,
183
+ writable: true,
184
+ value: new Subject()
185
+ });
186
+ Object.defineProperty(this, "updateRemoteActions", {
187
+ enumerable: true,
188
+ configurable: true,
189
+ writable: true,
190
+ value: new WeakMap()
191
+ });
192
+ Object.defineProperty(this, "noRecord", {
193
+ enumerable: true,
194
+ configurable: true,
195
+ writable: true,
196
+ value: {}
197
+ });
127
198
  this.onAddSubModel = this.addSubModelEvent.asObservable();
128
199
  }
129
200
  syncRootComponent(yDoc, sharedComponent, localComponent) {
@@ -848,20 +919,114 @@ let CollabHistory = class CollabHistory {
848
919
  return ((_a = this.manager) === null || _a === void 0 ? void 0 : _a.canRedo()) || false;
849
920
  }
850
921
  constructor(rootComponentRef, collaborate, scheduler, selection, stackSize, undoManagerConfig) {
851
- this.rootComponentRef = rootComponentRef;
852
- this.collaborate = collaborate;
853
- this.scheduler = scheduler;
854
- this.selection = selection;
855
- this.stackSize = stackSize;
856
- this.undoManagerConfig = undoManagerConfig;
857
- this.manager = null;
858
- this.historyItems = [];
859
- this.index = 0;
860
- this.subscriptions = [];
861
- this.backEvent = new Subject();
862
- this.forwardEvent = new Subject();
863
- this.changeEvent = new Subject();
864
- this.pushEvent = new Subject();
922
+ Object.defineProperty(this, "rootComponentRef", {
923
+ enumerable: true,
924
+ configurable: true,
925
+ writable: true,
926
+ value: rootComponentRef
927
+ });
928
+ Object.defineProperty(this, "collaborate", {
929
+ enumerable: true,
930
+ configurable: true,
931
+ writable: true,
932
+ value: collaborate
933
+ });
934
+ Object.defineProperty(this, "scheduler", {
935
+ enumerable: true,
936
+ configurable: true,
937
+ writable: true,
938
+ value: scheduler
939
+ });
940
+ Object.defineProperty(this, "selection", {
941
+ enumerable: true,
942
+ configurable: true,
943
+ writable: true,
944
+ value: selection
945
+ });
946
+ Object.defineProperty(this, "stackSize", {
947
+ enumerable: true,
948
+ configurable: true,
949
+ writable: true,
950
+ value: stackSize
951
+ });
952
+ Object.defineProperty(this, "undoManagerConfig", {
953
+ enumerable: true,
954
+ configurable: true,
955
+ writable: true,
956
+ value: undoManagerConfig
957
+ });
958
+ Object.defineProperty(this, "onBack", {
959
+ enumerable: true,
960
+ configurable: true,
961
+ writable: true,
962
+ value: void 0
963
+ });
964
+ Object.defineProperty(this, "onForward", {
965
+ enumerable: true,
966
+ configurable: true,
967
+ writable: true,
968
+ value: void 0
969
+ });
970
+ Object.defineProperty(this, "onChange", {
971
+ enumerable: true,
972
+ configurable: true,
973
+ writable: true,
974
+ value: void 0
975
+ });
976
+ Object.defineProperty(this, "onPush", {
977
+ enumerable: true,
978
+ configurable: true,
979
+ writable: true,
980
+ value: void 0
981
+ });
982
+ Object.defineProperty(this, "manager", {
983
+ enumerable: true,
984
+ configurable: true,
985
+ writable: true,
986
+ value: null
987
+ });
988
+ Object.defineProperty(this, "historyItems", {
989
+ enumerable: true,
990
+ configurable: true,
991
+ writable: true,
992
+ value: []
993
+ });
994
+ Object.defineProperty(this, "index", {
995
+ enumerable: true,
996
+ configurable: true,
997
+ writable: true,
998
+ value: 0
999
+ });
1000
+ Object.defineProperty(this, "subscriptions", {
1001
+ enumerable: true,
1002
+ configurable: true,
1003
+ writable: true,
1004
+ value: []
1005
+ });
1006
+ Object.defineProperty(this, "backEvent", {
1007
+ enumerable: true,
1008
+ configurable: true,
1009
+ writable: true,
1010
+ value: new Subject()
1011
+ });
1012
+ Object.defineProperty(this, "forwardEvent", {
1013
+ enumerable: true,
1014
+ configurable: true,
1015
+ writable: true,
1016
+ value: new Subject()
1017
+ });
1018
+ Object.defineProperty(this, "changeEvent", {
1019
+ enumerable: true,
1020
+ configurable: true,
1021
+ writable: true,
1022
+ value: new Subject()
1023
+ });
1024
+ Object.defineProperty(this, "pushEvent", {
1025
+ enumerable: true,
1026
+ configurable: true,
1027
+ writable: true,
1028
+ value: new Subject()
1029
+ });
865
1030
  this.onBack = this.backEvent.asObservable();
866
1031
  this.onForward = this.forwardEvent.asObservable();
867
1032
  this.onChange = this.changeEvent.asObservable();
@@ -972,7 +1137,18 @@ CollabHistory = __decorate([
972
1137
  */
973
1138
  class MessageBus {
974
1139
  constructor() {
975
- this.syncEvent = new Subject();
1140
+ Object.defineProperty(this, "onSync", {
1141
+ enumerable: true,
1142
+ configurable: true,
1143
+ writable: true,
1144
+ value: void 0
1145
+ });
1146
+ Object.defineProperty(this, "syncEvent", {
1147
+ enumerable: true,
1148
+ configurable: true,
1149
+ writable: true,
1150
+ value: new Subject()
1151
+ });
976
1152
  this.onSync = this.syncEvent.asObservable();
977
1153
  }
978
1154
  /**
@@ -991,24 +1167,138 @@ let MultipleDocCollabHistory = class MultipleDocCollabHistory {
991
1167
  return this.actionStack.length > 0 && this.index < this.actionStack.length;
992
1168
  }
993
1169
  constructor(collaborate, scheduler, rootComponentRef, stackSize, undoManagerConfig) {
994
- this.collaborate = collaborate;
995
- this.scheduler = scheduler;
996
- this.rootComponentRef = rootComponentRef;
997
- this.stackSize = stackSize;
998
- this.undoManagerConfig = undoManagerConfig;
999
- this.isListen = false;
1000
- this.changeEvent = new Subject();
1001
- this.backEvent = new Subject();
1002
- this.forwardEvent = new Subject();
1003
- this.pushEvent = new Subject();
1004
- this.actionStack = [];
1005
- this.index = 0;
1006
- this.stackItem = null;
1007
- this.timer = null;
1008
- this.beforePosition = null;
1009
- this.subscription = new Subscription();
1010
- this.subDocs = new Set();
1011
- this.listenerCaches = new Set();
1170
+ Object.defineProperty(this, "collaborate", {
1171
+ enumerable: true,
1172
+ configurable: true,
1173
+ writable: true,
1174
+ value: collaborate
1175
+ });
1176
+ Object.defineProperty(this, "scheduler", {
1177
+ enumerable: true,
1178
+ configurable: true,
1179
+ writable: true,
1180
+ value: scheduler
1181
+ });
1182
+ Object.defineProperty(this, "rootComponentRef", {
1183
+ enumerable: true,
1184
+ configurable: true,
1185
+ writable: true,
1186
+ value: rootComponentRef
1187
+ });
1188
+ Object.defineProperty(this, "stackSize", {
1189
+ enumerable: true,
1190
+ configurable: true,
1191
+ writable: true,
1192
+ value: stackSize
1193
+ });
1194
+ Object.defineProperty(this, "undoManagerConfig", {
1195
+ enumerable: true,
1196
+ configurable: true,
1197
+ writable: true,
1198
+ value: undoManagerConfig
1199
+ });
1200
+ Object.defineProperty(this, "onChange", {
1201
+ enumerable: true,
1202
+ configurable: true,
1203
+ writable: true,
1204
+ value: void 0
1205
+ });
1206
+ Object.defineProperty(this, "onBack", {
1207
+ enumerable: true,
1208
+ configurable: true,
1209
+ writable: true,
1210
+ value: void 0
1211
+ });
1212
+ Object.defineProperty(this, "onForward", {
1213
+ enumerable: true,
1214
+ configurable: true,
1215
+ writable: true,
1216
+ value: void 0
1217
+ });
1218
+ Object.defineProperty(this, "onPush", {
1219
+ enumerable: true,
1220
+ configurable: true,
1221
+ writable: true,
1222
+ value: void 0
1223
+ });
1224
+ Object.defineProperty(this, "isListen", {
1225
+ enumerable: true,
1226
+ configurable: true,
1227
+ writable: true,
1228
+ value: false
1229
+ });
1230
+ Object.defineProperty(this, "changeEvent", {
1231
+ enumerable: true,
1232
+ configurable: true,
1233
+ writable: true,
1234
+ value: new Subject()
1235
+ });
1236
+ Object.defineProperty(this, "backEvent", {
1237
+ enumerable: true,
1238
+ configurable: true,
1239
+ writable: true,
1240
+ value: new Subject()
1241
+ });
1242
+ Object.defineProperty(this, "forwardEvent", {
1243
+ enumerable: true,
1244
+ configurable: true,
1245
+ writable: true,
1246
+ value: new Subject()
1247
+ });
1248
+ Object.defineProperty(this, "pushEvent", {
1249
+ enumerable: true,
1250
+ configurable: true,
1251
+ writable: true,
1252
+ value: new Subject()
1253
+ });
1254
+ Object.defineProperty(this, "actionStack", {
1255
+ enumerable: true,
1256
+ configurable: true,
1257
+ writable: true,
1258
+ value: []
1259
+ });
1260
+ Object.defineProperty(this, "index", {
1261
+ enumerable: true,
1262
+ configurable: true,
1263
+ writable: true,
1264
+ value: 0
1265
+ });
1266
+ Object.defineProperty(this, "stackItem", {
1267
+ enumerable: true,
1268
+ configurable: true,
1269
+ writable: true,
1270
+ value: null
1271
+ });
1272
+ Object.defineProperty(this, "timer", {
1273
+ enumerable: true,
1274
+ configurable: true,
1275
+ writable: true,
1276
+ value: null
1277
+ });
1278
+ Object.defineProperty(this, "beforePosition", {
1279
+ enumerable: true,
1280
+ configurable: true,
1281
+ writable: true,
1282
+ value: null
1283
+ });
1284
+ Object.defineProperty(this, "subscription", {
1285
+ enumerable: true,
1286
+ configurable: true,
1287
+ writable: true,
1288
+ value: new Subscription()
1289
+ });
1290
+ Object.defineProperty(this, "subDocs", {
1291
+ enumerable: true,
1292
+ configurable: true,
1293
+ writable: true,
1294
+ value: new Set()
1295
+ });
1296
+ Object.defineProperty(this, "listenerCaches", {
1297
+ enumerable: true,
1298
+ configurable: true,
1299
+ writable: true,
1300
+ value: new Set()
1301
+ });
1012
1302
  this.onChange = this.changeEvent.asObservable();
1013
1303
  this.onBack = this.backEvent.asObservable();
1014
1304
  this.onForward = this.forwardEvent.asObservable();
@@ -1166,8 +1456,36 @@ MultipleDocCollabHistory = __decorate([
1166
1456
  */
1167
1457
  class SyncConnector {
1168
1458
  constructor() {
1169
- this.loadEvent = new Subject();
1170
- this.stateChangeEvent = new Subject();
1459
+ /**
1460
+ * 当文档加载完成时触发的观察者
1461
+ */
1462
+ Object.defineProperty(this, "onLoad", {
1463
+ enumerable: true,
1464
+ configurable: true,
1465
+ writable: true,
1466
+ value: void 0
1467
+ });
1468
+ /**
1469
+ * 当文档 awareness 状态变更时触发的观察者
1470
+ */
1471
+ Object.defineProperty(this, "onStateChange", {
1472
+ enumerable: true,
1473
+ configurable: true,
1474
+ writable: true,
1475
+ value: void 0
1476
+ });
1477
+ Object.defineProperty(this, "loadEvent", {
1478
+ enumerable: true,
1479
+ configurable: true,
1480
+ writable: true,
1481
+ value: new Subject()
1482
+ });
1483
+ Object.defineProperty(this, "stateChangeEvent", {
1484
+ enumerable: true,
1485
+ configurable: true,
1486
+ writable: true,
1487
+ value: new Subject()
1488
+ });
1171
1489
  this.onLoad = this.loadEvent.asObservable();
1172
1490
  this.onStateChange = this.stateChangeEvent.asObservable();
1173
1491
  }
@@ -1176,6 +1494,12 @@ class SyncConnector {
1176
1494
  class HocuspocusConnector extends SyncConnector {
1177
1495
  constructor(config) {
1178
1496
  super();
1497
+ Object.defineProperty(this, "provide", {
1498
+ enumerable: true,
1499
+ configurable: true,
1500
+ writable: true,
1501
+ value: void 0
1502
+ });
1179
1503
  this.provide = new HocuspocusProvider(Object.assign(Object.assign({}, config), { onSynced: (data) => {
1180
1504
  var _a;
1181
1505
  (_a = config.onSynced) === null || _a === void 0 ? void 0 : _a.call(config, data);
@@ -1204,6 +1528,12 @@ class HocuspocusConnector extends SyncConnector {
1204
1528
  class YWebsocketConnector extends SyncConnector {
1205
1529
  constructor(url, roomName, yDoc) {
1206
1530
  super();
1531
+ Object.defineProperty(this, "provide", {
1532
+ enumerable: true,
1533
+ configurable: true,
1534
+ writable: true,
1535
+ value: void 0
1536
+ });
1207
1537
  this.onLoad = this.loadEvent.asObservable();
1208
1538
  this.onStateChange = this.stateChangeEvent.asObservable();
1209
1539
  this.provide = new WebsocketProvider(url, roomName, yDoc);
@@ -1233,25 +1563,40 @@ class YWebsocketConnector extends SyncConnector {
1233
1563
 
1234
1564
  class CollaborateModule {
1235
1565
  constructor(config) {
1236
- this.config = config;
1237
- this.subscription = new Subscription();
1238
- this.providers = [
1239
- Collaborate,
1240
- CollabHistory,
1241
- {
1242
- provide: History,
1243
- useExisting: CollabHistory
1244
- }, {
1245
- provide: SyncConnector,
1246
- useFactory: (collab) => {
1247
- return this.config.createConnector(collab.yDoc);
1248
- },
1249
- deps: [Collaborate]
1250
- }, {
1251
- provide: SubModelLoader,
1252
- useClass: NonSubModelLoader
1253
- }
1254
- ];
1566
+ Object.defineProperty(this, "config", {
1567
+ enumerable: true,
1568
+ configurable: true,
1569
+ writable: true,
1570
+ value: config
1571
+ });
1572
+ Object.defineProperty(this, "subscription", {
1573
+ enumerable: true,
1574
+ configurable: true,
1575
+ writable: true,
1576
+ value: new Subscription()
1577
+ });
1578
+ Object.defineProperty(this, "providers", {
1579
+ enumerable: true,
1580
+ configurable: true,
1581
+ writable: true,
1582
+ value: [
1583
+ Collaborate,
1584
+ CollabHistory,
1585
+ {
1586
+ provide: History,
1587
+ useExisting: CollabHistory
1588
+ }, {
1589
+ provide: SyncConnector,
1590
+ useFactory: (collab) => {
1591
+ return this.config.createConnector(collab.yDoc);
1592
+ },
1593
+ deps: [Collaborate]
1594
+ }, {
1595
+ provide: SubModelLoader,
1596
+ useClass: NonSubModelLoader
1597
+ }
1598
+ ]
1599
+ });
1255
1600
  }
1256
1601
  setup(textbus) {
1257
1602
  const messageBus = textbus.get(MessageBus, null);
@@ -1279,27 +1624,42 @@ class CollaborateModule {
1279
1624
 
1280
1625
  class MultipleDocumentCollaborateModule {
1281
1626
  constructor(config) {
1282
- this.config = config;
1283
- this.subscription = new Subscription();
1284
- this.providers = [
1285
- Collaborate,
1286
- MultipleDocCollabHistory,
1287
- {
1288
- provide: History,
1289
- useExisting: MultipleDocCollabHistory
1290
- }, {
1291
- provide: SyncConnector,
1292
- useFactory: (collab) => {
1293
- return this.config.createConnector(collab.yDoc);
1294
- },
1295
- deps: [Collaborate]
1296
- }, {
1297
- provide: SubModelLoader,
1298
- useFactory: () => {
1299
- return this.config.subModelLoader;
1627
+ Object.defineProperty(this, "config", {
1628
+ enumerable: true,
1629
+ configurable: true,
1630
+ writable: true,
1631
+ value: config
1632
+ });
1633
+ Object.defineProperty(this, "subscription", {
1634
+ enumerable: true,
1635
+ configurable: true,
1636
+ writable: true,
1637
+ value: new Subscription()
1638
+ });
1639
+ Object.defineProperty(this, "providers", {
1640
+ enumerable: true,
1641
+ configurable: true,
1642
+ writable: true,
1643
+ value: [
1644
+ Collaborate,
1645
+ MultipleDocCollabHistory,
1646
+ {
1647
+ provide: History,
1648
+ useExisting: MultipleDocCollabHistory
1649
+ }, {
1650
+ provide: SyncConnector,
1651
+ useFactory: (collab) => {
1652
+ return this.config.createConnector(collab.yDoc);
1653
+ },
1654
+ deps: [Collaborate]
1655
+ }, {
1656
+ provide: SubModelLoader,
1657
+ useFactory: () => {
1658
+ return this.config.subModelLoader;
1659
+ }
1300
1660
  }
1301
- }
1302
- ];
1661
+ ]
1662
+ });
1303
1663
  }
1304
1664
  setup(textbus) {
1305
1665
  const messageBus = textbus.get(MessageBus, null);
package/bundles/index.js CHANGED
@@ -77,8 +77,18 @@ exports.NonSubModelLoader = __decorate([
77
77
  const collaborateErrorFn = core.makeError('Collaborate');
78
78
  class SlotMap {
79
79
  constructor() {
80
- this.slotAndYTextMap = new WeakMap();
81
- this.yTextAndSlotMap = new WeakMap();
80
+ Object.defineProperty(this, "slotAndYTextMap", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: new WeakMap()
85
+ });
86
+ Object.defineProperty(this, "yTextAndSlotMap", {
87
+ enumerable: true,
88
+ configurable: true,
89
+ writable: true,
90
+ value: new WeakMap()
91
+ });
82
92
  }
83
93
  set(key, value) {
84
94
  if (key instanceof core.Slot) {
@@ -115,17 +125,78 @@ class SlotMap {
115
125
  }
116
126
  exports.Collaborate = class Collaborate {
117
127
  constructor(scheduler, registry, selection, subModelLoader) {
118
- this.scheduler = scheduler;
119
- this.registry = registry;
120
- this.selection = selection;
121
- this.subModelLoader = subModelLoader;
122
- this.yDoc = new yjs.Doc();
123
- this.slotMap = new SlotMap();
124
- this.subscriptions = [];
125
- this.updateFromRemote = false;
126
- this.addSubModelEvent = new stream.Subject();
127
- this.updateRemoteActions = new WeakMap();
128
- this.noRecord = {};
128
+ Object.defineProperty(this, "scheduler", {
129
+ enumerable: true,
130
+ configurable: true,
131
+ writable: true,
132
+ value: scheduler
133
+ });
134
+ Object.defineProperty(this, "registry", {
135
+ enumerable: true,
136
+ configurable: true,
137
+ writable: true,
138
+ value: registry
139
+ });
140
+ Object.defineProperty(this, "selection", {
141
+ enumerable: true,
142
+ configurable: true,
143
+ writable: true,
144
+ value: selection
145
+ });
146
+ Object.defineProperty(this, "subModelLoader", {
147
+ enumerable: true,
148
+ configurable: true,
149
+ writable: true,
150
+ value: subModelLoader
151
+ });
152
+ Object.defineProperty(this, "yDoc", {
153
+ enumerable: true,
154
+ configurable: true,
155
+ writable: true,
156
+ value: new yjs.Doc()
157
+ });
158
+ Object.defineProperty(this, "slotMap", {
159
+ enumerable: true,
160
+ configurable: true,
161
+ writable: true,
162
+ value: new SlotMap()
163
+ });
164
+ Object.defineProperty(this, "onAddSubModel", {
165
+ enumerable: true,
166
+ configurable: true,
167
+ writable: true,
168
+ value: void 0
169
+ });
170
+ Object.defineProperty(this, "subscriptions", {
171
+ enumerable: true,
172
+ configurable: true,
173
+ writable: true,
174
+ value: []
175
+ });
176
+ Object.defineProperty(this, "updateFromRemote", {
177
+ enumerable: true,
178
+ configurable: true,
179
+ writable: true,
180
+ value: false
181
+ });
182
+ Object.defineProperty(this, "addSubModelEvent", {
183
+ enumerable: true,
184
+ configurable: true,
185
+ writable: true,
186
+ value: new stream.Subject()
187
+ });
188
+ Object.defineProperty(this, "updateRemoteActions", {
189
+ enumerable: true,
190
+ configurable: true,
191
+ writable: true,
192
+ value: new WeakMap()
193
+ });
194
+ Object.defineProperty(this, "noRecord", {
195
+ enumerable: true,
196
+ configurable: true,
197
+ writable: true,
198
+ value: {}
199
+ });
129
200
  this.onAddSubModel = this.addSubModelEvent.asObservable();
130
201
  }
131
202
  syncRootComponent(yDoc, sharedComponent, localComponent) {
@@ -850,20 +921,114 @@ exports.CollabHistory = class CollabHistory {
850
921
  return ((_a = this.manager) === null || _a === void 0 ? void 0 : _a.canRedo()) || false;
851
922
  }
852
923
  constructor(rootComponentRef, collaborate, scheduler, selection, stackSize, undoManagerConfig) {
853
- this.rootComponentRef = rootComponentRef;
854
- this.collaborate = collaborate;
855
- this.scheduler = scheduler;
856
- this.selection = selection;
857
- this.stackSize = stackSize;
858
- this.undoManagerConfig = undoManagerConfig;
859
- this.manager = null;
860
- this.historyItems = [];
861
- this.index = 0;
862
- this.subscriptions = [];
863
- this.backEvent = new stream.Subject();
864
- this.forwardEvent = new stream.Subject();
865
- this.changeEvent = new stream.Subject();
866
- this.pushEvent = new stream.Subject();
924
+ Object.defineProperty(this, "rootComponentRef", {
925
+ enumerable: true,
926
+ configurable: true,
927
+ writable: true,
928
+ value: rootComponentRef
929
+ });
930
+ Object.defineProperty(this, "collaborate", {
931
+ enumerable: true,
932
+ configurable: true,
933
+ writable: true,
934
+ value: collaborate
935
+ });
936
+ Object.defineProperty(this, "scheduler", {
937
+ enumerable: true,
938
+ configurable: true,
939
+ writable: true,
940
+ value: scheduler
941
+ });
942
+ Object.defineProperty(this, "selection", {
943
+ enumerable: true,
944
+ configurable: true,
945
+ writable: true,
946
+ value: selection
947
+ });
948
+ Object.defineProperty(this, "stackSize", {
949
+ enumerable: true,
950
+ configurable: true,
951
+ writable: true,
952
+ value: stackSize
953
+ });
954
+ Object.defineProperty(this, "undoManagerConfig", {
955
+ enumerable: true,
956
+ configurable: true,
957
+ writable: true,
958
+ value: undoManagerConfig
959
+ });
960
+ Object.defineProperty(this, "onBack", {
961
+ enumerable: true,
962
+ configurable: true,
963
+ writable: true,
964
+ value: void 0
965
+ });
966
+ Object.defineProperty(this, "onForward", {
967
+ enumerable: true,
968
+ configurable: true,
969
+ writable: true,
970
+ value: void 0
971
+ });
972
+ Object.defineProperty(this, "onChange", {
973
+ enumerable: true,
974
+ configurable: true,
975
+ writable: true,
976
+ value: void 0
977
+ });
978
+ Object.defineProperty(this, "onPush", {
979
+ enumerable: true,
980
+ configurable: true,
981
+ writable: true,
982
+ value: void 0
983
+ });
984
+ Object.defineProperty(this, "manager", {
985
+ enumerable: true,
986
+ configurable: true,
987
+ writable: true,
988
+ value: null
989
+ });
990
+ Object.defineProperty(this, "historyItems", {
991
+ enumerable: true,
992
+ configurable: true,
993
+ writable: true,
994
+ value: []
995
+ });
996
+ Object.defineProperty(this, "index", {
997
+ enumerable: true,
998
+ configurable: true,
999
+ writable: true,
1000
+ value: 0
1001
+ });
1002
+ Object.defineProperty(this, "subscriptions", {
1003
+ enumerable: true,
1004
+ configurable: true,
1005
+ writable: true,
1006
+ value: []
1007
+ });
1008
+ Object.defineProperty(this, "backEvent", {
1009
+ enumerable: true,
1010
+ configurable: true,
1011
+ writable: true,
1012
+ value: new stream.Subject()
1013
+ });
1014
+ Object.defineProperty(this, "forwardEvent", {
1015
+ enumerable: true,
1016
+ configurable: true,
1017
+ writable: true,
1018
+ value: new stream.Subject()
1019
+ });
1020
+ Object.defineProperty(this, "changeEvent", {
1021
+ enumerable: true,
1022
+ configurable: true,
1023
+ writable: true,
1024
+ value: new stream.Subject()
1025
+ });
1026
+ Object.defineProperty(this, "pushEvent", {
1027
+ enumerable: true,
1028
+ configurable: true,
1029
+ writable: true,
1030
+ value: new stream.Subject()
1031
+ });
867
1032
  this.onBack = this.backEvent.asObservable();
868
1033
  this.onForward = this.forwardEvent.asObservable();
869
1034
  this.onChange = this.changeEvent.asObservable();
@@ -974,7 +1139,18 @@ exports.CollabHistory = __decorate([
974
1139
  */
975
1140
  class MessageBus {
976
1141
  constructor() {
977
- this.syncEvent = new stream.Subject();
1142
+ Object.defineProperty(this, "onSync", {
1143
+ enumerable: true,
1144
+ configurable: true,
1145
+ writable: true,
1146
+ value: void 0
1147
+ });
1148
+ Object.defineProperty(this, "syncEvent", {
1149
+ enumerable: true,
1150
+ configurable: true,
1151
+ writable: true,
1152
+ value: new stream.Subject()
1153
+ });
978
1154
  this.onSync = this.syncEvent.asObservable();
979
1155
  }
980
1156
  /**
@@ -993,24 +1169,138 @@ exports.MultipleDocCollabHistory = class MultipleDocCollabHistory {
993
1169
  return this.actionStack.length > 0 && this.index < this.actionStack.length;
994
1170
  }
995
1171
  constructor(collaborate, scheduler, rootComponentRef, stackSize, undoManagerConfig) {
996
- this.collaborate = collaborate;
997
- this.scheduler = scheduler;
998
- this.rootComponentRef = rootComponentRef;
999
- this.stackSize = stackSize;
1000
- this.undoManagerConfig = undoManagerConfig;
1001
- this.isListen = false;
1002
- this.changeEvent = new stream.Subject();
1003
- this.backEvent = new stream.Subject();
1004
- this.forwardEvent = new stream.Subject();
1005
- this.pushEvent = new stream.Subject();
1006
- this.actionStack = [];
1007
- this.index = 0;
1008
- this.stackItem = null;
1009
- this.timer = null;
1010
- this.beforePosition = null;
1011
- this.subscription = new stream.Subscription();
1012
- this.subDocs = new Set();
1013
- this.listenerCaches = new Set();
1172
+ Object.defineProperty(this, "collaborate", {
1173
+ enumerable: true,
1174
+ configurable: true,
1175
+ writable: true,
1176
+ value: collaborate
1177
+ });
1178
+ Object.defineProperty(this, "scheduler", {
1179
+ enumerable: true,
1180
+ configurable: true,
1181
+ writable: true,
1182
+ value: scheduler
1183
+ });
1184
+ Object.defineProperty(this, "rootComponentRef", {
1185
+ enumerable: true,
1186
+ configurable: true,
1187
+ writable: true,
1188
+ value: rootComponentRef
1189
+ });
1190
+ Object.defineProperty(this, "stackSize", {
1191
+ enumerable: true,
1192
+ configurable: true,
1193
+ writable: true,
1194
+ value: stackSize
1195
+ });
1196
+ Object.defineProperty(this, "undoManagerConfig", {
1197
+ enumerable: true,
1198
+ configurable: true,
1199
+ writable: true,
1200
+ value: undoManagerConfig
1201
+ });
1202
+ Object.defineProperty(this, "onChange", {
1203
+ enumerable: true,
1204
+ configurable: true,
1205
+ writable: true,
1206
+ value: void 0
1207
+ });
1208
+ Object.defineProperty(this, "onBack", {
1209
+ enumerable: true,
1210
+ configurable: true,
1211
+ writable: true,
1212
+ value: void 0
1213
+ });
1214
+ Object.defineProperty(this, "onForward", {
1215
+ enumerable: true,
1216
+ configurable: true,
1217
+ writable: true,
1218
+ value: void 0
1219
+ });
1220
+ Object.defineProperty(this, "onPush", {
1221
+ enumerable: true,
1222
+ configurable: true,
1223
+ writable: true,
1224
+ value: void 0
1225
+ });
1226
+ Object.defineProperty(this, "isListen", {
1227
+ enumerable: true,
1228
+ configurable: true,
1229
+ writable: true,
1230
+ value: false
1231
+ });
1232
+ Object.defineProperty(this, "changeEvent", {
1233
+ enumerable: true,
1234
+ configurable: true,
1235
+ writable: true,
1236
+ value: new stream.Subject()
1237
+ });
1238
+ Object.defineProperty(this, "backEvent", {
1239
+ enumerable: true,
1240
+ configurable: true,
1241
+ writable: true,
1242
+ value: new stream.Subject()
1243
+ });
1244
+ Object.defineProperty(this, "forwardEvent", {
1245
+ enumerable: true,
1246
+ configurable: true,
1247
+ writable: true,
1248
+ value: new stream.Subject()
1249
+ });
1250
+ Object.defineProperty(this, "pushEvent", {
1251
+ enumerable: true,
1252
+ configurable: true,
1253
+ writable: true,
1254
+ value: new stream.Subject()
1255
+ });
1256
+ Object.defineProperty(this, "actionStack", {
1257
+ enumerable: true,
1258
+ configurable: true,
1259
+ writable: true,
1260
+ value: []
1261
+ });
1262
+ Object.defineProperty(this, "index", {
1263
+ enumerable: true,
1264
+ configurable: true,
1265
+ writable: true,
1266
+ value: 0
1267
+ });
1268
+ Object.defineProperty(this, "stackItem", {
1269
+ enumerable: true,
1270
+ configurable: true,
1271
+ writable: true,
1272
+ value: null
1273
+ });
1274
+ Object.defineProperty(this, "timer", {
1275
+ enumerable: true,
1276
+ configurable: true,
1277
+ writable: true,
1278
+ value: null
1279
+ });
1280
+ Object.defineProperty(this, "beforePosition", {
1281
+ enumerable: true,
1282
+ configurable: true,
1283
+ writable: true,
1284
+ value: null
1285
+ });
1286
+ Object.defineProperty(this, "subscription", {
1287
+ enumerable: true,
1288
+ configurable: true,
1289
+ writable: true,
1290
+ value: new stream.Subscription()
1291
+ });
1292
+ Object.defineProperty(this, "subDocs", {
1293
+ enumerable: true,
1294
+ configurable: true,
1295
+ writable: true,
1296
+ value: new Set()
1297
+ });
1298
+ Object.defineProperty(this, "listenerCaches", {
1299
+ enumerable: true,
1300
+ configurable: true,
1301
+ writable: true,
1302
+ value: new Set()
1303
+ });
1014
1304
  this.onChange = this.changeEvent.asObservable();
1015
1305
  this.onBack = this.backEvent.asObservable();
1016
1306
  this.onForward = this.forwardEvent.asObservable();
@@ -1168,8 +1458,36 @@ exports.MultipleDocCollabHistory = __decorate([
1168
1458
  */
1169
1459
  class SyncConnector {
1170
1460
  constructor() {
1171
- this.loadEvent = new stream.Subject();
1172
- this.stateChangeEvent = new stream.Subject();
1461
+ /**
1462
+ * 当文档加载完成时触发的观察者
1463
+ */
1464
+ Object.defineProperty(this, "onLoad", {
1465
+ enumerable: true,
1466
+ configurable: true,
1467
+ writable: true,
1468
+ value: void 0
1469
+ });
1470
+ /**
1471
+ * 当文档 awareness 状态变更时触发的观察者
1472
+ */
1473
+ Object.defineProperty(this, "onStateChange", {
1474
+ enumerable: true,
1475
+ configurable: true,
1476
+ writable: true,
1477
+ value: void 0
1478
+ });
1479
+ Object.defineProperty(this, "loadEvent", {
1480
+ enumerable: true,
1481
+ configurable: true,
1482
+ writable: true,
1483
+ value: new stream.Subject()
1484
+ });
1485
+ Object.defineProperty(this, "stateChangeEvent", {
1486
+ enumerable: true,
1487
+ configurable: true,
1488
+ writable: true,
1489
+ value: new stream.Subject()
1490
+ });
1173
1491
  this.onLoad = this.loadEvent.asObservable();
1174
1492
  this.onStateChange = this.stateChangeEvent.asObservable();
1175
1493
  }
@@ -1178,6 +1496,12 @@ class SyncConnector {
1178
1496
  class HocuspocusConnector extends SyncConnector {
1179
1497
  constructor(config) {
1180
1498
  super();
1499
+ Object.defineProperty(this, "provide", {
1500
+ enumerable: true,
1501
+ configurable: true,
1502
+ writable: true,
1503
+ value: void 0
1504
+ });
1181
1505
  this.provide = new provider.HocuspocusProvider(Object.assign(Object.assign({}, config), { onSynced: (data) => {
1182
1506
  var _a;
1183
1507
  (_a = config.onSynced) === null || _a === void 0 ? void 0 : _a.call(config, data);
@@ -1206,6 +1530,12 @@ class HocuspocusConnector extends SyncConnector {
1206
1530
  class YWebsocketConnector extends SyncConnector {
1207
1531
  constructor(url, roomName, yDoc) {
1208
1532
  super();
1533
+ Object.defineProperty(this, "provide", {
1534
+ enumerable: true,
1535
+ configurable: true,
1536
+ writable: true,
1537
+ value: void 0
1538
+ });
1209
1539
  this.onLoad = this.loadEvent.asObservable();
1210
1540
  this.onStateChange = this.stateChangeEvent.asObservable();
1211
1541
  this.provide = new yWebsocket.WebsocketProvider(url, roomName, yDoc);
@@ -1235,25 +1565,40 @@ class YWebsocketConnector extends SyncConnector {
1235
1565
 
1236
1566
  class CollaborateModule {
1237
1567
  constructor(config) {
1238
- this.config = config;
1239
- this.subscription = new stream.Subscription();
1240
- this.providers = [
1241
- exports.Collaborate,
1242
- exports.CollabHistory,
1243
- {
1244
- provide: core.History,
1245
- useExisting: exports.CollabHistory
1246
- }, {
1247
- provide: SyncConnector,
1248
- useFactory: (collab) => {
1249
- return this.config.createConnector(collab.yDoc);
1250
- },
1251
- deps: [exports.Collaborate]
1252
- }, {
1253
- provide: SubModelLoader,
1254
- useClass: exports.NonSubModelLoader
1255
- }
1256
- ];
1568
+ Object.defineProperty(this, "config", {
1569
+ enumerable: true,
1570
+ configurable: true,
1571
+ writable: true,
1572
+ value: config
1573
+ });
1574
+ Object.defineProperty(this, "subscription", {
1575
+ enumerable: true,
1576
+ configurable: true,
1577
+ writable: true,
1578
+ value: new stream.Subscription()
1579
+ });
1580
+ Object.defineProperty(this, "providers", {
1581
+ enumerable: true,
1582
+ configurable: true,
1583
+ writable: true,
1584
+ value: [
1585
+ exports.Collaborate,
1586
+ exports.CollabHistory,
1587
+ {
1588
+ provide: core.History,
1589
+ useExisting: exports.CollabHistory
1590
+ }, {
1591
+ provide: SyncConnector,
1592
+ useFactory: (collab) => {
1593
+ return this.config.createConnector(collab.yDoc);
1594
+ },
1595
+ deps: [exports.Collaborate]
1596
+ }, {
1597
+ provide: SubModelLoader,
1598
+ useClass: exports.NonSubModelLoader
1599
+ }
1600
+ ]
1601
+ });
1257
1602
  }
1258
1603
  setup(textbus) {
1259
1604
  const messageBus = textbus.get(MessageBus, null);
@@ -1281,27 +1626,42 @@ class CollaborateModule {
1281
1626
 
1282
1627
  class MultipleDocumentCollaborateModule {
1283
1628
  constructor(config) {
1284
- this.config = config;
1285
- this.subscription = new stream.Subscription();
1286
- this.providers = [
1287
- exports.Collaborate,
1288
- exports.MultipleDocCollabHistory,
1289
- {
1290
- provide: core.History,
1291
- useExisting: exports.MultipleDocCollabHistory
1292
- }, {
1293
- provide: SyncConnector,
1294
- useFactory: (collab) => {
1295
- return this.config.createConnector(collab.yDoc);
1296
- },
1297
- deps: [exports.Collaborate]
1298
- }, {
1299
- provide: SubModelLoader,
1300
- useFactory: () => {
1301
- return this.config.subModelLoader;
1629
+ Object.defineProperty(this, "config", {
1630
+ enumerable: true,
1631
+ configurable: true,
1632
+ writable: true,
1633
+ value: config
1634
+ });
1635
+ Object.defineProperty(this, "subscription", {
1636
+ enumerable: true,
1637
+ configurable: true,
1638
+ writable: true,
1639
+ value: new stream.Subscription()
1640
+ });
1641
+ Object.defineProperty(this, "providers", {
1642
+ enumerable: true,
1643
+ configurable: true,
1644
+ writable: true,
1645
+ value: [
1646
+ exports.Collaborate,
1647
+ exports.MultipleDocCollabHistory,
1648
+ {
1649
+ provide: core.History,
1650
+ useExisting: exports.MultipleDocCollabHistory
1651
+ }, {
1652
+ provide: SyncConnector,
1653
+ useFactory: (collab) => {
1654
+ return this.config.createConnector(collab.yDoc);
1655
+ },
1656
+ deps: [exports.Collaborate]
1657
+ }, {
1658
+ provide: SubModelLoader,
1659
+ useFactory: () => {
1660
+ return this.config.subModelLoader;
1661
+ }
1302
1662
  }
1303
- }
1304
- ];
1663
+ ]
1664
+ });
1305
1665
  }
1306
1666
  setup(textbus) {
1307
1667
  const messageBus = textbus.get(MessageBus, null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbus/collaborate",
3
- "version": "4.3.3",
3
+ "version": "4.3.5",
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",
@@ -27,8 +27,8 @@
27
27
  "dependencies": {
28
28
  "@hocuspocus/provider": "^2.13.6",
29
29
  "@tanbo/stream": "^1.2.6",
30
- "@textbus/core": "^4.3.3",
31
- "@viewfly/core": "^1.1.2",
30
+ "@textbus/core": "^4.3.5",
31
+ "@viewfly/core": "^1.1.10",
32
32
  "y-websocket": "^1.4.3",
33
33
  "yjs": "^13.6.14"
34
34
  },
@@ -50,5 +50,5 @@
50
50
  "bugs": {
51
51
  "url": "https://github.com/textbus/textbus.git/issues"
52
52
  },
53
- "gitHead": "d07e5acf88c96bb8eb37760fd71ccc00ae5d3f5b"
53
+ "gitHead": "f67cb5a86aa108dfdb3bc28078b07824dd93e60d"
54
54
  }