diff --git a/app/pages/categories/ctrl.js b/app/pages/categories/ctrl.js
index 38bbe26..9f515f9 100644
--- a/app/pages/categories/ctrl.js
+++ b/app/pages/categories/ctrl.js
@@ -1,7 +1,118 @@
+
+function GetCategories() {
+ return [
+ {
+ name: 'fruit',
+ rules: [
+ { nutrient: 'sugar',
+ rule_id: '1',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'sodium',
+ rule_id: '2',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gtoe', value: 2 } ] },
+ { nutrient: 'satfat',
+ rule_id: '3',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] } ]
+
+ },
+ {
+ name: 'veggie',
+ rules: [
+ { nutrient: 'sugar',
+ rule_id: '4',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'sodium',
+ rule_id: '5',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'satfat',
+ rule_id: '6',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] } ]
+
+ }
+ ];
+}
+
+function GetRanks() {
+ return ['green', 'yellow'];
+}
+
+function GetNutrients() {
+ return ['sodium', 'sugar', 'satfat'];
+}
+
+function GetOperations() {
+ return [{name: 'lt', symbol: 'Less Than'},
+ {name: 'lte', symbol: 'Less Than or Equal'},
+ {name: 'gt', symbol: 'Greater Than'},
+ {name: 'gte', symbol: 'Greater Than or Equal'},
+ {name: 'e', symbol: 'Equal To'}];
+}
+
+function SaveData(categories) {
+ console.log('save');
+}
+
app.controller('CategoryCtrl', ['$scope', function ($scope) {
$scope.page.title = 'Categories';
$scope.page.id = 'cat';
$scope.page.yourVar = "globalStuff";
-
- $scope.var2 = "localStuff";
+
+ $scope.categories = GetCategories();
+ $scope.ranks = GetRanks();
+ $scope.nutrients = GetNutrients();
+ $scope.operations = GetOperations();
+
+ $scope.getCategoryIndexFromName = function(categoryName) {
+ for(var i = 0; i < $scope.categories.length; i++) {
+ if($scope.categories[i].name == categoryName) {
+ return i;
+ }
+ }
+ return -1;
+ };
+
+ $scope.addRule = function(categoryName) {
+ var categoryIndex = $scope.getCategoryIndexFromName(categoryName);
+ if(categoryIndex != -1) {
+ $scope.categories[categoryIndex].rules.push({ nutrient: 'sugar',
+ rule_id: '0',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] });
+ }
+
+ };
+
+ $scope.removeRule = function(category, rule) {
+ for(var i = 0; i < category.rules.length; i++) {
+ if(category.rules[i] == rule) {
+ category.rules.splice(i, 1);
+ }
+ }
+ };
+
+ $scope.addCategory = function() {
+ $scope.categories.push({name: 'New Category', rules: []})
+ };
+
+ $scope.renameCategory = function(category, name) {
+ console.log(name);
+ };
+
+ $scope.removeCategory = function(category) {
+ for(var i = 0; i < $scope.categories.length; i++) {
+ if($scope.categories[i] == category) {
+ $scope.categories.splice(i, 1);
+ }
+ }
+ };
+
+ $scope.saveData = function() {
+ SaveData($scope.categories);
+ };
}]);
diff --git a/app/pages/categories/style.styl b/app/pages/categories/style.styl
index e69de29..1a565da 100644
--- a/app/pages/categories/style.styl
+++ b/app/pages/categories/style.styl
@@ -0,0 +1,13 @@
+.collapsible-body {
+ padding: 1em;
+ box-sizing:border-box;
+}
+
+.card-title,
+.collapsible-header {
+ text-transform:capitalize;
+}
+
+select {
+ display:block!important;
+}
diff --git a/app/pages/categories/view.html b/app/pages/categories/view.html
index 143b85a..15c172b 100644
--- a/app/pages/categories/view.html
+++ b/app/pages/categories/view.html
@@ -1,144 +1,65 @@
-
+
- -
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+ Nutrient |
+ {{rank}} condition |
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
-
I'd put more, but then I'd have to change lots of ID's... you get the idea #lazydev
+
+
-
+
diff --git a/assets/css/main.css b/assets/css/main.css
index 1ba2ed3..6351a19 100644
--- a/assets/css/main.css
+++ b/assets/css/main.css
@@ -36,6 +36,17 @@ ul.tabs .tab a {
ul.tabs .tab a:hover {
color: inherit;
}
+.collapsible-body {
+ padding: 1em;
+ box-sizing: border-box;
+}
+.card-title,
+.collapsible-header {
+ text-transform: capitalize;
+}
+select {
+ display: block !important;
+}
.food-search {
padding-top: 0.5em;
}
diff --git a/assets/js/bundle.js b/assets/js/bundle.js
index 9150c57..e159270 100644
--- a/assets/js/bundle.js
+++ b/assets/js/bundle.js
@@ -108,12 +108,123 @@ app.controller('404Ctrl', ['$scope', function ($scope) {
}]);
+
+function GetCategories() {
+ return [
+ {
+ name: 'fruit',
+ rules: [
+ { nutrient: 'sugar',
+ rule_id: '1',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'sodium',
+ rule_id: '2',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gtoe', value: 2 } ] },
+ { nutrient: 'satfat',
+ rule_id: '3',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] } ]
+
+ },
+ {
+ name: 'veggie',
+ rules: [
+ { nutrient: 'sugar',
+ rule_id: '4',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'sodium',
+ rule_id: '5',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] },
+ { nutrient: 'satfat',
+ rule_id: '6',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] } ]
+
+ }
+ ];
+}
+
+function GetRanks() {
+ return ['green', 'yellow'];
+}
+
+function GetNutrients() {
+ return ['sodium', 'sugar', 'satfat'];
+}
+
+function GetOperations() {
+ return [{name: 'lt', symbol: 'Less Than'},
+ {name: 'lte', symbol: 'Less Than or Equal'},
+ {name: 'gt', symbol: 'Greater Than'},
+ {name: 'gte', symbol: 'Greater Than or Equal'},
+ {name: 'e', symbol: 'Equal To'}];
+}
+
+function SaveData(categories) {
+ console.log('save');
+}
+
app.controller('CategoryCtrl', ['$scope', function ($scope) {
$scope.page.title = 'Categories';
$scope.page.id = 'cat';
$scope.page.yourVar = "globalStuff";
-
- $scope.var2 = "localStuff";
+
+ $scope.categories = GetCategories();
+ $scope.ranks = GetRanks();
+ $scope.nutrients = GetNutrients();
+ $scope.operations = GetOperations();
+
+ $scope.getCategoryIndexFromName = function(categoryName) {
+ for(var i = 0; i < $scope.categories.length; i++) {
+ if($scope.categories[i].name == categoryName) {
+ return i;
+ }
+ }
+ return -1;
+ };
+
+ $scope.addRule = function(categoryName) {
+ var categoryIndex = $scope.getCategoryIndexFromName(categoryName);
+ if(categoryIndex != -1) {
+ $scope.categories[categoryIndex].rules.push({ nutrient: 'sugar',
+ rule_id: '0',
+ ranks: [ { name: 'green', operation: 'lt', value: 5 },
+ { name: 'yellow', operation: 'gt', value: 2 } ] });
+ }
+
+ };
+
+ $scope.removeRule = function(category, rule) {
+ for(var i = 0; i < category.rules.length; i++) {
+ if(category.rules[i] == rule) {
+ category.rules.splice(i, 1);
+ }
+ }
+ };
+
+ $scope.addCategory = function() {
+ $scope.categories.push({name: 'New Category', rules: []})
+ };
+
+ $scope.renameCategory = function(category, name) {
+ console.log(name);
+ };
+
+ $scope.removeCategory = function(category) {
+ for(var i = 0; i < $scope.categories.length; i++) {
+ if($scope.categories[i] == category) {
+ $scope.categories.splice(i, 1);
+ }
+ }
+ };
+
+ $scope.saveData = function() {
+ SaveData($scope.categories);
+ };
}]);
app.controller('FoodCtrl', ['$scope', '$http', function ($scope, $http) {