summaryrefslogtreecommitdiff
path: root/www/templates/montage-history.html
blob: 929b1e051f2eeb1ee4d8be7dfe5ef9ede181f46e (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
<ion-view view-title="{{'kEventMontage' | translate}}" cache-view="false" hide-nav-bar="{{minimal}}">
    <ion-nav-buttons side="left">
        <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
        <button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();">&nbsp; </button>
        <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
    </ion-nav-buttons>
    <ion-nav-buttons side="right">
        <button class="button button-icon button-clear ion-loop" ng-click="resetSizes();">&nbsp; </button>
        <button class="button button-icon button-clear ion-plus-round" ng-click="sliderChanged(1);">&nbsp; </button>
        <button class="button button-icon button-clear ion-minus-round" ng-click="sliderChanged(-1);">&nbsp; </button>
        <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
    </ion-nav-buttons>
    <ion-content scroll-sista has-bouncing="false" style="background-color:#444444" delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
        <div class="timeline_text"> {{'kFrom' | translate}}:{{prettifyDateTimeFirst(datetimeValueFrom.value)}} ({{humanizeTime(datetimeValueFrom.value)}})
            <div ng-if="!isSimulStreaming">({{'kChromeMax' | translate}})</div>
        </div>
        <div class="grid" id="mygrid">
            <div class="grid-sizer grid-item-10"></div>
            <!-- <span ng-repeat="monitor in MontageMonitors|limitTo: monLimit" ng- -->
            <span ng-repeat="monitor in MontageMonitors | onlyEnabledAndEventHas |limitTo: currentLimit">
				<div ng-if="$root.authSession!='undefined'">
					
						<div  ng-if = "monitor.Monitor.eventUrl != 'img/noevent.png' && monitor.Monitor.connKey !=''">
							<div  class="grid-item grid-item-{{monitor.Monitor.gridScale}} " data-item-id="{{monitor.Monitor.Id}}" data-item-size="{{monitor.Monitor.gridScale}}" data-item-listdisplay="{{monitor.Monitor.listDisplay}}" >
								<figure height="{{Monitor.monitor.height}}" width="{{Monitor.monitor.width}}" class="{{dragBorder}}" ng-if=" monitor.Monitor.listDisplay!='noshow'">
									<img class="{{monitor.Monitor.selectStyle}}" image-spinner-src="{{constructStream(monitor)}}"  image-spinner-loader="lines" on-tap="!isDragabillyOn?togglePause(monitor.Monitor.Id):toggleSelectItem($index)"  on-swipe-left="toggleControls()" on-swipe-right="toggleControls()"  img-spinner-w="{{monitor.Monitor.Width}}" img-spinner-h="{{monitor.Monitor.Height}}"/>
									<figcaption class="normal-figcaption" >

                                        &nbsp;
										
										<i class="ion-ios-videocam"></i>
										<span style="background-color:red;color:#fff" ng-if="monitor.Monitor.isPaused">&nbsp;
											
											<i class="ion-pause"></i>&nbsp;
										
										</span> {{monitor.Monitor.Name}}&nbsp;
            <div ng-if="sliderVal.showTimeline && $root.runMode!='lowbw'" style="white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:9px" class="header-event-id" id="{{monitor.Monitor.Id}}-timeline">[{{monitor.Monitor.eid}}]
                <i class="ion-clock"></i> {{prettifyDateTimeFirst(monitor.Monitor.eventUrlTime)}} ({{humanizeTime(monitor.Monitor.eventUrlTime)}})&nbsp;
            </div>
            </figcaption>
            </figure>
            <!-- wait for packery otherwise we get large ranges -->
            <div ng-show="packeryDone">
                <div class="range" style="position:absolute;top:5%;width:95%;z-index:999">
                    <input on-release="seek(monitor.Monitor.Id,monitor.Monitor.sliderProgress.progress )" type="range" min="0" max="{{monitor.Monitor.eventDuration}}" ng-model="monitor.Monitor.sliderProgress.progress">
                </div>
                <div id="history_canvas_video">
                    <canvas style="padding-left:23px;
                        padding-right:23px;z-index:998" id="eventchart-{{monitor.Monitor.Id}}" width="auto" height="20"></canvas>
                </div>
            </div>
            <div ng-if="monitor.Monitor.seek" style="position:absolute;top:0px; left: 0px; width:100%;height:100%; background-color:rgba(0,0,0,0.3); z-index:99999">
                <div style="position:relative;top:50%;text-align:center;color:white;background-color:rgba(0,0,0,0.5);">{{'kPleaseWait' | translate}}</div>
            </div>
        </div>
        </div>
        </div>
        <!-- valid auth session &!background -->
        <!--<div ng-if="!$root.authSession=='undefined' || isBackground()">
							<img image-spinner-src="img/pausevideo.png" />
						</div>-->
        </span>
        </div>
        <ion-item ng-show="!MontageMonitors.length"> {{'kNoMonitors' | translate }} </ion-item>
    </ion-content>
    <div class="bwmode" ng-if="$root.runMode=='lowbw'"> {{ 'kLowBWDisplay' | translate }} </div>
    <div ng-show="minimal">
        <nav mfb-menu position="br" effect="zoomin" label="collapse" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">
            <button mfb-button icon="ion-arrow-expand" label="increase size" ng-click="changeSize(-1)"></button>
            <button mfb-button icon="ion-arrow-shrink" label="decrease size" ng-click="changeSize(1)"></button>
            <button mfb-button icon="ion-refresh" label="refresh" ng-click="reloadView();"></button>
            <button mfb-button icon="ion-close" label="exit full screen" ng-click="switchMinimal()"></button>
        </nav>
        <span class="modal-alarm-badge">
					<a data-badge="{{$root.alarmCount}}" class="animated infinite tada button icon  ion-ios-bell notification-badge button-assertive" 
                    ng-click="handleAlarmsWhileMinimized();" ng-if="$root.isAlarm"></a>
				</span>
    </div>
    <ion-pull-up-footer class="zmPullup" on-expand="footerExpand()" on-minimize="footerCollapse()" on-collapse="footerCollapse()" initial-state="minimized" default-behavior="expand">
        <ion-pull-up-handle width="100" height="25" toggle="ion-chevron-up ion-chevron-down" style="border-radius: 25px 25px 0 0">
            <i class="icon ion-chevron-up"></i>
        </ion-pull-up-handle>
        <ion-pull-up-bar>
            <h1 class="title" ion-pull-up-trigger>{{'kEventMontage' | translate}}</h1>
        </ion-pull-up-bar>
        <ion-pull-up-content scroll="true">
            <div class="list list-inset">
                <div class="item item-divider">{{'kTimeline' | translate}} ({{getLocalTZ()}})</div>
                <div class="item item-input-inset"> {{'kFrom'|translate}}:&nbsp;
                    <div class="row">
                        <div class="col col-50">
                            <label class="item-input-wrapper">
                                <input ng-change="hrsChanged()" type="tel" placeholder="{{'kHours' | translate}}" ng-model="datetimeValueFrom.hrs">
                            </label>
                        </div>
                        <div class="col col-50">
                            &nbsp;{{'kEventHistHrs' | translate}}
                        </div>
                    </div>
                </div>
                <ion-item>
                    <div ion-datetime-picker title="From" am-pm={{!loginData.use24hr}} ng-model="datetimeValueFrom.value" ng-change="dateChanged()">
                        <b>{{'kFrom' | translate }}: </b>{{datetimeValueFrom.value | date: timeFormat}}
                    </div> ({{humanizeTime(datetimeValueFrom.value)}})
                </ion-item>
                <div class="row">
                    <div class="col col-75">
                        <br/>
                        <div style="width:90%;color:black;">
                            <input ng-model="sliderVal.rate" type="text" id="mySlider6" slider options="slider_modal_options_rate" />
                        </div>
                        <br/>
                    </div>
                    <div class="col col-25" style="background-color:#AEA8D3;text-align:center"> {{'kSpeed' | translate }} </div>
                </div>
                <!--<ion-item><div ion-datetime-picker am-pm={{!loginData.use24hr}} ng-model="datetimeValueTo.value"><b>{{'kTo' | translate}}: </b>{{datetimeValueTo.value | date: timeFormat}}
                    </div></ion-item>-->
            </div>
        </ion-pull-up-content>
    </ion-pull-up-footer>
</ion-view>