ng2-resource-rest
Version:
Angular2 resource module with simple decorators
57 lines (56 loc) • 1.91 kB
JavaScript
var ResourceModel = (function () {
function ResourceModel() {
}
ResourceModel.create = function (data, commit) {
if (data === void 0) { data = {}; }
if (commit === void 0) { commit = true; }
console.error('Model static create is not availbale anymore. Please use resource.createModel() method');
};
ResourceModel.prototype.$setData = function (data) {
Object.assign(this, data);
return this;
};
ResourceModel.prototype.$save = function () {
if (this.isNew()) {
return this.$create();
}
else {
return this.$update();
}
};
ResourceModel.prototype.$create = function () {
return this.$resource_method('create');
};
ResourceModel.prototype.$update = function () {
return this.$resource_method('update');
};
ResourceModel.prototype.$remove = function () {
return this.$resource_method('remove');
};
ResourceModel.prototype.toJSON = function () {
var retObj = {};
for (var propName in this) {
if (!(this[propName] instanceof Function) && !(propName.charAt(0) === '$')) {
retObj[propName] = this[propName];
}
}
return retObj;
};
ResourceModel.prototype.isNew = function () {
return !this['id'];
};
ResourceModel.prototype.$resource_method = function (methodName) {
if (!this.$resource) {
console.error("Your Resource is not set. Please use resource.createModel() method to create model.");
return this;
}
if (!this.$resource[methodName]) {
console.error("Your Resource has no implemented " + methodName + " method.");
return this;
}
this.$resource[methodName](this);
return this;
};
return ResourceModel;
}());
export { ResourceModel };