Basic form

Change-Id: I7ee858b208730b110b355d3f72037f0975aaa356
diff --git a/src/app/core/services/helpers/config.helpers.ts b/src/app/core/services/helpers/config.helpers.ts
index 3e0af96..9d0c191 100644
--- a/src/app/core/services/helpers/config.helpers.ts
+++ b/src/app/core/services/helpers/config.helpers.ts
@@ -8,7 +8,8 @@
 }
 
 export interface IXosConfigHelpersService {
-  modeldefToTableCfg(fields: IXosModelDefsField[]): any[]; // TODO use a proper interface
+  excluded_fields: string[];
+  modeldefToTableCfg(fields: IXosModelDefsField[], baseUrl: string): any[]; // TODO use a proper interface
   pluralize(string: string, quantity?: number, count?: boolean): string;
   toLabel(string: string, pluralize?: boolean): string;
   toLabels(string: string[], pluralize?: boolean): string[];
@@ -16,6 +17,22 @@
 
 export class ConfigHelpers {
 
+  excluded_fields = [
+    'created',
+    'updated',
+    'enacted',
+    'policed',
+    'backend_register',
+    'deleted',
+    'write_protect',
+    'lazy_blocked',
+    'no_sync',
+    'no_policy',
+    'omf_friendly',
+    'enabled',
+    'validators'
+  ];
+
   constructor() {
     pluralize.addIrregularRule('xos', 'xosses');
     pluralize.addPluralRule(/slice$/i, 'slices');
@@ -46,23 +63,10 @@
     return this.capitalizeFirst(string);
   }
 
-  modeldefToTableCfg(fields: IXosModelDefsField[]): IXosTableColumn[] {
-    const excluded_fields = [
-      'created',
-      'updated',
-      'enacted',
-      'policed',
-      'backend_register',
-      'deleted',
-      'write_protect',
-      'lazy_blocked',
-      'no_sync',
-      'no_policy',
-      'omf_friendly',
-      'enabled'
-    ];
+  modeldefToTableCfg(fields: IXosModelDefsField[], baseUrl: string): IXosTableColumn[] {
+
     const cfg =  _.map(fields, (f) => {
-      if (excluded_fields.indexOf(f.name) > -1) {
+      if (this.excluded_fields.indexOf(f.name) > -1) {
         return;
       }
       const col: IXosTableColumn =  {
@@ -70,6 +74,11 @@
         prop: f.name
       };
 
+      if (f.name === 'id') {
+        // NOTE can we find a better method to generalize?
+        col.link = item => `#/core${baseUrl.replace(':id?', item.id)}`;
+      }
+
       if (f.name === 'backend_status') {
         col.type = 'icon';
         col.formatter = (item) => {