@@ -20,45 +20,6 @@ $templateCache.put('streama-video-player.episodeSelector.html','<div class="mobi
2020$templateCache . put ( 'streama-video-player.html' , '<div>\n <pre>{{playerTemplate}}</pre>\n <div ng-if="playerTemplate" ng-include="playerTemplate"></div>\n\n</div>\n\n' ) ;
2121$templateCache . put ( 'streama-video-player.touch.html' , '<div class="player-wrapper">\n <pre>{{options.videoStillImage}}</pre>\n <div class="video-wrapper-inner" ng-style="getBackgroundStyle()" ng-click="toggleControls()">\n\n <div ng-if="loading">\n <i class="spinner ion-load-c" ></i>\n </div>\n\n <i ng-if="!playing && canplay" class="play-button ion-ios-play" ng-click="$event.stopPropagation();togglePlay()"></i>\n\n <div class="player-controls-mobile" ng-show="isMobileControlsVisible" >\n <div class="player-controls-topbar">\n <div class="player-controls-box player-control-button" ng-click="$event.stopPropagation(); closeVideo();">\n <i class="ion-chevron-left"></i>\n </div>\n <div class="player-controls-stretch player-controls-metaTitle">\n {{options.videoMetaTitle}}\n </div>\n\n <div class="player-controls-box player-control-button" ng-click="$event.stopPropagation(); toggleMobileOverlayBox(\'track\');">\n <i class="ion-android-textsms"></i>\n </div>\n\n <div ng-if="options.showEpisodeBrowser" class="player-controls-box player-control-button" ng-click="$event.stopPropagation(); toggleMobileOverlayBox(\'episode\')">\n <i class="ion-ios-browsers"></i>\n </div>\n <div ng-if="options.hasNextEpisode" class="player-controls-box player-control-button" ng-click="$event.stopPropagation(); next();">\n <i class="ion-chevron-right"></i>\n </div>\n\n </div>\n <div class="player-controls-bottombar" ng-if="initialPlay">\n <div class="player-controls-box player-control-button" ng-click="$event.stopPropagation();togglePlay()">\n <i class="player-play-pause play ion-play" ng-show="!playing"></i>\n <i class="player-play-pause play ion-pause" ng-show="playing"></i>\n </div>\n <div class="player-controls-stretch">\n <rzslider ng-if="scrubber.options" rz-slider-model="scrubber.model" rz-slider-options="scrubber.options"></rzslider>\n </div>\n <div class="player-controls-box">\n <div class="time-display">\n {{videoDuration | streamaVideoTime}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="player-controls-mobile-overlay-box" ng-if="mobileOverlayBox.isVisble">\n <i class="ion-close player-controls-mobile-overlay-box-close" ng-click="toggleMobileOverlayBox()"></i>\n\n <div ng-include="\'streama-video-player.\' + mobileOverlayBox.type + \'Selector.html\'"></div>\n </div>\n\n <video ng-show="initialPlay" ng-if="isInitialized" id="video" ng-src="{{options.videoSrc | streamaTrustAs:\'resourceUrl\'}}" type="{{options.videoType}}"\n ng-click="clickVideo()" class="subtitle-size-{{options.subtitleSize}}">\n <track ng-repeat="subtitle in options.subtitles" ng-src="{{subtitle.src | streamaTrustAs:\'resourceUrl\'}}" kind="subtitles" id="subtitle-{{subtitle.id}}"\n srclang="{{subtitle.subtitleSrcLang}}" label="{{subtitle.subtitleLabel}}" src="{{subtitle.src | streamaTrustAs:\'resourceUrl\'}}">\n </video>\n\n </div>\n</div>\n\n\n' ) ;
2222$templateCache . put ( 'streama-video-player.trackSelector.html' , '<div class="mobile-overlay-container mobile-track-selector-container">\n\n <div class="row">\n <div class="col-50">\n <h2>{{\'VIDEO.SUBTITLES\' | translate}}</h2>\n <ul class="track-selector-list">\n <li class="track-selector-item" ng-class="{\'active\': !selectedSubtitleId}" ng-click="selectSubtitle()">\n {{\'VIDEO.NO_SUBTITLE\' | translate}} \n\n <i ng-if="!selectedSubtitleId" class="ion-checkmark"></i>\n </li>\n <li class="track-selector-item" ng-class="{\'active\': track.id == selectedSubtitleId}"\n ng-repeat="track in options.subtitles" ng-click="selectSubtitle(track)">\n {{track.subtitleLabel || track.originalFilename}}\n\n <i ng-if="track.id == selectedSubtitleId" class="ion-checkmark"></i>\n </li>\n </ul>\n </div>\n <div class="col-50">\n <h2>{{\'VIDEO.SUBTITLE_SIZE\' | translate}}</h2>\n <ul class="subtitle-size-picker">\n <li class="subtitle-size-lg" ng-class="{\'active\': options.subtitleSize == \'lg\'}" ng-click="changeSubtitleSize(\'lg\')">A</li>\n <li class="subtitle-size-md" ng-class="{\'active\': options.subtitleSize == \'md\'}" ng-click="changeSubtitleSize(\'md\')">A</li>\n <li class="subtitle-size-sm" ng-class="{\'active\': options.subtitleSize == \'sm\'}" ng-click="changeSubtitleSize(\'sm\')">A</li>\n </ul>\n </div>\n </div>\n\n\n\n</div>' ) ; } ] ) ;
23-
24- angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaPadnumber' , [ function ( ) {
25- return function ( input , length ) {
26- return pad ( input , length ) ;
27- } ;
28-
29-
30- function pad ( n , width , z ) {
31- z = z || '0' ;
32- n = n + '' ;
33- return n . length >= width ? n : new Array ( width - n . length + 1 ) . join ( z ) + n ;
34- }
35-
36- } ] ) ;
37-
38- angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaTrustAs' , [ '$sce' , function ( $sce ) {
39- return function ( input , type ) {
40- return $sce . trustAs ( type , input ) ;
41- } ;
42-
43- } ] ) ;
44- angular . module ( 'streama.videoPlayer' ) . filter ( 'videoDurationDisplay' , [ '$filter' , function ( $filter ) {
45- return function ( seconds ) {
46- var date = new Date ( 1970 , 0 , 1 ) . setSeconds ( seconds ) ;
47- return $filter ( 'date' ) ( date , 'mm' ) + ' Min.' ;
48- } ;
49- } ] ) ;
50-
51- angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaVideoTime' , [ '$filter' , function ( $filter ) {
52- return function ( seconds ) {
53- var date = new Date ( 1970 , 0 , 1 ) . setSeconds ( seconds ) ;
54- if ( seconds >= 3600 ) {
55- return $filter ( 'date' ) ( date , 'hh:mm:ss' ) ;
56- } else {
57- return $filter ( 'date' ) ( date , 'mm:ss' ) ;
58- }
59- } ;
60- } ] ) ;
61-
6223'use strict' ;
6324
6425angular . module ( 'streama.videoPlayer' ) . directive ( 'streamaVideoPlayer' , [
@@ -285,7 +246,9 @@ angular.module('streama.videoPlayer').directive('streamaVideoPlayer', [
285246 }
286247
287248 function toggleControls ( ) {
288- $scope . isMobileControlsVisible = ! $scope . isMobileControlsVisible ;
249+ $timeout ( function ( ) {
250+ $scope . isMobileControlsVisible = ! $scope . isMobileControlsVisible ;
251+ } ) ;
289252 }
290253
291254 function clickVideo ( ) {
@@ -569,6 +532,45 @@ angular.module('streama.videoPlayer').directive('streamaVideoPlayer', [
569532 }
570533 } ] ) ;
571534
535+
536+ angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaPadnumber' , [ function ( ) {
537+ return function ( input , length ) {
538+ return pad ( input , length ) ;
539+ } ;
540+
541+
542+ function pad ( n , width , z ) {
543+ z = z || '0' ;
544+ n = n + '' ;
545+ return n . length >= width ? n : new Array ( width - n . length + 1 ) . join ( z ) + n ;
546+ }
547+
548+ } ] ) ;
549+
550+ angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaTrustAs' , [ '$sce' , function ( $sce ) {
551+ return function ( input , type ) {
552+ return $sce . trustAs ( type , input ) ;
553+ } ;
554+
555+ } ] ) ;
556+ angular . module ( 'streama.videoPlayer' ) . filter ( 'videoDurationDisplay' , [ '$filter' , function ( $filter ) {
557+ return function ( seconds ) {
558+ var date = new Date ( 1970 , 0 , 1 ) . setSeconds ( seconds ) ;
559+ return $filter ( 'date' ) ( date , 'mm' ) + ' Min.' ;
560+ } ;
561+ } ] ) ;
562+
563+ angular . module ( 'streama.videoPlayer' ) . filter ( 'streamaVideoTime' , [ '$filter' , function ( $filter ) {
564+ return function ( seconds ) {
565+ var date = new Date ( 1970 , 0 , 1 ) . setSeconds ( seconds ) ;
566+ if ( seconds >= 3600 ) {
567+ return $filter ( 'date' ) ( date , 'hh:mm:ss' ) ;
568+ } else {
569+ return $filter ( 'date' ) ( date , 'mm:ss' ) ;
570+ }
571+ } ;
572+ } ] ) ;
573+
572574'use strict' ;
573575
574576angular . module ( 'streama.videoPlayer' ) . factory ( 'streamaVideoPlayerService' , [
0 commit comments