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 @@
-
+
    -
  • -
    CATEGORY NAME
    +
  • +
    {{ category.name }}
    - -
    -
    -
    -
    -

    Nutrients

    -
    -
    -
    -
    -
    -
    -

    Sugar

    -
    - - -
    -
    - - -
    -
    -
    -

    Sodium

    -
    - - -
    -
    - - -
    -
    -
    -

    Saturated Fat

    -
    - - -
    -
    - - -
    -
    -
    -
    -
    -

    Sugar

    -
    - - -
    -
    - - -
    -
    -
    -

    Sodium

    -
    - - -
    -
    - - -
    -
    -
    -

    Saturated Fat

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