diff --git a/src/lib/ng-noosfero-api/http/restangular_service.ts b/src/lib/ng-noosfero-api/http/restangular_service.ts index b65c716..42a2df1 100644 --- a/src/lib/ng-noosfero-api/http/restangular_service.ts +++ b/src/lib/ng-noosfero-api/http/restangular_service.ts @@ -11,6 +11,8 @@ export abstract class RestangularService { private baseResource: restangular.IElement; + private currentPromise: ng.IDeferred; + /** * Creates an instance of RestangularService. * @@ -20,6 +22,7 @@ export abstract class RestangularService { */ constructor(protected restangularService: restangular.IService, protected $q: ng.IQService, protected $log: ng.ILogService) { this.baseResource = restangularService.all(this.getResourcePath()); + this.resetCurrent(); // TODO // this.restangularService.setResponseInterceptor((data, operation, what, url, response, deferred) => { // let transformedData: any = data; @@ -32,6 +35,18 @@ export abstract class RestangularService { // }); } + public resetCurrent() { + this.currentPromise = this.$q.defer(); + } + + public getCurrent(): ng.IPromise { + return this.currentPromise.promise; + } + + public setCurrent(object: T) { + this.currentPromise.resolve(object); + } + protected extractData(response: restangular.IResponse): noosfero.RestResult { let dataKey: string; if (response.data && this.getDataKeys()) { -- libgit2 0.21.2