Adding relations links to table
Change-Id: I5dd2d206a6da7fec163342f54f1143a7783f7758
diff --git a/src/app/datasources/helpers/store.helpers.spec.ts b/src/app/datasources/helpers/store.helpers.spec.ts
index 1793a7c..82a5e7a 100644
--- a/src/app/datasources/helpers/store.helpers.spec.ts
+++ b/src/app/datasources/helpers/store.helpers.spec.ts
@@ -39,6 +39,12 @@
expect(service.updateCollection).toBeDefined();
});
+
+ it('should convert a core model name in an URL', () => {
+ expect(service.urlFromCoreModel('Slice')).toBe('/core/slices');
+ expect(service.urlFromCoreModel('Xos')).toBe('/core/xosses');
+ });
+
describe('when updating a collection', () => {
beforeEach(() => {
diff --git a/src/app/datasources/helpers/store.helpers.ts b/src/app/datasources/helpers/store.helpers.ts
index 1458d81..aa18bd8 100644
--- a/src/app/datasources/helpers/store.helpers.ts
+++ b/src/app/datasources/helpers/store.helpers.ts
@@ -1,22 +1,26 @@
import {BehaviorSubject} from 'rxjs';
import * as _ from 'lodash';
+import * as pluralize from 'pluralize';
import {IWSEvent} from '../websocket/global';
import {IXosResourceService} from '../rest/model.rest';
-import {IXosConfigHelpersService} from '../../core/services/helpers/config.helpers';
export interface IStoreHelpersService {
+ urlFromCoreModel(name: string): string;
updateCollection(event: IWSEvent, subject: BehaviorSubject<any>): BehaviorSubject<any>;
}
export class StoreHelpers {
- static $inject = ['ConfigHelpers', 'ModelRest'];
+ static $inject = ['ModelRest'];
constructor (
- private configHelpers: IXosConfigHelpersService,
private modelRest: IXosResourceService
) {
}
+ public urlFromCoreModel(name: string): string {
+ return `/core/${pluralize(name.toLowerCase())}`;
+ }
+
public updateCollection(event: IWSEvent, subject: BehaviorSubject<any>): BehaviorSubject<any> {
const collection: any[] = subject.value;
const index: number = _.findIndex(collection, (i) => {
@@ -27,7 +31,7 @@
const isDeleted: boolean = _.includes(event.msg.changed_fields, 'deleted');
// generate a resource for the model
- const endpoint = this.configHelpers.urlFromCoreModel(event.model);
+ const endpoint = this.urlFromCoreModel(event.model);
const resource = this.modelRest.getResource(endpoint);
const model = new resource(event.msg.object);