tests are no longer failing :)
This commit is contained in:
71
build/node/Types/List.js
Normal file
71
build/node/Types/List.js
Normal file
@@ -0,0 +1,71 @@
|
||||
var YList;
|
||||
|
||||
YList = (function() {
|
||||
function YList(list) {
|
||||
if (list == null) {
|
||||
this._list = [];
|
||||
} else if (list.constructor === Array) {
|
||||
this._list = list;
|
||||
} else {
|
||||
throw new Error("Y.List expects an Array as a parameter");
|
||||
}
|
||||
}
|
||||
|
||||
YList.prototype._name = "List";
|
||||
|
||||
YList.prototype._getModel = function(types, ops) {
|
||||
if (this._model == null) {
|
||||
this._model = new ops.ListManager(this).execute();
|
||||
this.insert(0, this._list);
|
||||
}
|
||||
delete this._list;
|
||||
return this._model;
|
||||
};
|
||||
|
||||
YList.prototype._setModel = function(_at__model) {
|
||||
this._model = _at__model;
|
||||
return delete this._list;
|
||||
};
|
||||
|
||||
YList.prototype.val = function() {
|
||||
return this._model.val.apply(this._model, arguments);
|
||||
};
|
||||
|
||||
YList.prototype.observe = function() {
|
||||
this._model.observe.apply(this._model, arguments);
|
||||
return this;
|
||||
};
|
||||
|
||||
YList.prototype.unobserve = function() {
|
||||
this._model.unobserve.apply(this._model, arguments);
|
||||
return this;
|
||||
};
|
||||
|
||||
YList.prototype.insert = function(position, content) {
|
||||
if (typeof position !== "number") {
|
||||
throw new Error("Y.List.insert expects a Number as the first parameter!");
|
||||
}
|
||||
this._model.insert(position, content);
|
||||
return this;
|
||||
};
|
||||
|
||||
YList.prototype["delete"] = function(position, length) {
|
||||
this._model["delete"](position, length);
|
||||
return this;
|
||||
};
|
||||
|
||||
return YList;
|
||||
|
||||
})();
|
||||
|
||||
if (typeof window !== "undefined" && window !== null) {
|
||||
if (window.Y != null) {
|
||||
window.Y.List = YList;
|
||||
} else {
|
||||
throw new Error("You must first import Y!");
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof module !== "undefined" && module !== null) {
|
||||
module.exports = YList;
|
||||
}
|
||||
@@ -39,7 +39,13 @@ YObject = (function() {
|
||||
};
|
||||
|
||||
YObject.prototype.observe = function(f) {
|
||||
return this._model.observe(f);
|
||||
this._model.observe(f);
|
||||
return this;
|
||||
};
|
||||
|
||||
YObject.prototype.unobserve = function(f) {
|
||||
this._model.unobserve(f);
|
||||
return this;
|
||||
};
|
||||
|
||||
YObject.prototype.val = function(name, content) {
|
||||
@@ -64,7 +70,8 @@ YObject = (function() {
|
||||
};
|
||||
|
||||
YObject.prototype["delete"] = function(name) {
|
||||
return this._model["delete"](name);
|
||||
this._model["delete"](name);
|
||||
return this;
|
||||
};
|
||||
|
||||
return YObject;
|
||||
|
||||
@@ -52,7 +52,7 @@ YText = (function() {
|
||||
throw new Error("Y.String.insert expects a String as the second parameter!");
|
||||
}
|
||||
if (typeof position !== "number") {
|
||||
throw new Error("Y.String.insert expects a Number as the second parameter!");
|
||||
throw new Error("Y.String.insert expects a Number as the first parameter!");
|
||||
}
|
||||
if (content.length > 0) {
|
||||
ith = this._model.getOperationByPosition(position);
|
||||
|
||||
Reference in New Issue
Block a user