var NodeFragment = function(document, params) {
Fragment.call(this, document);
this.node = params.node;
- this.nodePath = params.node.getPath();
+ this.nodePath = this.isValid() ? params.node.getPath() : null;
};
NodeFragment.prototype = Object.create(Fragment.prototype);
$.extend(NodeFragment.prototype, {
return this.document.containsNode(this.node);
},
restoreFromPaths: function() {
- this.node = this.document.getNodeByPath(this.nodePath);
+ if(this.nodePath) {
+ this.node = this.document.getNodeByPath(this.nodePath);
+ }
}
});
var CaretFragment = function(document, params) {
- NodeFragment.call(this, document, params);
this.offset = params.offset;
+ NodeFragment.call(this, document, params);
};
CaretFragment.prototype = Object.create(NodeFragment.prototype);
hasSiblingBoundries: function() {
return this.isValid() && this.startNode.isSiblingOf(this.endNode);
},
+ hasSameBoundries: function() {
+ return this.isValid() && this.startNode.sameNode(this.endNode);
+ },
boundriesSiblingParents: function() {
return this.startNode.document.getSiblingParents({
node1: this.startNode,