Formatting labels

Change-Id: I131f27f2f6fcd5cd76f4fbc13c632f7cd1aa17d0
diff --git a/src/index.ts b/src/index.ts
index 77955b3..7021f86 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -23,40 +23,12 @@
 import * as _ from 'lodash';
 import {IXosNavigationService} from './app/core/services/navigation';
 import {IXosPageTitleService} from './app/core/services/page-title';
+import {IXosConfigHelpersService} from './app/core/services/helpers/config.helpers';
 
 export interface IXosState extends angular.ui.IState {
   data: IXosCrudData;
 };
 
-const modeldefToTableCfg = (fields: {name: string, type: string}[]): any[] => {
-  const excluded_fields = [
-    'created',
-    'updated',
-    'enacted',
-    'policed',
-    'backend_register',
-    'deleted',
-    'write_protect',
-    'lazy_blocked',
-    'no_sync',
-    'no_policy',
-    'omf_friendly',
-    'enabled'
-  ];
-  const cfg =  _.map(fields, (f) => {
-    if (excluded_fields.indexOf(f.name) > -1) {
-      return;
-    }
-    return {
-      label: `${f.name}`, // TODO confert name to label
-      prop: f.name
-    };
-  })
-    .filter(v => angular.isDefined(v));
-
-  return cfg;
-};
-
 angular
   .module('app', [xosCore, xosDataSources, xosViews, 'ui.router', 'ngResource'])
   .config(routesConfig)
@@ -69,25 +41,27 @@
     ModelDefs: IModeldefsService,
     RuntimeStates: IRuntimeStatesService,
     NavigationService: IXosNavigationService,
+    ConfigHelpers: IXosConfigHelpersService,
     PageTitle: IXosPageTitleService
   ) => {
     // Dinamically add a  core states
     ModelDefs.get()
       .then((models: IModeldef[]) => {
+        // TODO move in a separate service and test
         _.forEach(models, (m: IModeldef) => {
           const state: IXosState = {
             parent: 'xos',
-            url: `${m.name.toLowerCase()}s`, // TODO use https://github.com/blakeembrey/pluralize
+            url: ConfigHelpers.pluralize(m.name.toLowerCase()),
             component: 'xosCrud',
             data: {
               model: m.name,
               xosTableCfg: {
-                columns: modeldefToTableCfg(m.fields)
+                columns: ConfigHelpers.modeldefToTableCfg(m.fields)
               }
             }
           };
-          RuntimeStates.addState(`${m.name.toLowerCase()}s`, state);
-          NavigationService.add({label: `${m.name}s`, url: `${m.name.toLowerCase()}s`});
+          RuntimeStates.addState(ConfigHelpers.pluralize(m.name.toLowerCase()), state);
+          NavigationService.add({label: ConfigHelpers.pluralize(m.name), url: ConfigHelpers.pluralize(m.name.toLowerCase())});
         });
       });
   });