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) => {