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();"> </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();"> </button>
<button class="button button-icon button-clear ion-plus-round" ng-click="sliderChanged(1);"> </button>
<button class="button button-icon button-clear ion-minus-round" ng-click="sliderChanged(-1);"> </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" >
<i class="ion-ios-videocam"></i>
<span style="background-color:red;color:#fff" ng-if="monitor.Monitor.isPaused">
<i class="ion-pause"></i>
</span> {{monitor.Monitor.Name}}
<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)}})
</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}}:
<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">
{{'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>
|