summaryrefslogtreecommitdiff
path: root/www/templates/events-modal.html
blob: 5c030c997def711672b7ca6b2d46412af64c3c4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<div ng-controller="EventModalCtrl">
    <!-- style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;"-->
    <ion-modal-view cache-view="false">
        <ion-content style="background-color:#444444" overflow-scroll="true"  ng-cloak>

            <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" style="width: 100%; " delegate-handle="imgscroll" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" overflow-scroll="false">
                <div id="full-screen-event" style="height: 100vh;">




                    <!-- route via ZMS -->

                    <div ng-if="( (defaultVideo=='') || (loginData.enableh264==false)) && (loginData.useNphZmsForEvents==true)">

                        <!--<div style="color:white">connkey:{{connKey}}</div>-->
                        <div style="width:100vw; height:100vh;">
                            <img image-spinner-src="{{loginData.streamingurl}}/nph-zms?source=event&mode=jpeg&event={{eventId}}&frame=1&replay={{currentStreamMode}}&rate=100&connkey={{connKey}}&scale={{singleImageQuality}}{{$root.authSession}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-double-tap="closeModal();" />

                            <div ng-if="isPaused" style="position:absolute; top:50%; left:50%;white-space:nowrap;overflow:hidden;z-index:999" class="header-paused">
                                &nbsp;<i class="ion-pause"></i> {{'kPaused' | translate}}&nbsp;
                            </div>

                        </div>


                    </div>

                    <!-- no default video -->

                    <div ng-if="defaultVideo!==undefined && defaultVideo!='' && loginData.enableh264 == true">
                        <div ng-if="videoIsReady"  class="videogular-full-container" >
                            
                            <!--<video controls="controls" preload="metadata" autoplay="autoplay" webkit-playsinline="webkit-playsinline" class="videoPlayer"><source src="" dynamic-url dynamic-url-src="{{video_url}}" type="video/mp4"/></video>-->
                           
                            <videogular vg-theme="videoObject.config.theme" vg-complete="playbackFinished()" on-double-tap="closeModal();" vg-autoplay="true" vg-responsive="true">
                                
                                <vg-media vg-src="videoObject.config.sources" vg-native-controls="false">
                                </vg-media>
                                
                                <vg-overlay-play></vg-overlay-play>
                                <!-- <vg-buffering></vg-buffering>-->
                                
                                <vg-controls>
                                    <vg-play-pause-button></vg-play-pause-button>
                                    <vg-scrub-bar>
                                        <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
                                    </vg-scrub-bar>
                                    <vg-time-display>{{ timeLeft | date:'mm:ss':'+0000' }}</vg-time-display>
                                    <vg-fullscreen-button></vg-fullscreen-button>
                                    <vg-volume>
                                        <vg-mute-button></vg-mute-button>
                                    </vg-volume>
                                </vg-controls>
                                
                                
                                
                            </videogular>
                              
                        </div>
                       <div id="event_canvas_video">
                            <canvas id="eventchart" width="100%" height="20px"></canvas>
                        </div>

                    </div>




                </div>
                <!-- 100vh -->
         </ion-scroll>

            <div ng-if="( (defaultVideo=='') || (loginData.enableh264==false)) && (loginData.useNphZmsForEvents==true)">
                <div id="event_canvas">
                    <canvas style="padding-left:23px;
                        padding-right:23px;" id="eventchart" width="auto" height="20px"></canvas>
                </div>
                <div ng-if="checkEventOn" id="event_slider" data-tap-disabled="false">
                    <div class="range">
                        <input on-drag="enableSliderBlock()" on-release="youChangedSlider()" type="range" min="0" max="{{currentEventDuration}}" ng-model="sliderProgress.progress">
                    </div>
                </div>
                <div id="event_rate_text">
                    @{{currentRate}}x {{'kAt' | translate}}:{{currentProgress.progress}}s
                </div>
            </div>

        </ion-content>



    </ion-modal-view>


    <nav mfb-menu position="tr" effect="zoomin" label="{{'kCollapse'|translate}}" active-icon="ion-chevron-up" resting-icon="ion-chevron-down" toggling-method="click">

        <a mfb-button icon="ion-arrow-right-c" label="{{'kNextEvent'|translate}}" ng-click="jumpToEvent(nextId,1);"></a>
        <a mfb-button icon="ion-arrow-left-c" label="{{'kPrevEvent'|translate}}" ng-click="jumpToEvent(prevId,-1);"></a>
        <a mfb-button icon="ion-arrow-resize" label="{{imageFit?'fill screen':'fit screen'}}" ng-click="scaleImage();"></a>

        <a mfb-button icon="ion-close" label="exit event view" ng-click="closeModal()"> </a>

    </nav>

    <nav ng-if="loginData.useNphZmsForEvents" mfb-menu position="br" effect="zoomin" label="collapse" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">


        <a mfb-button icon="ion-skip-backward" label="{{'kFastRewind'|translate}}" ng-click="adjustSpeed('fr');"></a>
        <a mfb-button icon="ion-skip-forward" label="{{'kFastForward'|translate}}" ng-click="adjustSpeed('ff');"></a>
        <a mfb-button icon="ion-play" label="{{'kNormalPlay'|translate}}" ng-click="adjustSpeed('np');"></a>

        <a mfb-button icon="ion-pause" label="{{'kPause'|translate}}" ng-click="adjustSpeed('p');"> </a>

    </nav>



   <div class="events-range-modal-text">{{'kShowingEvent' | translate}}: {{d_eventId}}</div>

   <div id="flyoutmenu" style="position:absolute;bottom:100px;left:10px">
        <ul>
            <li ng-if="defaultVideo==''">
                <a href="" ng-click="toggleGapless()"> <i class="ion-ios-loop-strong"></i>-{{loginData.gapless? ('kOn' | translate): ('kOff' | translate)}}</a>
            </li>

            <li ng-if="defaultVideo==''">
                <a href="" ng-click="saveEventImageToPhone(false)"> <i class="ion-ios-camera"></i></a>
            </li>

            <li ng-if="defaultVideo==''">
                <a href="" ng-click="saveEventImageToPhone(true)"> <i class="ion-android-notifications"></i></a>
            </li>

            <li ng-if="$root.isAlarm">
                <a data-badge="{{$root.alarmCount}}" class="notification-badge animated infinite tada" href="" ng-click="handleAlarms()"><i class="ion-ios-bell"></i></a>
            </li>



        </ul>

    </div>

</div>