diff options
| author | Jules Laplace <jules@okfoc.us> | 2017-03-20 01:59:47 +0100 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2017-03-20 01:59:47 +0100 |
| commit | d9d81925299aa787cbdb815cb4b06e17a412b40c (patch) | |
| tree | 601ea37cc6f7e5c6aa3ac1e886d056c2df107779 /public/bundle.js | |
| parent | bf7ac6af587f68553b83a54fcb724dfc9d684644 (diff) | |
filter by date
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 425 |
1 files changed, 256 insertions, 169 deletions
diff --git a/public/bundle.js b/public/bundle.js index b99c70c..df3cd70 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -12121,6 +12121,10 @@ var _ModalDialog = __webpack_require__(60); var _ModalDialog2 = _interopRequireDefault(_ModalDialog); +var _Menu = __webpack_require__(365); + +var _Menu2 = _interopRequireDefault(_Menu); + var _UserList = __webpack_require__(100); var _UserList2 = _interopRequireDefault(_UserList); @@ -12182,7 +12186,7 @@ var LoggedInView = function (_React$Component) { return _react2.default.createElement( 'div', null, - _react2.default.createElement(Menu, { mode: this.state.mode, + _react2.default.createElement(_Menu2.default, { mode: this.state.mode, user: this.state.user, toggleMode: this.toggleMode, currentUser: this.props.user, @@ -12197,152 +12201,6 @@ var LoggedInView = function (_React$Component) { exports.default = LoggedInView; -var Menu = function (_React$Component2) { - _inherits(Menu, _React$Component2); - - function Menu() { - _classCallCheck(this, Menu); - - var _this2 = _possibleConstructorReturn(this, (Menu.__proto__ || Object.getPrototypeOf(Menu)).call(this)); - - _this2.setGoal = _this2.setGoal.bind(_this2); - _this2.logout = _this2.logout.bind(_this2); - return _this2; - } - - _createClass(Menu, [{ - key: 'setGoal', - value: function setGoal() { - var _this3 = this; - - var goal = Math.abs(parseInt(prompt('Please enter your calorie goal', this.props.user.goal))); - if (goal) { - _client2.default.service('users').patch(this.props.user.id, { - goal: goal, - token: _client2.default.get('token') - }).then(function (user) { - _this3.props.updateUser(user); - }); - } - } - }, { - key: 'logout', - value: function logout() { - _client2.default.logout().then(function () { - window.location.reload(); - }); - } - }, { - key: 'render', - value: function render() { - var user = this.props.user; - var items = []; - items.push(_react2.default.createElement( - 'li', - { key: 'hello' }, - 'Hello ', - user.email - )); - items.push(_react2.default.createElement( - 'li', - { key: 'goal' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.setGoal }, - 'Goal' - ), - ': ', - user.goal - )); - switch (user.role) { - case 'admin': - if (this.props.user.id !== this.props.currentUser.id) { - items.push(_react2.default.createElement( - 'li', - { key: 'resetUser' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.resetUser }, - 'Reset User' - ) - )); - } - items.push(_react2.default.createElement( - 'li', - { key: 'userlist' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.props.toggleMode }, - 'Users' - ) - )); - items.push(_react2.default.createElement( - 'li', - { key: 'userlist' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.props.toggleMode }, - 'Meals' - ) - )); - break; - case 'manager': - items.push(_react2.default.createElement( - 'li', - { key: 'userlist' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.props.toggleMode }, - 'Users' - ) - )); - items.push(_react2.default.createElement( - 'li', - { key: 'userlist' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.props.toggleMode }, - 'Meals' - ) - )); - case 'user': - break; - } - items.push(_react2.default.createElement( - 'li', - { key: 'logout' }, - _react2.default.createElement( - 'a', - { href: '#', onClick: this.logout }, - 'Logout' - ) - )); - - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'ul', - { className: 'menu' }, - items - ) - ); - // <ProfileModal user={user} visible={false} onClose={() => {}} /> - } - }]); - - return Menu; -}(_react2.default.Component); - -// class ProfileModal extends React.Component { -// render() { -// return ( -// <ModalDialog visible={this.props.visible} onClose={this.props.onClose}> -// </ModalDialog> -// ) -// } -// } - /***/ }), /* 97 */ /***/ (function(module, exports, __webpack_require__) { @@ -12696,42 +12554,109 @@ var MealFilter = function (_React$Component) { var _this = _possibleConstructorReturn(this, (MealFilter.__proto__ || Object.getPrototypeOf(MealFilter)).call(this)); var start = new Date(); + start.setHours(0); + start.setMinutes(0); + start.setSeconds(0); + start.setDate(start.getDate() - 6); + var end = new Date(); - end.setDate(end.getDate() - 6); + end.setHours(23); + end.setMinutes(59); + end.setSeconds(59); + _this.state = { startDate: (0, _moment2.default)(start), endDate: (0, _moment2.default)(end), startTime: 0, - endTime: 23 + endTime: 23, + meals: [] }; _this.handleSelect = _this.handleSelect.bind(_this); + _this.fetch = _this.fetch.bind(_this); + _this.filter = _this.filter.bind(_this); return _this; } _createClass(MealFilter, [{ + key: 'fetch', + value: function fetch(state) { + var _this2 = this; + + state = state || this.state; + var start = state.startDate; + var end = state.endDate; + console.log(start.toDate(), end.toDate()); + + _client2.default.service('meals').find({ + query: { + userid: this.props.user.id, + date: { $gte: start.toDate(), $lte: end.toDate() }, + $sort: { 'date': '-1' }, + token: _client2.default.get('token') + } + }).then(function (data) { + console.log(data); + _this2.setState({ meals: data.data }); + _this2.filter(data.data); + }).catch(function (error) { + console.error(error); + }); + } + }, { + key: 'filter', + value: function filter(meals) { + meals = meals || this.state.meals; + var start = this.state.startTime; + var end = this.state.endTime; + var filteredMeals = this.state.meals.filter(function (meal) { + var hours = new Date(meal.date).getHours(); + return start <= hours && hours <= end; + }); + this.props.onChange(filteredMeals); + } + }, { key: 'handleSelect', value: function handleSelect(range) { - console.log(range); - // range.startDate; // Momentjs object - // range.endDate - this.setState(range); + var start = range.startDate; + start.hours(0); + start.minutes(0); + start.seconds(0); + + var end = range.endDate; + if (start.isSame(end)) { + end = start.clone(); + } + + end.hours(23); + end.minutes(59); + end.seconds(59); + + this.setState({ + startDate: start, + endDate: end + }); + this.fetch({ + startDate: start, + endDate: end + }); } }, { key: 'pickTimeRange', value: function pickTimeRange(event, start, end) { this.setState({ startTime: start, endTime: end }); + this.filter(); } }, { key: 'render', value: function render() { - var _this2 = this; + var _this3 = this; var times = [[0, 11, 'Breakfast'], [12, 15, 'Lunch'], [15, 23, 'Dinner'], [0, 23, 'All']].map(function (r, i) { var start = r[0]; var end = r[1]; var name = r[2]; var className = ''; - if (_this2.state.startTime === start && _this2.state.endTime === end) { + if (_this3.state.startTime === start && _this3.state.endTime === end) { className = 'selected'; } return _react2.default.createElement( @@ -12740,7 +12665,7 @@ var MealFilter = function (_React$Component) { key: i, className: className, onClick: function onClick(e) { - _this2.pickTimeRange(e, start, end); + _this3.pickTimeRange(e, start, end); } }, name ); @@ -12863,18 +12788,6 @@ var MealList = function (_React$Component) { _this.handleUpdate = _this.handleUpdate.bind(_this); _this.handleDelete = _this.handleDelete.bind(_this); _this.pickMeal = _this.pickMeal.bind(_this); - - _client2.default.service('meals').find({ - query: { - userid: props.user.id, - '$sort': { 'date': '-1' }, - token: _client2.default.get('token') - } - }).then(function (data) { - _this.setState(data); - }).catch(function (error) { - console.error(error); - }); return _this; } @@ -12944,7 +12857,14 @@ var MealList = function (_React$Component) { _this2.handleUpdate(meal); } }), - _react2.default.createElement(_MealFilter2.default, null), + _react2.default.createElement(_MealFilter2.default, { user: this.props.user, + ref: function ref(mealFilter) { + _this2.mealFilter = mealFilter; + }, + onChange: function onChange(meals) { + _this2.setState({ data: meals }); + } + }), _react2.default.createElement( 'div', null, @@ -47888,6 +47808,173 @@ module.exports = function(module) { };
+/***/ }), +/* 365 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(14); + +var _react2 = _interopRequireDefault(_react); + +var _client = __webpack_require__(22); + +var _client2 = _interopRequireDefault(_client); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Menu = function (_React$Component) { + _inherits(Menu, _React$Component); + + function Menu() { + _classCallCheck(this, Menu); + + var _this = _possibleConstructorReturn(this, (Menu.__proto__ || Object.getPrototypeOf(Menu)).call(this)); + + _this.setGoal = _this.setGoal.bind(_this); + _this.logout = _this.logout.bind(_this); + return _this; + } + + _createClass(Menu, [{ + key: 'setGoal', + value: function setGoal() { + var _this2 = this; + + var goal = Math.abs(parseInt(prompt('Please enter your calorie goal', this.props.user.goal))); + if (goal) { + _client2.default.service('users').patch(this.props.user.id, { + goal: goal, + token: _client2.default.get('token') + }).then(function (user) { + _this2.props.updateUser(user); + }); + } + } + }, { + key: 'logout', + value: function logout() { + _client2.default.logout().then(function () { + window.location.reload(); + }); + } + }, { + key: 'render', + value: function render() { + var user = this.props.user; + var items = []; + items.push(_react2.default.createElement( + 'li', + { key: 'hello' }, + 'Hello ', + user.email + )); + items.push(_react2.default.createElement( + 'li', + { key: 'goal', onClick: this.setGoal }, + _react2.default.createElement( + 'a', + { href: '#' }, + 'Goal' + ), + ': ', + user.goal + )); + switch (user.role) { + case 'admin': + if (this.props.user.id !== this.props.currentUser.id) { + items.push(_react2.default.createElement( + 'li', + { key: 'resetUser' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.resetUser }, + 'Reset User' + ) + )); + } + items.push(_react2.default.createElement( + 'li', + { key: 'userlist' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.props.toggleMode }, + 'Users' + ) + )); + items.push(_react2.default.createElement( + 'li', + { key: 'meallist' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.props.toggleMode }, + 'Meals' + ) + )); + break; + case 'manager': + items.push(_react2.default.createElement( + 'li', + { key: 'userlist' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.props.toggleMode }, + 'Users' + ) + )); + items.push(_react2.default.createElement( + 'li', + { key: 'meallist' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.props.toggleMode }, + 'Meals' + ) + )); + case 'user': + break; + } + items.push(_react2.default.createElement( + 'li', + { key: 'logout' }, + _react2.default.createElement( + 'a', + { href: '#', onClick: this.logout }, + 'Logout' + ) + )); + + return _react2.default.createElement( + 'div', + null, + _react2.default.createElement( + 'ul', + { className: 'menu' }, + items + ) + ); + } + }]); + + return Menu; +}(_react2.default.Component); + +exports.default = Menu; + /***/ }) /******/ ]); //# sourceMappingURL=bundle.js.map
\ No newline at end of file |
