/* eslint-disable no-undef, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ 'use strict'; Application.Controllers.controller('HomeController', ['$scope', '$stateParams', 'Twitter', 'lastMembersPromise', 'lastProjectsPromise', 'upcomingEventsPromise', 'homeBlogpostPromise', 'twitterNamePromise', function ($scope, $stateParams, Twitter, lastMembersPromise, lastProjectsPromise, upcomingEventsPromise, homeBlogpostPromise, twitterNamePromise) { /* PUBLIC SCOPE */ // The last registered members who confirmed their addresses $scope.lastMembers = lastMembersPromise; // The last tweets from the Fablab official twitter account $scope.lastTweets = []; // The last projects published/documented on the plateform $scope.lastProjects = lastProjectsPromise; // The closest upcoming events $scope.upcomingEvents = upcomingEventsPromise; // The admin blogpost $scope.homeBlogpost = homeBlogpostPromise.setting.value; // Twitter username $scope.twitterName = twitterNamePromise.setting.value; /** * Test if the provided event run on a single day or not * @param event {Object} single event from the $scope.upcomingEvents array * @returns {boolean} false if the event runs on more that 1 day */ $scope.isOneDayEvent = event => moment(event.start_date).isSame(event.end_date, 'day'); /* PRIVATE SCOPE */ /** * Kind of constructor: these actions will be realized first when the controller is loaded */ const initialize = function () { // we retrieve tweets from here instead of ui-router's promise because, if adblock stop the API request, // this prevent the whole home page to be blocked $scope.lastTweets = Twitter.query({ limit: 1 }); // if we recieve a token to reset the password as GET parameter, trigger the // changePassword modal from the parent controller if ($stateParams.reset_password_token) { return $scope.$parent.editPassword($stateParams.reset_password_token); } }; // !!! MUST BE CALLED AT THE END of the controller return initialize(); } ]);