summaryrefslogtreecommitdiff
path: root/www/templates
diff options
context:
space:
mode:
Diffstat (limited to 'www/templates')
-rw-r--r--www/templates/events-modal.html5
-rw-r--r--www/templates/events-popover.html5
-rw-r--r--www/templates/events.html4
-rw-r--r--www/templates/log.html16
-rw-r--r--www/templates/moment.html2
-rw-r--r--www/templates/monitors-modal.html1
-rw-r--r--www/templates/monitors.html9
-rw-r--r--www/templates/state.html105
-rw-r--r--www/templates/timeline-modal.html2
9 files changed, 119 insertions, 30 deletions
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index 164c3f62..319f8366 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -33,14 +33,15 @@
</div>
-
+
<img ng-if="!liveFeedMid" image-spinner-src="{{constructStream()}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}"
on-double-tap="closeModal();" img-spinner-w="1024" img-spinner-h="768" image-spinner-loader="lines"
imageonload="modalImageLoaded()" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" />
<div ng-if="liveFeedMid">
- <img image-spinner-src="{{loginData.streamingurl}}/nph-zms?mode=jpeg&monitor={{liveFeedMid}}&connkey={{connKey}}{{$root.authSession}}"
+
+ <img image-spinner-src="{{currentEvent.Event.streamingURL}}/nph-zms?mode=jpeg&monitor={{liveFeedMid}}&connkey={{connKey}}{{$root.authSession}}"
ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-double-tap="closeModal();"
img-spinner-w="1024" img-spinner-h="768" image-spinner-loader="lines" imageonload="modalImageLoaded()"
on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" />
diff --git a/www/templates/events-popover.html b/www/templates/events-popover.html
index d61f8f5b..2620c9b3 100644
--- a/www/templates/events-popover.html
+++ b/www/templates/events-popover.html
@@ -11,8 +11,13 @@
</a>
<a class="item" ng-href="" ng-click="popover.hide();toggleMinAlarmFrameCount();" ng-if="loginData.enableAlarmCount">{{'kShowAllEvents'
| translate}}</a>
+
<a class="item" ng-href="" ng-click="popover.hide();toggleMinAlarmFrameCount();" ng-if="!loginData.enableAlarmCount">
{{'kShowAlarmedEvents' | translate}}</a>
+
+ <a class="item" ng-href="" ng-click="popover.hide();footerToggle();" >
+ {{ 'kToggleSummary' | translate}}</a>
+
</div>
</ion-content>
</ion-popover-view>
diff --git a/www/templates/events.html b/www/templates/events.html
index b312a79c..71522fa0 100644
--- a/www/templates/events.html
+++ b/www/templates/events.html
@@ -152,13 +152,13 @@
<span ng-repeat="alarm in alarm_images | selectFrames: typeOfFrames">
<figure class="animated slideInLeft" style="display:inline-block">
- <!--{{event.Event.baseURL}} p:{{event.Event.imageMode}}-->
+ <!--{{event.Event.recordingURL}} p:{{event.Event.imageMode}}-->
<figcaption class="smallnote">
<span translate="kFrame"></span>:{{alarm.frameid}},
<span translate="kScore"></span>:{{alarm.score}},
<span translate="kTime"></span>: {{prettifyTimeSec(alarm.time)}}</figcaption>
<img ng-src="{{constructAlarmFrame(event,alarm,true)}}" fallback-src="{{constructAlarmFrame(event,alarm,false)}}"
- style="width: auto; height: auto;max-width: 100%;max-height: 170px" on-tap="showImage(event.Event.baseURL,event.Event.relativePath,alarm.fname, alarm.frameid, event.Event.Id, event.Event.imageMode, alarm.id, alarm_images, $index)" />
+ style="width: auto; height: auto;max-width: 100%;max-height: 170px" on-tap="showImage(event.Event.recordingURL, alarm.fname, alarm.frameid, event.Event.Id, event.Event.imageMode, alarm.id, alarm_images, $index)" />
</figure>
diff --git a/www/templates/log.html b/www/templates/log.html
index 0ad840d8..2884c4bb 100644
--- a/www/templates/log.html
+++ b/www/templates/log.html
@@ -4,7 +4,10 @@
&nbsp;
<button ng-class="selectOn? 'button button-icon button-clear ion-ios-copy':'button button-icon button-clear ion-ios-copy-outline'"
- ng-click="selectToggle()"></button>
+ ng-click="selectToggle()"></button> &nbsp;
+
+
+
<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>
@@ -13,10 +16,10 @@
<a class="button button-icon icon ion-arrow-swap" ng-href="" ng-click="flipLogs()"></a>
<a ng-if="logEntity == $root.appName" class="button button-icon icon ion-trash-a" ng-href="" ng-click="deleteLogs()"></a>
<div ng-if="$root.platformOS!='desktop'">
- <a class="button button-icon icon ion-email" ng-href="" ng-click="sendEmail(log.logString)"> </a>
+ <a class="button button-icon icon ion-email" ng-href="" ng-click="attachLogs()"> </a>
</div>
<div ng-if="$root.platformOS=='desktop'">
- <a class="button button-icon icon ion-android-download" ng-href="" ng-click="sendEmail(log.logString)"> </a>
+ <a class="button button-icon icon ion-android-download" ng-href="" ng-click="downloadLogs()"> </a>
</div>
</ion-nav-buttons>
<ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
@@ -31,11 +34,14 @@
<button class="button button-small button-stable icon ion-chevron-left" ng-click="changePage(1)">
</button>
<button class="button button-small button-stable icon ion-chevron-right" ng-click="changePage(-1)">
- </button>
+ </button><br/>
+ <b>ZoneMinder {{'kVersion'|translate}}: {{zmVersion}} </b><br/>
+
</div>
<div ng-if="logEntity==$root.appName">
- <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}} ({{$root.platformOS}})</b>
+ <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}} ({{$root.platformOS}})</b><br/>
+ <b>ZoneMinder {{'kVersion'|translate}}: {{zmVersion}} </b>
</div>
<div ng-if="selectOn" class="aside-1">{{'kLogsCopyPaste' | translate }}</div>
diff --git a/www/templates/moment.html b/www/templates/moment.html
index 45cdbd13..0f0f55c4 100644
--- a/www/templates/moment.html
+++ b/www/templates/moment.html
@@ -113,7 +113,7 @@
ng-click="togglePin(moment.Event.Id)"></button>
</div>
- <!--on-tap="showThumbnail(moment.Event.baseURL,moment.Event.MaxScoreFrameId)"-->
+
<figcaption ng-if="showIcons" class="normal-figcaption">&nbsp;{{moment.Event.humanizeTime}}
<span style="float:right">{{hourmin(moment.Event.StartTime)}}&nbsp;</span>
</figcaption>
diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html
index f039780a..72ed2baa 100644
--- a/www/templates/monitors-modal.html
+++ b/www/templates/monitors-modal.html
@@ -7,6 +7,7 @@
zooming="true" direction="xy" style="width: 100%;" overflow-scroll="false">
<!-- android needs this 100vh - otherwise max- does not work -->
<!-- -->
+
<div id="monitorimage" style="height: 100vh;" class="main">
<div ng-if="$root.authSession!='undefined'">
<div ng-if="!animationInProgress">
diff --git a/www/templates/monitors.html b/www/templates/monitors.html
index fbd1ce26..5da6b8db 100644
--- a/www/templates/monitors.html
+++ b/www/templates/monitors.html
@@ -48,8 +48,11 @@
<br /> {{'kStatus' | translate}}: {{monitor.Monitor.isRunningText}}
<br /> {{'kId' | translate}}: {{monitor.Monitor.Id}}
<br /> {{'kEventRecording' | translate}}: {{(monitor.Monitor.VideoWriter>0?'kVideo':'kImages') | translate}}
- <br />
- <br />
+ <br />{{'kMonStreamingURL' | translate}}: {{monitor.Monitor.streamingURL}}
+ <br />{{'kMonPortalURL' | translate}}: {{monitor.Monitor.baseURL}}
+ <br />{{'kMonRecordingURL' | translate}}: {{monitor.Monitor.controlURL}}
+ <br /> <br/>
+
</p>
<div style="float:right;">
<a class="button button-small icon icon-left icon ion-gear-a" href="" ng-click="changeConfig(monitor.Monitor.Name, monitor.Monitor.Id,monitor.Monitor.Enabled,monitor.Monitor.Function);">{{'kConfiguration'
@@ -61,7 +64,7 @@
</div>
</div>
<ion-item ng-show="!monitors.length">
- {{'kNoMonitors' | translate}}
+ {{monitorLoadStatus}}
</ion-item>
</ion-content>
</ion-view>
diff --git a/www/templates/state.html b/www/templates/state.html
index f5bff536..b534b693 100644
--- a/www/templates/state.html
+++ b/www/templates/state.html
@@ -4,8 +4,27 @@
<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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll >
<ion-refresher pulling-text="{{'kPullToReload' | translate}}..." spinner="bubbles" on-refresh="doRefresh()"></ion-refresher>
+
+ <ion-item>
+
+ <div>
+ <div class="row">
+ <div class="col text-center">
+ <a class="button button-small button-outline button-dark " ng-click="selectCustomState();" href="">{{'kChangeState'|translate}}</a>
+ <a class="button button-small button-outline button-dark " ng-click="controlZM('restart');" href="">{{'kRestart'
+ | translate}}</a>
+ <a class="button button-small button-outline button-dark" href="" ng-click="controlZM('stop');">{{'kStop'
+ | translate}}</a>
+ <a class="button button-small button-outline button-dark" ng-click="controlZM('start');" href="">{{'kStart'
+ | translate}}</a>
+ </div>
+ </div>
+ </div>
+ </ion-item>
+
+
<ion-list>
<ion-item>
<div class="row">
@@ -35,23 +54,77 @@
</div>
</div>
</ion-item>
+ </ion-list>
- <ion-item>
+
+
+ <div class="list" >
- <div>
- <div class="row">
- <div class="col text-center">
- <a class="button button-small button-outline button-dark " ng-click="selectCustomState();" href="">{{'kChangeState'|translate}}</a>
- <a class="button button-small button-outline button-dark " ng-click="controlZM('restart');" href="">{{'kRestart'
- | translate}}</a>
- <a class="button button-small button-outline button-dark" href="" ng-click="controlZM('stop');">{{'kStop'
- | translate}}</a>
- <a class="button button-small button-outline button-dark" ng-click="controlZM('start');" href="">{{'kStart'
- | translate}}</a>
- </div>
- </div>
+ <!-- Storage -->
+ <div class="item item-divider item-icon-left item-icon-right" ng-click="toggleStorage()">
+ <i class="icon" ng-class="showStorage? 'ion-minus':'ion-plus'"></i>
+ <i class="icon ion-social-buffer"></i>
+ {{'kStateStorage' | translate}}
</div>
- </ion-item>
- </ion-list>
+ <div ng-repeat = "store in storage">
+ <div class="item item-accordion item-divider" ng-show="showStorage">
+
+ {{store.Storage.Name}} ({{store.Storage.Id}})
+ </div> <!-- divider -->
+ <div class="item item-accordion" ng-show="showStorage">
+
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStatePath' | translate }}: {{store.Storage.Path}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateDiskUsed' | translate }}: {{ humanFileSize(store.Storage.DiskSpace,true)}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kScheme' | translate }}: {{ store.Storage.Scheme}}
+ </div>
+ <div ng-if="store.Storage.ServerId" class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateServer' | translate }}: {{ matchServer(store.Storage.ServerId)}}
+ </div>
+
+ </div> <!-- item -->
+ </div> <!-- repeat -->
+
+ <!-- server -->
+ <div class="item item-divider item-icon-left item-icon-right" ng-click="toggleServer()">
+ <i class="icon" ng-class="showServer? 'ion-minus':'ion-plus'"></i>
+ <i class="icon ion-monitor"></i>
+ {{'kStateServer' | translate}}
+ </div>
+ <div ng-repeat = "server in servers">
+ <div class="item item-accordion item-divider" ng-show="showServer">
+
+ {{server.Server.Name}} ({{server.Server.Id}})
+ </div> <!-- divider -->
+ <div class="item item-accordion" ng-show="showServer">
+
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateHost' | translate }}: {{server.Server.Hostname}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStatus' | translate }}: {{ server.Server.Status}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateCpuLoad' | translate }}: {{ server.Server.CpuLoad}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateTotalMem' | translate }}: {{ humanFileSize(server.Server.TotalMem, true)}}
+ </div>
+ <div class="row" style="font-size:80%;line-height:140%;">
+ {{'kStateFreeMem' | translate }}: {{ humanFileSize(server.Server.FreeMem, true)}}
+ </div>
+
+ </div> <!-- item -->
+ </div> <!-- repeat -->
+ </div> <!-- list ---->
+
+
+
+
+
</ion-content>
</ion-view>
diff --git a/www/templates/timeline-modal.html b/www/templates/timeline-modal.html
index 3ae0aba7..5b6c8694 100644
--- a/www/templates/timeline-modal.html
+++ b/www/templates/timeline-modal.html
@@ -27,7 +27,7 @@
<figure style="display:inline-block">
<figcaption class="smallnote">f:{{alarm.fid}} scr:{{alarm.score}} @ {{alarm.time}}</figcaption>
<img image-spinner-src="{{constructFrames(event,alarm)}}" style="width: auto; height: auto;max-width: 100%;max-height: 170px"
- on-tap="showImage(event.Event.baseURL,event.Event.relativePath,alarm.fname, alarm.fid, event.Event.Id, event.Event.imageMode, alarm.id)"
+ on-tap="showImage(event.Event.recordingURL,event.Event.relativePath,alarm.fname, alarm.fid, event.Event.Id, event.Event.imageMode, alarm.id)"
image-spinner-loader="lines" />