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())});
});
});
});