feat: extract cursor component

This commit is contained in:
cudr
2019-10-14 00:49:28 +03:00
parent 0ceb38bbfd
commit 21a4a7d99a
14 changed files with 105 additions and 104 deletions

View File

@@ -1,4 +1,4 @@
import { Operation, SyncDoc } from '../model'
import { Operation, SyncDoc } from '../model/index'
export const addAnnotation = (doc: SyncDoc, op: Operation): SyncDoc => {
console.log('addAnnotation!!!', op.toJS())

View File

@@ -21,7 +21,10 @@ export const applyOperation = (doc: SyncDoc, op: Operation): SyncDoc => {
try {
const applyOp = opType[op.type]
if (!applyOp) throw new TypeError('Unsupported operation type!')
if (!applyOp) {
console.log('operation', op.toJS())
throw new TypeError(`Unsupported operation type: ${op.type}!`)
}
return applyOp(doc, op)
} catch (e) {

View File

@@ -30,9 +30,7 @@ const toSlateOp = (ops: Automerge.Diff[], doc) => {
[]
])
const res = defer.flatMap(op => op(tempTree, doc)).filter(op => op)
return res
return defer.flatMap(op => op(tempTree, doc)).filter(op => op)
}
export { toSlateOp }

View File

@@ -1,5 +1,5 @@
import { Operation, Selection } from 'slate'
import { List } from 'immutable'
import * as Immutable from 'immutable'
import merge from 'lodash/merge'
import { toJS } from '../utils'
@@ -51,7 +51,7 @@ export const removeCursor = (doc: SyncDoc, key: CursorKey) => {
return doc
}
export const cursorOpFilter = (ops: List<Operation>, type: string) =>
export const cursorOpFilter = (ops: Immutable.List<Operation>, type: string) =>
ops.filter(op => {
if (op.type === 'set_annotation') {
return !(