From 62af7be728430dd91871544b57ba1447a9cac13b Mon Sep 17 00:00:00 2001
From: Jaden Diefenbaugh <blakcap@users.noreply.github.com>
Date: Mon, 13 Mar 2017 16:00:53 +0100
Subject: [PATCH] default fields for tables based on exps in group

---
 .../app/directives/edit/addItemsMenu.js       | 21 +++++++++++++++++--
 .../app/services/experimentsService.js        |  2 +-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/beat/web/reports/static/reports/app/directives/edit/addItemsMenu.js b/beat/web/reports/static/reports/app/directives/edit/addItemsMenu.js
index bd4f195a8..d19b96086 100644
--- a/beat/web/reports/static/reports/app/directives/edit/addItemsMenu.js
+++ b/beat/web/reports/static/reports/app/directives/edit/addItemsMenu.js
@@ -45,9 +45,26 @@ angular.module('reportApp')
 			scope.plottables = ExperimentsService.plottables;
 
 			scope.addNewTable = () => {
-				let id = getNextItemId('table');
+				const id = getNextItemId('table');
+
+				// default fields are fields that are meant for tables
+				// that have the 'primary' property on the field value set to true
+				const defaultFieldsSet = Object.entries(ExperimentsService.tableables)
+				// only exps in group
+				.filter(([expName, o]) => scope.group.experiments.includes(expName))
+				.map(([expName, o]) => Object.entries(o))
+				.reduce((a, fEntries) => [...a, ...fEntries], [])
+				// only fields with primary == true
+				.filter(([fName, o]) => o.primary)
+				.map(([fName, o]) => fName)
+				.reduce((s, fName) => s.add(fName), new Set())
+				;
+
+				const defaultFields = Array.from(defaultFieldsSet);
+				console.log(defaultFields);
+
 				scope.group.addReportItem(id, {
-					fields: [],
+					fields: defaultFields,
 					precision: 10
 				});
 			};
diff --git a/beat/web/reports/static/reports/app/services/experimentsService.js b/beat/web/reports/static/reports/app/services/experimentsService.js
index d394e5cce..c82798fff 100644
--- a/beat/web/reports/static/reports/app/services/experimentsService.js
+++ b/beat/web/reports/static/reports/app/services/experimentsService.js
@@ -178,7 +178,7 @@ angular.module('reportApp').factory('ExperimentsService', ['experimentFactory',
 			cleanGroups(Object.keys(expData));
 
 			console.log(expData);
-			//console.log(tableData);
+			console.log(tableData);
 			console.log(plotData);
 
 			return expData;
-- 
GitLab