diff --git a/dist b/dist index 3eafd787..42aa7ec5 160000 --- a/dist +++ b/dist @@ -1 +1 @@ -Subproject commit 3eafd78710a30cd01bf4c6b3553c141e7ac604a5 +Subproject commit 42aa7ec5c9c0b4f2734b5b01eae7f0df63bfd9ff diff --git a/package.json b/package.json index 12a292ec..0d4957f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yjs", - "version": "12.3.0", + "version": "12.3.1", "description": "A framework for real-time p2p shared editing on any data", "main": "./src/y.js", "scripts": { diff --git a/src/Utils.js b/src/Utils.js index 9e8a2aff..7e844d6a 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -29,9 +29,13 @@ export default function Utils (Y) { event.path = [] while (type != null && type._deepEventHandler != null) { type._deepEventHandler.callEventListeners(event) - if (type._parent != null && type._parentSub != null) { - event.path = [type._parentSub].concat(event.path) - type = type.os.getType(type._parent) + var parent = null + if (type._parent != null) { + parent = type.os.getType(type._parent) + } + if (parent != null && parent._getPathToChild != null) { + event.path = [parent._getPathToChild(type._model)].concat(event.path) + type = parent } else { type = null } @@ -476,7 +480,20 @@ export default function Utils (Y) { Default class of custom types! */ class CustomType { - + getPath () { + var parent = null + if (this._parent != null) { + parent = this.os.getType(this._parent) + } + if (parent != null && parent._getPathToChild != null) { + var firstKey = parent._getPathToChild(this._model) + var parentKeys = parent.getPath() + parentKeys.push(firstKey) + return parentKeys + } else { + return [] + } + } } Y.utils.CustomType = CustomType