@difizen/libro-core 0.2.12 → 0.2.13

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.
@@ -59,6 +59,7 @@ export declare class LibroService implements NotebookService, Disposable {
59
59
  protected _hasFocus: boolean;
60
60
  getOrCreateModel(options: NotebookOption): import("./libro-protocol.js").NotebookModel;
61
61
  getOrCreateView(options: NotebookOption): Promise<NotebookView>;
62
+ protected watchNotebookView(view: NotebookView): void;
62
63
  setActive(view?: NotebookView): void;
63
64
  setHasFocus(hasFocus: boolean): void;
64
65
  protected isDisposed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-service.d.ts","sourceRoot":"","sources":["../src/libro-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-service.d.ts","sourceRoot":"","sources":["../src/libro-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI9D,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,cAAc,EAAE,KAAK,CAAC;QACpB,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,UAAU,EAAE,QAAQ,EAAE,CAAC;QACvB,YAAY,EAAE,QAAQ,EAAE,CAAC;KAC1B,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,QAAQ,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,qBACa,YAAa,YAAW,eAAe,EAAE,UAAU;IAC9D,SAAS,CAAC,SAAS,uBAA8B;IAC3B,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC3C,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACvE,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAErC,SAAS,EAAE,MAAM,CAAC;IAGlB,YAAY,UAAS;gBAEa,YAAY,EAAE,YAAY;IAQpD,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAiB;IACpF,IAAI,eAAe,uFAElB;IACD,IAAI,MAAM,IAAI,YAAY,GAAG,SAAS,CAErC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,EAGzC;IAEO,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IACxC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAiB;IACnF,IAAI,cAAc,uFAEjB;IAED,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAiB;IAC9E,IAAI,qBAAqB,2EAExB;IACD,SAAS,CAAC,0BAA0B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAiB;IAC5E,IAAI,mBAAmB,2EAEtB;IACD,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IACpF,IAAI,qBAAqB,0DAExB;IACD,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAiB;IAC7E,IAAI,oBAAoB,2EAEvB;IACD,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAiB;IAC5E,IAAI,qBAAqB,kDAExB;IACD,SAAS,CAAC,0BAA0B,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAiB;IAC1E,IAAI,mBAAmB,kDAEtB;IACD,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IACpF,IAAI,qBAAqB,0DAExB;IACD,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAiB;IAC5E,IAAI,qBAAqB,kDAExB;IAED,IAAI,KAAK,IAAI,YAAY,GAAG,SAAS,CAEpC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,EAGxC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAIzC,wBAAwB,CAAC,QAAQ,EAAE,YAAY;IAO/C,SAAS,CAAC,SAAS,UAAS;IAE5B,gBAAgB,CAAC,OAAO,EAAE,cAAc;IAWlC,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBrE,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY;IAgD9C,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAKpC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIpC,SAAS,CAAC,UAAU,UAAS;IAC7B,IAAI,QAAQ,YAEX;IACD,OAAO;CAIR"}
@@ -156,7 +156,6 @@ export var LibroService = (_dec = singleton({
156
156
  key: "getOrCreateView",
157
157
  value: function () {
158
158
  var _getOrCreateView = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
159
- var _this2 = this;
160
159
  var model, notebookViewPromise, notebookView;
161
160
  return _regeneratorRuntime().wrap(function _callee$(_context) {
162
161
  while (1) switch (_context.prev = _context.next) {
@@ -169,48 +168,13 @@ export var LibroService = (_dec = singleton({
169
168
  return notebookViewPromise;
170
169
  case 4:
171
170
  notebookView = _context.sent;
171
+ if (!this.libroViewTracker.viewCache.has(notebookView.id)) {
172
+ this.watchNotebookView(notebookView);
173
+ }
172
174
  this.libroViewTracker.viewCache.set(notebookView.id, notebookView);
173
175
  this.onNotebookViewCreatedEmitter.fire(notebookView);
174
- this.toDispose.push(notebookView.onSave(function () {
175
- _this2.onNotebookViewSavedEmitter.fire(notebookView);
176
- }));
177
- this.toDispose.push(notebookView.model.onCellContentChanged(function (e) {
178
- _this2.onNotebookCellChangedEmitter.fire(e);
179
- }));
180
- this.toDispose.push(notebookView.model.onCellViewChanged(function (e) {
181
- var changes = {
182
- libroView: notebookView,
183
- cellChanges: [],
184
- contentChanges: []
185
- };
186
- if (e.delete) {
187
- var _e$delete;
188
- changes.contentChanges.push({
189
- range: {
190
- start: e.delete.index,
191
- end: e.delete.index + ((_e$delete = e.delete) === null || _e$delete === void 0 ? void 0 : _e$delete.number)
192
- },
193
- removedCells: e.delete.cells,
194
- addedCells: []
195
- });
196
- _this2.onNotebookCellDeletedEmitter.fire(e.delete.cells);
197
- }
198
- if (e.insert) {
199
- var _e$insert;
200
- changes.contentChanges.push({
201
- range: {
202
- start: e.insert.index,
203
- end: e.insert.index + ((_e$insert = e.insert) === null || _e$insert === void 0 ? void 0 : _e$insert.cells.length)
204
- },
205
- removedCells: [],
206
- addedCells: e.insert.cells
207
- });
208
- _this2.onNotebookCellCreatedEmitter.fire(e.insert.cells);
209
- }
210
- _this2.onNotebookViewChangedEmitter.fire(changes);
211
- }));
212
176
  return _context.abrupt("return", notebookViewPromise);
213
- case 11:
177
+ case 9:
214
178
  case "end":
215
179
  return _context.stop();
216
180
  }
@@ -221,6 +185,49 @@ export var LibroService = (_dec = singleton({
221
185
  }
222
186
  return getOrCreateView;
223
187
  }()
188
+ }, {
189
+ key: "watchNotebookView",
190
+ value: function watchNotebookView(view) {
191
+ var _this2 = this;
192
+ this.toDispose.push(view.onSave(function () {
193
+ _this2.onNotebookViewSavedEmitter.fire(view);
194
+ }));
195
+ this.toDispose.push(view.model.onCellContentChanged(function (e) {
196
+ _this2.onNotebookCellChangedEmitter.fire(e);
197
+ }));
198
+ this.toDispose.push(view.model.onCellViewChanged(function (e) {
199
+ var changes = {
200
+ libroView: view,
201
+ cellChanges: [],
202
+ contentChanges: []
203
+ };
204
+ if (e.delete) {
205
+ var _e$delete;
206
+ changes.contentChanges.push({
207
+ range: {
208
+ start: e.delete.index,
209
+ end: e.delete.index + ((_e$delete = e.delete) === null || _e$delete === void 0 ? void 0 : _e$delete.number)
210
+ },
211
+ removedCells: e.delete.cells,
212
+ addedCells: []
213
+ });
214
+ _this2.onNotebookCellDeletedEmitter.fire(e.delete.cells);
215
+ }
216
+ if (e.insert) {
217
+ var _e$insert;
218
+ changes.contentChanges.push({
219
+ range: {
220
+ start: e.insert.index,
221
+ end: e.insert.index + ((_e$insert = e.insert) === null || _e$insert === void 0 ? void 0 : _e$insert.cells.length)
222
+ },
223
+ removedCells: [],
224
+ addedCells: e.insert.cells
225
+ });
226
+ _this2.onNotebookCellCreatedEmitter.fire(e.insert.cells);
227
+ }
228
+ _this2.onNotebookViewChangedEmitter.fire(changes);
229
+ }));
230
+ }
224
231
  }, {
225
232
  key: "setActive",
226
233
  value: function setActive(view) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-core",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@ant-design/icons": "^5.1.0",
37
- "@difizen/libro-code-editor": "^0.2.12",
38
- "@difizen/libro-common": "^0.2.12",
39
- "@difizen/libro-shared-model": "^0.2.12",
40
- "@difizen/libro-virtualized": "^0.2.12",
37
+ "@difizen/libro-code-editor": "^0.2.13",
38
+ "@difizen/libro-common": "^0.2.13",
39
+ "@difizen/libro-shared-model": "^0.2.13",
40
+ "@difizen/libro-virtualized": "^0.2.13",
41
41
  "@difizen/mana-app": "latest",
42
42
  "@difizen/mana-l10n": "latest",
43
43
  "@difizen/mana-react": "latest",
@@ -151,22 +151,30 @@ export class LibroService implements NotebookService, Disposable {
151
151
  },
152
152
  );
153
153
  const notebookView = await notebookViewPromise;
154
+ if (!this.libroViewTracker.viewCache.has(notebookView.id)) {
155
+ this.watchNotebookView(notebookView);
156
+ }
154
157
  this.libroViewTracker.viewCache.set(notebookView.id, notebookView);
155
158
  this.onNotebookViewCreatedEmitter.fire(notebookView);
159
+
160
+ return notebookViewPromise;
161
+ }
162
+
163
+ protected watchNotebookView(view: NotebookView) {
156
164
  this.toDispose.push(
157
- notebookView.onSave(() => {
158
- this.onNotebookViewSavedEmitter.fire(notebookView);
165
+ view.onSave(() => {
166
+ this.onNotebookViewSavedEmitter.fire(view);
159
167
  }),
160
168
  );
161
169
  this.toDispose.push(
162
- notebookView.model.onCellContentChanged((e) => {
170
+ view.model.onCellContentChanged((e) => {
163
171
  this.onNotebookCellChangedEmitter.fire(e);
164
172
  }),
165
173
  );
166
174
  this.toDispose.push(
167
- notebookView.model.onCellViewChanged((e) => {
175
+ view.model.onCellViewChanged((e) => {
168
176
  const changes: NotebookViewChange = {
169
- libroView: notebookView,
177
+ libroView: view,
170
178
  cellChanges: [],
171
179
  contentChanges: [],
172
180
  };
@@ -198,8 +206,6 @@ export class LibroService implements NotebookService, Disposable {
198
206
  this.onNotebookViewChangedEmitter.fire(changes);
199
207
  }),
200
208
  );
201
-
202
- return notebookViewPromise;
203
209
  }
204
210
 
205
211
  setActive(view?: NotebookView): void {