diff options
Diffstat (limited to 'www/templates')
| -rw-r--r-- | www/templates/events-modal.html | 5 | ||||
| -rw-r--r-- | www/templates/events-popover.html | 5 | ||||
| -rw-r--r-- | www/templates/events.html | 4 | ||||
| -rw-r--r-- | www/templates/log.html | 16 | ||||
| -rw-r--r-- | www/templates/moment.html | 2 | ||||
| -rw-r--r-- | www/templates/monitors-modal.html | 1 | ||||
| -rw-r--r-- | www/templates/monitors.html | 9 | ||||
| -rw-r--r-- | www/templates/state.html | 105 | ||||
| -rw-r--r-- | www/templates/timeline-modal.html | 2 |
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 @@ <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> + + + <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"> {{moment.Event.humanizeTime}} <span style="float:right">{{hourmin(moment.Event.StartTime)}} </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" /> |
