Compare commits

..

1 Commits

Author SHA1 Message Date
Kevin Jahns
e648409ca0 v13.0.0-34 -- distribution files 2017-11-26 23:24:52 -08:00
8 changed files with 22 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "yjs",
"version": "13.0.0-35",
"version": "13.0.0-34",
"description": "A framework for real-time p2p shared editing on any data",
"main": "./y.node.js",
"browser": "./y.js",

View File

@@ -1,51 +0,0 @@
const filterMap = new Map()
export function addFilter (type, filter) {
if (!filterMap.has(type)) {
filterMap.set(type, new Set())
}
const filters = filterMap.get(type)
filters.add(filter)
}
export function executeFilter (type) {
const y = type._y
let parent = type
const nodeName = type.nodeName
let attributes = new Map()
if (type.getAttributes !== undefined) {
let attrs = type.getAttributes()
for (let key in attrs) {
attributes.set(key, attrs[key])
}
}
let filteredAttributes = new Map(attributes)
// is not y, supports dom filtering
while (parent !== y && parent.setDomFilter != null) {
const filters = filterMap.get(parent)
if (filters !== undefined) {
for (let f of filters) {
filteredAttributes = f(nodeName, filteredAttributes)
if (filteredAttributes === null) {
break
}
}
if (filteredAttributes === null) {
break
}
}
parent = parent._parent
}
if (filteredAttributes === null) {
type._delete(y)
} else {
// iterate original attributes
attributes.forEach((value, key) => {
// delete all attributes that are not in filteredAttributes
if (!filteredAttributes.has(key)) {
type.removeAttribute(key)
}
})
}
}

View File

@@ -68,7 +68,6 @@ export function afterTransactionSelectionFixer (y, transaction, remote) {
}
}
if (shouldUpdate) {
console.info('updating selection!!')
browserSelection.setBaseAndExtent(
anchorNode,
anchorOffset,

View File

@@ -7,13 +7,13 @@ export function getRelativePosition (type, offset) {
} else {
let t = type._start
while (t !== null) {
if (t._deleted === false) {
if (t._length >= offset) {
return [t._id.user, t._id.clock + offset - 1]
}
if (t._right === null) {
return [t._id.user, t._id.clock + t._length - 1]
}
if (t._length >= offset) {
return [t._id.user, t._id.clock + offset - 1]
}
if (t._right === null) {
return [t._id.user, t._id.clock + t._length - 1]
}
if (!t._deleted) {
offset -= t._length
}
t = t._right

8
y.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
/**
* yjs - A framework for real-time p2p shared editing on any data
* @version v13.0.0-35
* @version v13.0.0-34
* @license MIT
*/
@@ -2898,13 +2898,13 @@ function getRelativePosition (type, offset) {
} else {
let t = type._start;
while (t !== null) {
if (t._deleted === false) {
if (t._length >= offset) {
return [t._id.user, t._id.clock + offset - 1]
}
if (t._right === null) {
return [t._id.user, t._id.clock + t._length - 1]
}
if (t._length >= offset) {
return [t._id.user, t._id.clock + offset - 1]
}
if (t._right === null) {
return [t._id.user, t._id.clock + t._length - 1]
}
if (!t._deleted) {
offset -= t._length;
}
t = t._right;
@@ -3017,7 +3017,6 @@ function afterTransactionSelectionFixer (y, transaction, remote) {
}
}
if (shouldUpdate) {
console.info('updating selection!!');
browserSelection.setBaseAndExtent(
anchorNode,
anchorOffset,

File diff suppressed because one or more lines are too long