Compare commits

..

3 Commits

Author SHA1 Message Date
Kevin Jahns
c4c718e094 v13.0.0-42 -- distribution files 2017-12-19 17:39:27 +01:00
Kevin Jahns
8f3bd7170a 13.0.0-42 2017-12-19 17:39:01 +01:00
Kevin Jahns
5586334549 fix initial content in y-array 2017-12-19 17:37:04 +01:00
9 changed files with 33 additions and 15 deletions

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "yjs", "name": "yjs",
"version": "13.0.0-41", "version": "13.0.0-42",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

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

View File

@@ -207,8 +207,12 @@ export default class YArray extends Type {
prevJsonIns._content.push(c) prevJsonIns._content.push(c)
} }
} }
if (prevJsonIns !== null && y !== null) { if (prevJsonIns !== null) {
prevJsonIns._integrate(y) if (y !== null) {
prevJsonIns._integrate(y)
} else if (prevJsonIns._left === null) {
this._start = prevJsonIns
}
} }
}) })
} }

View File

@@ -24,6 +24,11 @@ export default class YXmlHook extends YMap {
} }
return this._dom return this._dom
} }
_unbindFromDom () {
this._dom._yxml = null
this._yxml = null
// TODO: cleanup hook?
}
_fromBinary (y, decoder) { _fromBinary (y, decoder) {
const missing = super._fromBinary(y, decoder) const missing = super._fromBinary(y, decoder)
this.hookName = decoder.readVarString() this.hookName = decoder.readVarString()

View File

@@ -174,7 +174,7 @@ export function reflectChangesOnDom (events, _document) {
// let anchorViewPosition = getAnchorViewPosition(yxml._scrollElement) // let anchorViewPosition = getAnchorViewPosition(yxml._scrollElement)
if (yxml.constructor === YXmlText) { if (yxml.constructor === YXmlText) {
yxml._dom.nodeValue = yxml.toString() yxml._dom.nodeValue = yxml.toString()
} else { } else if (event.attributesChanged !== undefined) {
// update attributes // update attributes
event.attributesChanged.forEach(attributeName => { event.attributesChanged.forEach(attributeName => {
const value = yxml.getAttribute(attributeName) const value = yxml.getAttribute(attributeName)

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 * yjs - A framework for real-time p2p shared editing on any data
* @version v13.0.0-41 * @version v13.0.0-42
* @license MIT * @license MIT
*/ */
@@ -2406,8 +2406,12 @@ class YArray extends Type {
prevJsonIns._content.push(c); prevJsonIns._content.push(c);
} }
} }
if (prevJsonIns !== null && y !== null) { if (prevJsonIns !== null) {
prevJsonIns._integrate(y); if (y !== null) {
prevJsonIns._integrate(y);
} else if (prevJsonIns._left === null) {
this._start = prevJsonIns;
}
} }
}); });
} }
@@ -2760,7 +2764,7 @@ function reflectChangesOnDom (events, _document) {
// let anchorViewPosition = getAnchorViewPosition(yxml._scrollElement) // let anchorViewPosition = getAnchorViewPosition(yxml._scrollElement)
if (yxml.constructor === YXmlText) { if (yxml.constructor === YXmlText) {
yxml._dom.nodeValue = yxml.toString(); yxml._dom.nodeValue = yxml.toString();
} else { } else if (event.attributesChanged !== undefined) {
// update attributes // update attributes
event.attributesChanged.forEach(attributeName => { event.attributesChanged.forEach(attributeName => {
const value = yxml.getAttribute(attributeName); const value = yxml.getAttribute(attributeName);
@@ -4237,6 +4241,11 @@ class YXmlHook extends YMap {
} }
return this._dom return this._dom
} }
_unbindFromDom () {
this._dom._yxml = null;
this._yxml = null;
// TODO: cleanup hook?
}
_fromBinary (y, decoder) { _fromBinary (y, decoder) {
const missing = super._fromBinary(y, decoder); const missing = super._fromBinary(y, decoder);
this.hookName = decoder.readVarString(); this.hookName = decoder.readVarString();

File diff suppressed because one or more lines are too long