UNPKG

unserver-unify

Version:

54 lines (53 loc) 1.92 kB
'use strict'; angular.module('bamboo.announcement').controller('AnnouncementCtrl', function($scope, ApiService, $sce, $stateParams, $timeout, Lightbox) { var _self = this; this.id = $stateParams.id; this.contentModel = {}; this.publicUrl = ApiService.SHOST + "/public/images/"; this.contentModelPicUrl = ApiService.SHOST + "/public/" + ApiService.RES + "/announcement/" + _self.id + "/"; $scope.submitted = false; this.defaultNewsPhoto = 'assets/images/announcement_no-image1.jpg'; var myAudio = null; this.audioButtonTitle = "Play"; getInfo(); function getInfo() { ApiService.get("/announcements/" + _self.id).then(function(result) { console.log(result); if (result.data.success) { _self.contentModel = result.data.data; _self.imageUrl = _self.contentModel.photo ? _self.contentModelPicUrl + _self.contentModel.photo : _self.defaultNewsPhoto; } }); } this.getAudioUrl = function() { return $sce.trustAsResourceUrl(ApiService.SHOST + "/public/" + ApiService.RES + "/announcement/" + _self.id + "/" + encodeURI(_self.contentModel.audio)); }; this.toggleAudio = function() { var filename = ApiService.SHOST + "/public/" + ApiService.RES + "/announcement/" + _self.id + "/" + _self.contentModel.audio; //console.log(filename); try { if (!myAudio) { myAudio = new Audio(filename); myAudio.onended = function() { $timeout(function() { _self.audioButtonTitle = "Play"; }); }; } if (myAudio.paused) { this.audioButtonTitle = "Pause"; myAudio.play(); } else { this.audioButtonTitle = "Play"; myAudio.pause(); } } catch (e) { //console.log(e); } }; $scope.openLightboxModal = function(url) { Lightbox.openModal([{ url: url }], 0); }; });