UNPKG

client-ui

Version:

Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront

83 lines (73 loc) 2.4 kB
/* global moduleName */ (function () { 'use strict'; function loadingController($modal, loadService) { return { restrict: 'EA', scope: { header: "@", }, link: function (scope, element, attrs) { loadService.setConfig({ "header": scope.header }); } }; } angular.module(moduleName).directive('loading', loadingController); loadingController.$inject = ['$modal', 'loadingService']; var intervalID; function loadingService($modal, $q, $timeout) { var self = this; self.modal = false; self.config = false; function open() { self.modal = $modal.open({ templateUrl: "modals/loading.html", controller: "loadingModalCtrl", size: 'md', windowClass: 'app-modal-window', backdrop: 'static', resolve: { modalContent: function () { return self.config; } } }); } function close() { self.modal.rendered.then(function() { self.modal.close(); clearInterval(intervalID); }); } function setConfig(config) { self.config = config; } self.setConfig = setConfig; self.close = close; self.open = open; } angular.module(moduleName).service('loadingService', loadingService); loadingService.$inject = ["$modal", "$q", "$timeout"]; function loadingModalCtrl($scope, $modalInstance, modalContent) { $scope.header = modalContent.header; $scope.timer = function () { var y = 10; intervalID = setInterval(time, 1000); $scope.countdown="00:10 seconds"; function time() { if(y!==0){ $scope.countdown=('00:0'+ (--y) + ' seconds'); $scope.$apply(); } else { clearInterval(intervalID); } } } $scope.timer(); } module.controller('loadingModalCtrl', loadingModalCtrl); loadingModalCtrl.$inject = ['$scope', '$modalInstance', 'modalContent']; })();