UNPKG

cobuild-angular-stack

Version:

Base stack angular sass jade gulp

74 lines (64 loc) 2.67 kB
/** * Created by garusis on 19/06/16. */ (function (module) { var settings = {}; var defaultSettings = {}; module .controller('OnboardingDefaultDisplayStepController', OnboardingDefaultDisplayStepController); OnboardingDefaultDisplayStepController.$inject = ['$scope', 'Onboarding', '$uibModal', '$sce', '$http', 'Restangular', '$q', 'toastr', 'lodash']; function OnboardingDefaultDisplayStepController($scope, Onboarding, $uibModal, $sce, $http, Restangular, $q, toastr, lodash) { var stepCtrl = this; $scope.datePickerOptions = { minDate: new Date() }; $(".uib-datepicker-popup.dropdown-menu").attr("style","left: -5px"); $scope.step.customTemplate = $sce.trustAsHtml($scope.step.customTemplate); stepCtrl.moveBack = function (onboarding, step) { if (onboarding.steps.indexOf(step) <= 0) { return; } onboarding.stepActive--; }; stepCtrl.moveNext = function (onboarding, step) { var index = onboarding.steps.indexOf(step); if (onboarding.steps.length - 1 === index) { return Onboarding.end(onboarding.id); } onboarding.stepActive++; }; stepCtrl.sendNext = function (onboarding, step) { var element = $scope.$$element; var promise; if (step.endpoint) { var data = {}; var restangularConf = Restangular.configuration; element .find('input') .each(function (index, input) { data[input.name] = input.value; }); promise = $http.post(restangularConf.baseUrl + '/' + step.endpoint, data); } else { promise = $q.resolve(); } promise .then(function () { stepCtrl.moveNext(onboarding, step); }) .catch(function (err) { switch (err.status) { case 422: var messagesGroup = err.data.error.details.messages; lodash.forEach(messagesGroup, function (messages) { lodash.forEach(messages, function (message) { toastr.error(message); }); }); break; default: } }); } } })(angular.module('rokk3rlabs.onboarding'));