mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Add DOMRange#destroy and UI.remove
This commit is contained in:
@@ -276,7 +276,7 @@ DOMRange.prototype._memberIn = function (m) {
|
||||
m.$blaze_range = this;
|
||||
};
|
||||
|
||||
DOMRange.prototype._memberOut = function (m, _skipNodes) {
|
||||
DOMRange._destroy = function (m, _skipNodes) {
|
||||
if (m instanceof DOMRange) {
|
||||
if (m.view)
|
||||
Blaze.destroyView(m.view, _skipNodes);
|
||||
@@ -290,6 +290,8 @@ DOMRange.prototype._memberOut = function (m, _skipNodes) {
|
||||
}
|
||||
};
|
||||
|
||||
DOMRange.prototype._memberOut = DOMRange._destroy;
|
||||
|
||||
// Tear down, but don't remove, the members. Used when chunks
|
||||
// of DOM are being torn down or replaced.
|
||||
DOMRange.prototype.destroyMembers = function (_skipNodes) {
|
||||
@@ -298,6 +300,10 @@ DOMRange.prototype.destroyMembers = function (_skipNodes) {
|
||||
this._memberOut(members[i], _skipNodes);
|
||||
};
|
||||
|
||||
DOMRange.prototype.destroy = function (_skipNodes) {
|
||||
DOMRange._destroy(this, _skipNodes);
|
||||
};
|
||||
|
||||
DOMRange.prototype.containsElement = function (elem) {
|
||||
if (! this.attached)
|
||||
throw new Error("Must be attached");
|
||||
|
||||
@@ -248,4 +248,14 @@ UI.insert = function (range, parentElement, nextNode) {
|
||||
range.attach(parentElement, nextNode);
|
||||
};
|
||||
|
||||
// XXX test and document
|
||||
UI.remove = function (range) {
|
||||
if (! range instanceof Blaze.DOMRange)
|
||||
throw new Error("Expected template rendered with UI.render");
|
||||
|
||||
if (range.attached)
|
||||
range.detach();
|
||||
range.destroy();
|
||||
};
|
||||
|
||||
UI.body = Template.__body__;
|
||||
|
||||
Reference in New Issue
Block a user