diff options
Diffstat (limited to 'www/templates')
| -rw-r--r-- | www/templates/events-modal.html | 3 | ||||
| -rw-r--r-- | www/templates/montage-history.html | 372 |
2 files changed, 143 insertions, 232 deletions
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html index e6211aab..2c1c38c7 100644 --- a/www/templates/events-modal.html +++ b/www/templates/events-modal.html @@ -113,6 +113,9 @@ <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> diff --git a/www/templates/montage-history.html b/www/templates/montage-history.html index 3a4cbd86..aa38df16 100644 --- a/www/templates/montage-history.html +++ b/www/templates/montage-history.html @@ -1,240 +1,148 @@ <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" 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>--> - - <!--<div class="timeline_text" ion-datetime-picker am-pm={{!loginData.use24hr}} ng-model="datetimeValueTo.value" ng-change="dateChanged()"> - <b>{{'kTo' | translate}}: </b>{{datetimeValueTo.value | date: timeFormat}} @ {{sliderVal.rate}}x - <div ng-if="$root.platformOS != 'ios'">({{'kChromeMax' | translate}})</div> - </div>--> - - <div class="timeline_text"> - {{'kFrom' | translate}}:{{prettifyDateTimeFirst(datetimeValueFrom.value)}} ({{humanizeTime(datetimeValueFrom.value)}}) - <!-- - {{'kTo' | translate}}:{{prettifyDateTimeFirst(datetimeValueTo.value)}} --> - <div ng-if="$root.platformOS != 'ios'">({{'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' && !sliderVal.hideNoEvents"> - - <!-- make sure we don't use id here + <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="$root.platformOS != 'ios'">({{'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' && !sliderVal.hideNoEvents"> + <!-- make sure we don't use id here -- or we lose the handle for cleanup forever!--> - <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-show=" monitor.Monitor.listDisplay!='noshow'"> - - <img class="{{monitor.Monitor.selectStyle}}" image-spinner-src="{{monitor.Monitor.eventUrl}}" image-spinner-loader="lines" on-tap="!isDragabillyOn?noop():toggleSelectItem($index)" /> - - - <figcaption class="normal-figcaption" > + <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-show=" monitor.Monitor.listDisplay!='noshow'"> + <img class="{{monitor.Monitor.selectStyle}}" image-spinner-src="{{monitor.Monitor.eventUrl}}" image-spinner-loader="lines" on-tap="!isDragabillyOn?noop():toggleSelectItem($index)" > + <figcaption class="normal-figcaption" > - <i class="ion-ios-videocam"></i> + + <i class="ion-ios-videocam"></i> {{monitor.Monitor.Name}} - </figcaption> - - - - </figure> - </div> - </div> - - <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-show=" monitor.Monitor.listDisplay!='noshow'"> - - <img class="{{monitor.Monitor.selectStyle}}" image-spinner-src="{{monitor.Monitor.eventUrl}}{{$root.authSession}}" image-spinner-loader="lines" on-tap="!isDragabillyOn?togglePause(monitor.Monitor.Id):toggleSelectItem($index)" /> - - - <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"> - <i class="ion-clock"></i> {{prettifyDateTimeFirst(monitor.Monitor.eventUrlTime)}} ({{humanizeTime(monitor.Monitor.eventUrlTime)}}) - </div> - - </figcaption> - - - - </figure> - </div> - - - - - - <!-- - <div ng-if="sliderVal.showTimeline && $root.runMode!='lowbw'" style=" position:absolute; bottom:15px; right:0%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;" - class="header-event-id" id="{{monitor.Monitor.Id}}-timeline"> - <i class="ion-clock"></i> - {{prettifyDate(monitor.Monitor.eventUrlTime)}} - </div> - --> - - - <!--<div ng-if="!monitor.isPaused" - style="position:absolute; bottom:35px; right:0%;white-space:nowrap;overflow:hidden;" class="header-event-id">paused - </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" + + </figcaption> + </figure> + </div> + </div> + <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-show=" monitor.Monitor.listDisplay!='noshow'"> + <img class="{{monitor.Monitor.selectStyle}}" image-spinner-src="{{monitor.Monitor.eventUrl}}{{$root.authSession}}" image-spinner-loader="lines" on-tap="!isDragabillyOn?togglePause(monitor.Monitor.Id):toggleSelectItem($index)" on-swipe-left="toggleControls()" /> + <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"> + <i class="ion-clock"></i> {{prettifyDateTimeFirst(monitor.Monitor.eventUrlTime)}} ({{humanizeTime(monitor.Monitor.eventUrlTime)}}) + </div> + </figcaption> + </figure> + <div ng-if="showControls"> + + + + <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"> + eventchart-{{monitor.Monitor.Id}} + <canvas id="eventchart-{{monitor.Monitor.Id}}" width="95%" height="20px"></canvas> + </div> + + </div> + <div id="flyoutmenu" ng-if="showControls" style="position:absolute;top:50%;left:50%;z-index:99999;transform: translate(-50%, -50%);"> + <ul> + <li> + <a href="" ng-click="moveSlower(monitor.Monitor.Id)"> {{'kEventHistSlower' | translate}} </a> + </li> + <li> + <a href="" ng-click= "movePlay(monitor.Monitor.Id)">{{'kEventHistPlay' | translate}}</a> + </li> + <li> + <a href="" ng-click = "moveFaster(monitor.Monitor.Id)">{{'kEventHistFaster' | translate}}</a> + </li> + </ul> + </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"> - - - <!--<ion-toggle ng-model="sliderVal.hideNoEvents" ng-checked="{{sliderVal.hideNoEvents}}" toggle-class="toggle-dark"><span class="item-text-wrap">{{'kHideMonsWithoutEvents' | translate}}</span></ion-toggle>--> - - - - - <!--<div class="item item-divider" ion-datetime-picker ng-model="datetimeValueFrom.value"> + </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"> + <!--<ion-toggle ng-model="sliderVal.hideNoEvents" ng-checked="{{sliderVal.hideNoEvents}}" toggle-class="toggle-dark"><span class="item-text-wrap">{{'kHideMonsWithoutEvents' | translate}}</span></ion-toggle>--> + <!--<div class="item item-divider" ion-datetime-picker ng-model="datetimeValueFrom.value"> Tap to change: {{datetimeValueFrom.value| date: "yyyy-MMM-dd hh:mma"}} </div>--> - - - - - - - - <div class="item item-divider">{{'kTimeline' | translate}}</div> - - <div class="item item-input-inset"> - {{'kEventHistShowFrom'|translate}}: - <label class="item-input-wrapper"> - <input ng-change="hrsChanged()" type="tel" placeholder="hours" ng-model="datetimeValueFrom.hrs"> - </label> - {{'kEventHistHrs' | translate}} - </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>
\ No newline at end of file + <div class="item item-divider">{{'kTimeline' | translate}}</div> + <div class="item item-input-inset"> {{'kEventHistShowFrom'|translate}}: + + <label class="item-input-wrapper"> + <input ng-change="hrsChanged()" type="tel" placeholder="hours" ng-model="datetimeValueFrom.hrs"> + </label> {{'kEventHistHrs' | translate}} + </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>
\ No newline at end of file |
