summaryrefslogtreecommitdiff
path: root/public/bundle.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2017-03-20 03:51:23 +0100
committerJules Laplace <jules@okfoc.us>2017-03-20 03:51:23 +0100
commit50eaaa9dfaa2d4aa1230e7a6b371a60c1df8a1ab (patch)
treebc4363ce1055df679116e89dec5beae14e7582b7 /public/bundle.js
parentd9d81925299aa787cbdb815cb4b06e17a412b40c (diff)
group by date
Diffstat (limited to 'public/bundle.js')
-rw-r--r--public/bundle.js73
1 files changed, 54 insertions, 19 deletions
diff --git a/public/bundle.js b/public/bundle.js
index df3cd70..096d653 100644
--- a/public/bundle.js
+++ b/public/bundle.js
@@ -12585,7 +12585,6 @@ var MealFilter = function (_React$Component) {
state = state || this.state;
var start = state.startDate;
var end = state.endDate;
- console.log(start.toDate(), end.toDate());
_client2.default.service('meals').find({
query: {
@@ -12595,7 +12594,6 @@ var MealFilter = function (_React$Component) {
token: _client2.default.get('token')
}
}).then(function (data) {
- console.log(data);
_this2.setState({ meals: data.data });
_this2.filter(data.data);
}).catch(function (error) {
@@ -12604,10 +12602,11 @@ var MealFilter = function (_React$Component) {
}
}, {
key: 'filter',
- value: function filter(meals) {
+ value: function filter(meals, state) {
meals = meals || this.state.meals;
- var start = this.state.startTime;
- var end = this.state.endTime;
+ state = state || this.state;
+ var start = state.startTime;
+ var end = state.endTime;
var filteredMeals = this.state.meals.filter(function (meal) {
var hours = new Date(meal.date).getHours();
return start <= hours && hours <= end;
@@ -12622,11 +12621,7 @@ var MealFilter = function (_React$Component) {
start.minutes(0);
start.seconds(0);
- var end = range.endDate;
- if (start.isSame(end)) {
- end = start.clone();
- }
-
+ var end = start.isSame(range.endDate) ? start.clone() : range.endDate;
end.hours(23);
end.minutes(59);
end.seconds(59);
@@ -12644,7 +12639,7 @@ var MealFilter = function (_React$Component) {
key: 'pickTimeRange',
value: function pickTimeRange(event, start, end) {
this.setState({ startTime: start, endTime: end });
- this.filter();
+ this.filter(this.state.meals, { startTime: start, endTime: end });
}
}, {
key: 'render',
@@ -12788,6 +12783,7 @@ var MealList = function (_React$Component) {
_this.handleUpdate = _this.handleUpdate.bind(_this);
_this.handleDelete = _this.handleDelete.bind(_this);
_this.pickMeal = _this.pickMeal.bind(_this);
+ _this.loadMeals = _this.loadMeals.bind(_this);
return _this;
}
@@ -12826,16 +12822,47 @@ var MealList = function (_React$Component) {
this.mealForm.pick(meal);
}
}, {
+ key: 'loadMeals',
+ value: function loadMeals(meals) {
+ console.log(meals);
+ this.setState({ data: meals });
+ }
+ }, {
key: 'render',
value: function render() {
var _this2 = this;
- var items = this.state.data.map(function (meal) {
- return _react2.default.createElement(MealItem, { key: meal.id,
- meal: meal,
- onClick: _this2.pickMeal,
- onDelete: _this2.handleDelete });
+ var groups = groupByDate(this.state.data);
+ var items = Object.keys(groups).sort().reverse().map(function (date) {
+ var group = groups[date];
+ var mealitems = group.meals.map(function (meal) {
+ return _react2.default.createElement(MealItem, {
+ key: meal.id,
+ meal: meal,
+ onClick: _this2.pickMeal,
+ onDelete: _this2.handleDelete });
+ });
+ console.log(_this2.props.user.goal, group.calories);
+ var isOverLimit = group.calories > _this2.props.user.goal ? 'isOverLimit' : 'isUnderLimit';
+ return _react2.default.createElement(
+ 'div',
+ { key: group.date, className: 'group' },
+ _react2.default.createElement(
+ 'span',
+ { className: 'groupDate' },
+ group.date
+ ),
+ _react2.default.createElement(
+ 'span',
+ { className: 'calories ' + isOverLimit },
+ group.calories,
+ ' cal.'
+ ),
+ _react2.default.createElement('br', null),
+ mealitems
+ );
});
+ console.log(items);
if (!items.length) {
items.push(_react2.default.createElement(
'div',
@@ -12861,9 +12888,7 @@ var MealList = function (_React$Component) {
ref: function ref(mealFilter) {
_this2.mealFilter = mealFilter;
},
- onChange: function onChange(meals) {
- _this2.setState({ data: meals });
- }
+ onChange: this.loadMeals
}),
_react2.default.createElement(
'div',
@@ -13093,6 +13118,16 @@ var MealForm = function (_React$Component3) {
return MealForm;
}(_react2.default.Component);
+function groupByDate(a) {
+ return a.reduce(function (rv, x) {
+ var date = parseDate(x.date);
+ var ab = rv[date] = rv[date] || { date: date, calories: 0, meals: [] };
+ ab.meals.push(x);
+ ab.calories += x.calories;
+ return rv;
+ }, {});
+}
+
function sortByDate(a, b) {
return new Date(b.date) - new Date(a.date);
}