@aca-1/a2-composer
Version:
Angular 2 Interface for composer
40 lines • 1.46 kB
JavaScript
import { COMMON } from './common';
var Resource = (function () {
function Resource(factory, data, url) {
this.factory = factory;
this.url = url;
if (typeof data === 'object') {
var keys = Object.keys(data);
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
var key = keys_1[_i];
this[key] = data[key];
}
}
}
Resource.prototype.save = function () {
var _this = this;
if (!this.url || this.id === undefined) {
return {};
}
var f = this.factory;
var s = this.save;
var url = this.url;
delete this.save;
delete this.factory;
delete this.url;
var req_data = JSON.parse(JSON.stringify(this));
this.save = s;
this.factory = f;
this.url = url;
return (new Promise(function (resolve, reject) {
var result;
var method = JSON.parse(JSON.stringify(COMMON.crud.save));
method.url = url;
_this.factory._put(COMMON.crud.save, { id: _this.id }, req_data)
.subscribe(function (data) { return result = data; }, function (err) { return reject(err); }, function () { return resolve(result); });
})).then(function (res) { return res; }, function (err) { return err; });
};
return Resource;
}());
export { Resource };
//# sourceMappingURL=resource.class.js.map