@textbus/collaborate 3.0.0-alpha.31 → 3.0.0-alpha.33

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  import { Observable, Subject, Subscription } from '@tanbo/stream';
2
- import { AbstractSelection, ComponentInstance, Controller, Factory, History, RootComponentRef, Scheduler, Selection, SelectionPaths, Slot, Starter } from '@textbus/core';
2
+ import { AbstractSelection, ComponentInstance, Controller, Registry, History, RootComponentRef, Scheduler, Selection, SelectionPaths, Slot, Starter } from '@textbus/core';
3
3
  import { Array as YArray, Doc as YDoc, Map as YMap, RelativePosition, Text as YText, Transaction, UndoManager } from 'yjs';
4
4
  interface CursorPosition {
5
5
  anchor: RelativePosition;
@@ -23,7 +23,7 @@ export declare class Collaborate implements History {
23
23
  protected rootComponentRef: RootComponentRef;
24
24
  protected controller: Controller;
25
25
  protected scheduler: Scheduler;
26
- protected factory: Factory;
26
+ protected registry: Registry;
27
27
  protected selection: Selection;
28
28
  protected starter: Starter;
29
29
  onLocalChangesApplied: Observable<void>;
@@ -52,7 +52,7 @@ export declare class Collaborate implements History {
52
52
  protected noRecord: {};
53
53
  protected historyItems: Array<CursorPosition | null>;
54
54
  protected index: number;
55
- constructor(stackSize: number, rootComponentRef: RootComponentRef, controller: Controller, scheduler: Scheduler, factory: Factory, selection: Selection, starter: Starter);
55
+ constructor(stackSize: number, rootComponentRef: RootComponentRef, controller: Controller, scheduler: Scheduler, registry: Registry, selection: Selection, starter: Starter);
56
56
  listen(): void;
57
57
  back(): void;
58
58
  forward(): void;
@@ -1,4 +1,4 @@
1
- import { makeError, HISTORY_STACK_SIZE, ChangeOrigin, Slot, RootComponentRef, Controller, Scheduler, Factory, Selection, Starter, History } from '@textbus/core';
1
+ import { makeError, HISTORY_STACK_SIZE, ChangeOrigin, Slot, RootComponentRef, Controller, Scheduler, Registry, Selection, Starter, History } from '@textbus/core';
2
2
  import { Injectable, Inject } from '@tanbo/di';
3
3
  import { Subject, map, filter } from '@tanbo/stream';
4
4
  import { Doc, UndoManager, Array, createAbsolutePositionFromRelativePosition, createRelativePositionFromTypeIndex, Map, Text } from 'yjs';
@@ -73,12 +73,12 @@ class ContentMap {
73
73
  }
74
74
  }
75
75
  let Collaborate = class Collaborate {
76
- constructor(stackSize, rootComponentRef, controller, scheduler, factory, selection, starter) {
76
+ constructor(stackSize, rootComponentRef, controller, scheduler, registry, selection, starter) {
77
77
  this.stackSize = stackSize;
78
78
  this.rootComponentRef = rootComponentRef;
79
79
  this.controller = controller;
80
80
  this.scheduler = scheduler;
81
- this.factory = factory;
81
+ this.registry = registry;
82
82
  this.selection = selection;
83
83
  this.starter = starter;
84
84
  this.yDoc = new Doc();
@@ -314,13 +314,13 @@ let Collaborate = class Collaborate {
314
314
  }
315
315
  const updateType = change.action;
316
316
  if (updateType === 'update' || updateType === 'add') {
317
- const attribute = this.factory.getAttribute(key);
317
+ const attribute = this.registry.getAttribute(key);
318
318
  if (attribute) {
319
319
  slot.setAttribute(attribute, content.getAttribute(key));
320
320
  }
321
321
  }
322
322
  else if (updateType === 'delete') {
323
- const attribute = this.factory.getAttribute(key);
323
+ const attribute = this.registry.getAttribute(key);
324
324
  if (attribute) {
325
325
  slot.removeAttribute(attribute);
326
326
  }
@@ -329,7 +329,7 @@ let Collaborate = class Collaborate {
329
329
  ev.delta.forEach(action => {
330
330
  if (Reflect.has(action, 'retain')) {
331
331
  if (action.attributes) {
332
- const formats = remoteFormatsToLocal(this.factory, action.attributes);
332
+ const formats = remoteFormatsToLocal(this.registry, action.attributes);
333
333
  if (formats.length) {
334
334
  slot.retain(action.retain, formats);
335
335
  }
@@ -344,7 +344,7 @@ let Collaborate = class Collaborate {
344
344
  let length = 1;
345
345
  if (typeof action.insert === 'string') {
346
346
  length = action.insert.length;
347
- slot.insert(action.insert, remoteFormatsToLocal(this.factory, action.attributes));
347
+ slot.insert(action.insert, remoteFormatsToLocal(this.registry, action.attributes));
348
348
  }
349
349
  else {
350
350
  const sharedComponent = action.insert;
@@ -391,7 +391,7 @@ let Collaborate = class Collaborate {
391
391
  const keys = Object.keys(formats);
392
392
  let length = keys.length;
393
393
  keys.forEach(key => {
394
- const formatter = this.factory.getFormatter(key);
394
+ const formatter = this.registry.getFormatter(key);
395
395
  if (!formatter) {
396
396
  length--;
397
397
  Reflect.deleteProperty(formats, key);
@@ -643,7 +643,7 @@ let Collaborate = class Collaborate {
643
643
  });
644
644
  const name = yMap.get('name');
645
645
  const state = yMap.get('state');
646
- const instance = this.factory.createComponentByData(name, {
646
+ const instance = this.registry.createComponentByData(name, {
647
647
  state,
648
648
  slots
649
649
  });
@@ -664,7 +664,7 @@ let Collaborate = class Collaborate {
664
664
  createSlotBySharedSlot(sharedSlot) {
665
665
  const content = sharedSlot.get('content');
666
666
  const delta = content.toDelta();
667
- const slot = this.factory.createSlot({
667
+ const slot = this.registry.createSlot({
668
668
  schema: sharedSlot.get('schema'),
669
669
  state: sharedSlot.get('state'),
670
670
  attributes: {},
@@ -673,7 +673,7 @@ let Collaborate = class Collaborate {
673
673
  });
674
674
  const attrs = content.getAttributes();
675
675
  Object.keys(attrs).forEach(key => {
676
- const attribute = this.factory.getAttribute(key);
676
+ const attribute = this.registry.getAttribute(key);
677
677
  if (attribute) {
678
678
  slot.setAttribute(attribute, attrs[key]);
679
679
  }
@@ -681,13 +681,13 @@ let Collaborate = class Collaborate {
681
681
  for (const action of delta) {
682
682
  if (action.insert) {
683
683
  if (typeof action.insert === 'string') {
684
- const formats = remoteFormatsToLocal(this.factory, action.attributes);
684
+ const formats = remoteFormatsToLocal(this.registry, action.attributes);
685
685
  slot.insert(action.insert, formats);
686
686
  }
687
687
  else {
688
688
  const sharedComponent = action.insert;
689
689
  const component = this.createComponentBySharedComponent(sharedComponent);
690
- slot.insert(component, remoteFormatsToLocal(this.factory, action.attributes));
690
+ slot.insert(component, remoteFormatsToLocal(this.registry, action.attributes));
691
691
  this.syncComponentSlots(sharedComponent.get('slots'), component);
692
692
  this.syncComponentState(sharedComponent, component);
693
693
  }
@@ -728,15 +728,15 @@ Collaborate = __decorate([
728
728
  __metadata("design:paramtypes", [Number, RootComponentRef,
729
729
  Controller,
730
730
  Scheduler,
731
- Factory,
731
+ Registry,
732
732
  Selection,
733
733
  Starter])
734
734
  ], Collaborate);
735
- function remoteFormatsToLocal(factory, attrs) {
735
+ function remoteFormatsToLocal(registry, attrs) {
736
736
  const formats = [];
737
737
  if (attrs) {
738
738
  Object.keys(attrs).forEach(key => {
739
- const formatter = factory.getFormatter(key);
739
+ const formatter = registry.getFormatter(key);
740
740
  if (formatter) {
741
741
  formats.push([formatter, attrs[key]]);
742
742
  }
package/bundles/index.js CHANGED
@@ -75,12 +75,12 @@ class ContentMap {
75
75
  }
76
76
  }
77
77
  exports.Collaborate = class Collaborate {
78
- constructor(stackSize, rootComponentRef, controller, scheduler, factory, selection, starter) {
78
+ constructor(stackSize, rootComponentRef, controller, scheduler, registry, selection, starter) {
79
79
  this.stackSize = stackSize;
80
80
  this.rootComponentRef = rootComponentRef;
81
81
  this.controller = controller;
82
82
  this.scheduler = scheduler;
83
- this.factory = factory;
83
+ this.registry = registry;
84
84
  this.selection = selection;
85
85
  this.starter = starter;
86
86
  this.yDoc = new yjs.Doc();
@@ -316,13 +316,13 @@ exports.Collaborate = class Collaborate {
316
316
  }
317
317
  const updateType = change.action;
318
318
  if (updateType === 'update' || updateType === 'add') {
319
- const attribute = this.factory.getAttribute(key);
319
+ const attribute = this.registry.getAttribute(key);
320
320
  if (attribute) {
321
321
  slot.setAttribute(attribute, content.getAttribute(key));
322
322
  }
323
323
  }
324
324
  else if (updateType === 'delete') {
325
- const attribute = this.factory.getAttribute(key);
325
+ const attribute = this.registry.getAttribute(key);
326
326
  if (attribute) {
327
327
  slot.removeAttribute(attribute);
328
328
  }
@@ -331,7 +331,7 @@ exports.Collaborate = class Collaborate {
331
331
  ev.delta.forEach(action => {
332
332
  if (Reflect.has(action, 'retain')) {
333
333
  if (action.attributes) {
334
- const formats = remoteFormatsToLocal(this.factory, action.attributes);
334
+ const formats = remoteFormatsToLocal(this.registry, action.attributes);
335
335
  if (formats.length) {
336
336
  slot.retain(action.retain, formats);
337
337
  }
@@ -346,7 +346,7 @@ exports.Collaborate = class Collaborate {
346
346
  let length = 1;
347
347
  if (typeof action.insert === 'string') {
348
348
  length = action.insert.length;
349
- slot.insert(action.insert, remoteFormatsToLocal(this.factory, action.attributes));
349
+ slot.insert(action.insert, remoteFormatsToLocal(this.registry, action.attributes));
350
350
  }
351
351
  else {
352
352
  const sharedComponent = action.insert;
@@ -393,7 +393,7 @@ exports.Collaborate = class Collaborate {
393
393
  const keys = Object.keys(formats);
394
394
  let length = keys.length;
395
395
  keys.forEach(key => {
396
- const formatter = this.factory.getFormatter(key);
396
+ const formatter = this.registry.getFormatter(key);
397
397
  if (!formatter) {
398
398
  length--;
399
399
  Reflect.deleteProperty(formats, key);
@@ -645,7 +645,7 @@ exports.Collaborate = class Collaborate {
645
645
  });
646
646
  const name = yMap.get('name');
647
647
  const state = yMap.get('state');
648
- const instance = this.factory.createComponentByData(name, {
648
+ const instance = this.registry.createComponentByData(name, {
649
649
  state,
650
650
  slots
651
651
  });
@@ -666,7 +666,7 @@ exports.Collaborate = class Collaborate {
666
666
  createSlotBySharedSlot(sharedSlot) {
667
667
  const content = sharedSlot.get('content');
668
668
  const delta = content.toDelta();
669
- const slot = this.factory.createSlot({
669
+ const slot = this.registry.createSlot({
670
670
  schema: sharedSlot.get('schema'),
671
671
  state: sharedSlot.get('state'),
672
672
  attributes: {},
@@ -675,7 +675,7 @@ exports.Collaborate = class Collaborate {
675
675
  });
676
676
  const attrs = content.getAttributes();
677
677
  Object.keys(attrs).forEach(key => {
678
- const attribute = this.factory.getAttribute(key);
678
+ const attribute = this.registry.getAttribute(key);
679
679
  if (attribute) {
680
680
  slot.setAttribute(attribute, attrs[key]);
681
681
  }
@@ -683,13 +683,13 @@ exports.Collaborate = class Collaborate {
683
683
  for (const action of delta) {
684
684
  if (action.insert) {
685
685
  if (typeof action.insert === 'string') {
686
- const formats = remoteFormatsToLocal(this.factory, action.attributes);
686
+ const formats = remoteFormatsToLocal(this.registry, action.attributes);
687
687
  slot.insert(action.insert, formats);
688
688
  }
689
689
  else {
690
690
  const sharedComponent = action.insert;
691
691
  const component = this.createComponentBySharedComponent(sharedComponent);
692
- slot.insert(component, remoteFormatsToLocal(this.factory, action.attributes));
692
+ slot.insert(component, remoteFormatsToLocal(this.registry, action.attributes));
693
693
  this.syncComponentSlots(sharedComponent.get('slots'), component);
694
694
  this.syncComponentState(sharedComponent, component);
695
695
  }
@@ -730,15 +730,15 @@ exports.Collaborate = __decorate([
730
730
  __metadata("design:paramtypes", [Number, core.RootComponentRef,
731
731
  core.Controller,
732
732
  core.Scheduler,
733
- core.Factory,
733
+ core.Registry,
734
734
  core.Selection,
735
735
  core.Starter])
736
736
  ], exports.Collaborate);
737
- function remoteFormatsToLocal(factory, attrs) {
737
+ function remoteFormatsToLocal(registry, attrs) {
738
738
  const formats = [];
739
739
  if (attrs) {
740
740
  Object.keys(attrs).forEach(key => {
741
- const formatter = factory.getFormatter(key);
741
+ const formatter = registry.getFormatter(key);
742
742
  if (formatter) {
743
743
  formats.push([formatter, attrs[key]]);
744
744
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbus/collaborate",
3
- "version": "3.0.0-alpha.31",
3
+ "version": "3.0.0-alpha.33",
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,7 +27,7 @@
27
27
  "dependencies": {
28
28
  "@tanbo/di": "^1.1.4",
29
29
  "@tanbo/stream": "^1.1.8",
30
- "@textbus/core": "^3.0.0-alpha.31",
30
+ "@textbus/core": "^3.0.0-alpha.33",
31
31
  "reflect-metadata": "^0.1.13",
32
32
  "y-protocols": "^1.0.5",
33
33
  "yjs": "^13.5.39"
@@ -50,5 +50,5 @@
50
50
  "bugs": {
51
51
  "url": "https://github.com/textbus/textbus.git/issues"
52
52
  },
53
- "gitHead": "341e11b65b5c82b1f4815f33831b2dfa5d49e1bc"
53
+ "gitHead": "7888d3b0a0977343c4f8483bb5792cb24a32939a"
54
54
  }