unserver-unify
Version:
54 lines (53 loc) • 1.92 kB
JavaScript
;
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);
};
});