diff --git a/src/core.ts b/src/core.ts index 0cc35eab..71ad3cd8 100644 --- a/src/core.ts +++ b/src/core.ts @@ -1,4 +1,4 @@ -import { Injectable, Optional } from '@angular/core'; +import { Injectable, Optional, isDevMode } from '@angular/core'; import { Service } from './service'; import { Resource } from './resource'; import { JsonapiConfig } from './jsonapi-config'; @@ -61,10 +61,10 @@ export class Core { if (error.status <= 0) { // offline? - if (!Core.me.loadingsOffline(error)) { + if (!Core.me.loadingsOffline(error) && isDevMode()) { console.warn('Jsonapi.Http.exec (use JsonapiCore.loadingsOffline for catch it) error =>', error); } - } else if (call_loadings_error && !Core.me.loadingsError(error)) { + } else if (call_loadings_error && !Core.me.loadingsError(error) && isDevMode()) { console.warn('Jsonapi.Http.exec (use JsonapiCore.loadingsError for catch it) error =>', error); } diff --git a/src/package.json b/src/package.json index bd54517a..3e269984 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "ngx-jsonapi", - "version": "2.0.0-rc.1", + "version": "2.0.0-rc.2", "description": "JSON API library for Angular", "module": "ngx-jsonapi/@ngx-jsonapi/ngx-jsonapi.es5.js", "es2015": "ngx-jsonapi/@ngx-jsonapi/ngx-jsonapi.js", diff --git a/src/resource.ts b/src/resource.ts index db46925c..a19b5dce 100644 --- a/src/resource.ts +++ b/src/resource.ts @@ -191,11 +191,16 @@ export class Resource implements ICacheable { return false; } - if (this.relationships[type_alias] instanceof DocumentCollection) { - console.warn('@todo removeRelationship'); - // delete this.relationships[type_alias].data[id]; @todo + let relation = this.relationships[type_alias]; + if (relation instanceof DocumentCollection) { + for (let i = 0; i < relation.data.length; i++) { + if (relation.data[i].id === id) { + delete relation.data[i]; + break; + } + } } else { - this.relationships[type_alias].data = []; + relation.data.reset(); } return true; diff --git a/src/services/cachestore.ts b/src/services/cachestore.ts index 45c685b0..c6b25ee9 100644 --- a/src/services/cachestore.ts +++ b/src/services/cachestore.ts @@ -9,6 +9,7 @@ import { DocumentCollection } from '../document-collection'; import { Observable, Subject } from 'rxjs'; import { Page } from './page'; import { DocumentResource } from '../document-resource'; +import { isDevMode } from '@angular/core'; export class CacheStore { public async getResource(resource: Resource, include: Array = []): Promise { @@ -243,7 +244,7 @@ export class CacheStore { if (builded_resource.is_new) { // no está en memoria, la pedimos a store include_promises.push(this.getResource(builded_resource)); - } else { + } else if (isDevMode()) { console.warn('ts-angular-json: esto no debería pasar #isdjf2l1a'); } resource.addRelationship(builded_resource, resource_alias); diff --git a/src/services/converter.ts b/src/services/converter.ts index b8022c0d..a454d876 100644 --- a/src/services/converter.ts +++ b/src/services/converter.ts @@ -3,12 +3,10 @@ import { Core } from '../core'; import { Resource } from '../resource'; import { Service } from '../service'; import { IResourcesByType, IObjectsById } from '../interfaces'; -import { ResourceRelationshipsConverter } from './resource-relationships-converter'; import { IDataObject } from '../interfaces/data-object'; import { IDataCollection } from '../interfaces/data-collection'; import { IDataResource } from '../interfaces/data-resource'; -import { Base } from '../services/base'; -import { DocumentCollection } from '../document-collection'; +import { isDevMode } from '@angular/core'; export class Converter { /* @@ -36,11 +34,13 @@ export class Converter { if (resource_service) { return Converter.procreate(json_resource); } else { - console.warn( - '`' + json_resource.type + '`', - 'service not found on json2resource().', - 'Use @Autoregister() on service and inject it on component.' - ); + if (isDevMode()) { + console.warn( + '`' + json_resource.type + '`', + 'service not found on json2resource().', + 'Use @Autoregister() on service and inject it on component.' + ); + } let temp = new Resource(); temp.id = json_resource.id; temp.type = json_resource.type; diff --git a/src/services/resource-relationships-converter.ts b/src/services/resource-relationships-converter.ts index e76d5175..4c26a38e 100644 --- a/src/services/resource-relationships-converter.ts +++ b/src/services/resource-relationships-converter.ts @@ -6,6 +6,7 @@ import { Resource } from '../resource'; import { DocumentCollection } from '../document-collection'; import { IRelationships } from '../interfaces/relationship'; import { DocumentResource } from '../document-resource'; +import { isDevMode } from '@angular/core'; export class ResourceRelationshipsConverter { private getService: Function; @@ -52,11 +53,13 @@ export class ResourceRelationshipsConverter { relation_alias = relation_alias || relation_type; if (!this.getService(relation_type)) { - console.warn( - 'The relationship ' + relation_alias + ' (type', - relation_type, - ') cant be generated because service for this type has not been injected.' - ); + if (isDevMode()) { + console.warn( + 'The relationship ' + relation_alias + ' (type', + relation_type, + ') cant be generated because service for this type has not been injected.' + ); + } return; }