@textbus/collaborate 4.3.4 → 4.3.6

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.
@@ -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.4",
3
+ "version": "4.3.6",
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.4",
31
- "@viewfly/core": "^1.1.6",
30
+ "@textbus/core": "^4.3.6",
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": "b5c3e177447812e7316ac6fb6d9cd6d5e6300c7b"
53
+ "gitHead": "f09dce2a210eed0fde349b67fa8ecd7f904aefdf"
54
54
  }