summaryrefslogtreecommitdiff
path: root/www/templates
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2016-11-18 09:28:08 -0500
committerPliable Pixels <pliablepixels@gmail.com>2016-11-18 09:28:08 -0500
commit31ca68739126f5740681238539a8c6a1b66e0000 (patch)
treeddd6317b70ae500f63a3231a0639c54a02129c20 /www/templates
parentcf93ca01f3d54fca62d4222f110c2a63b526badb (diff)
mass formatting and normalization - tweaked JSBeautify options
Diffstat (limited to 'www/templates')
-rw-r--r--www/templates/devoptions.html6
-rw-r--r--www/templates/events-graphs.html58
-rw-r--r--www/templates/events-modal.html42
-rw-r--r--www/templates/events-modalgraph.html9
-rw-r--r--www/templates/events-popover.html15
-rw-r--r--www/templates/events.html305
-rw-r--r--www/templates/eventserversettings.html82
-rw-r--r--www/templates/first-use.html16
-rw-r--r--www/templates/help.html15
-rw-r--r--www/templates/important_message.html9
-rw-r--r--www/templates/log.html19
-rw-r--r--www/templates/login.html42
-rw-r--r--www/templates/lowversion.html8
-rw-r--r--www/templates/monitors-modal.html116
-rw-r--r--www/templates/monitors.html104
-rw-r--r--www/templates/montage-history.html197
-rw-r--r--www/templates/montage.html69
-rw-r--r--www/templates/news.html15
-rw-r--r--www/templates/reorder-modal.html43
-rw-r--r--www/templates/state.html22
-rw-r--r--www/templates/timeline-modal.html52
-rw-r--r--www/templates/timeline-popover.html24
-rw-r--r--www/templates/wizard.html183
-rw-r--r--www/templates/zm-portal-login.html14
24 files changed, 485 insertions, 980 deletions
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index 0ce3d11c..1f70d412 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -21,7 +21,8 @@
<ion-toggle ng-model="loginData.use24hr" ng-checked="{{loginData.use24hr}}" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnable24hr' | translate}}</span></ion-toggle>
</label>
<label>
- <ion-toggle ng-model="loginData.useLocalTimeZone" ng-checked="{{loginData.useLocalTimeZone}}" ng-disabled="!isTzSupported()" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kLocalTimeZone' | translate}}<span ng-if="!isTzSupported()"><p>{{'kTimeZoneNotSupported' | translate}}</p></span><span ng-if="isTzSupported()"><p>{{'kServerTimeZone' | translate}}:{{getTimeZoneNow()}}</p></span></span></ion-toggle>
+ <ion-toggle ng-model="loginData.useLocalTimeZone" ng-checked="{{loginData.useLocalTimeZone}}" ng-disabled="!isTzSupported()" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kLocalTimeZone' | translate}}<span ng-if="!isTzSupported()"><p>{{'kTimeZoneNotSupported' | translate}}</p></span><span ng-if="isTzSupported()"><p>{{'kServerTimeZone' | translate}}:{{getTimeZoneNow()}}</p></span></span>
+ </ion-toggle>
</label>
<div ng-if="$root.platformOS=='android'">
<label>
@@ -41,9 +42,6 @@
toggle-class="toggle-calm">use ZMS for events footage</ion-toggle>
</label>
-->
-
-
-
<div class="item item-text-wrap item-input-inset">
{{'kMaxMonitorsMontage' | translate }}&nbsp;
<label class="item-input-wrapper">
diff --git a/www/templates/events-graphs.html b/www/templates/events-graphs.html
index 2f7b965d..0e14016f 100644
--- a/www/templates/events-graphs.html
+++ b/www/templates/events-graphs.html
@@ -1,88 +1,60 @@
-
<!----- NOT USED -------->
-
<ion-view view-title="Monitor Event Summary" cache-view="false">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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>
-
+ <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>
-
<!-- I'm calling the same controller function but with different parameters when
you switch between tabs -->
-
<!-- Oddly, unless I add a "div ng-controller" before each canvas
onClick handler does not work
-->
-
<!-- All Events view -->
- <div id="visualization"></div>
+ <div id="visualization"></div>
<ion-tabs class="tabs-icon-top tabs-stable">
<ion-tab title="All" icon="ion-stats-bars" on-select="generateTCChart(0,'All Events',0)">
<ion-nav-view>
<ion-content class="has-header">
-
<div ng-controller="zmApp.EventsGraphsCtrl">
-
-
-
- <canvas tc-chartjs-bar chart-data="chart.data"
- chart-options="chart.options"
- ng-click="handleChartClick($event)" chart="chartwithbars">
- </canvas>
+ <canvas tc-chartjs-bar chart-data="chart.data" chart-options="chart.options" ng-click="handleChartClick($event)" chart="chartwithbars">
+ </canvas>
</div>
</ion-content>
</ion-nav-view>
</ion-tab>
-
<!-- All Events in the last hour -->
- <ion-tab title="Last Hour" icon="ion-stats-bars"
- on-select="generateTCChart(1,'Events in the last hour',1)">
+ <ion-tab title="Last Hour" icon="ion-stats-bars" on-select="generateTCChart(1,'Events in the last hour',1)">
<ion-nav-view>
<ion-content>
<div ng-controller="zmApp.EventsGraphsCtrl">
- <div style="overflow:scroll;">
- <canvas tc-chartjs-bar chart-data="chart.data"
- chart-options="chart.options"
- ng-click="handleChartClick($event)"
- chart="chartwithbars">
- </canvas>
+ <div style="overflow:scroll;">
+ <canvas tc-chartjs-bar chart-data="chart.data" chart-options="chart.options" ng-click="handleChartClick($event)" chart="chartwithbars">
+ </canvas>
</div>
</div>
</ion-content>
</ion-nav-view>
</ion-tab>
-
<!-- All Events in last 24 hrs-->
- <ion-tab title="Day" icon="ion-stats-bars"
- on-select="generateTCChart(2,'Events in the last day',24)">
+ <ion-tab title="Day" icon="ion-stats-bars" on-select="generateTCChart(2,'Events in the last day',24)">
<ion-nav-view>
<ion-content>
<div ng-controller="zmApp.EventsGraphsCtrl">
- <div style="overflow:scroll;">
- <canvas tc-chartjs-bar chart-data="chart.data"
- chart-options="chart.options" chart="chartwithbars"
- ng-click="handleChartClick($event)">
- </canvas>
- </div>
+ <div style="overflow:scroll;">
+ <canvas tc-chartjs-bar chart-data="chart.data" chart-options="chart.options" chart="chartwithbars" ng-click="handleChartClick($event)">
+ </canvas>
+ </div>
</div>
</ion-content>
</ion-nav-view>
</ion-tab>
-
<!-- All Events in last week -->
- <ion-tab title="Week" icon="ion-stats-bars"
- on-select="generateTCChart(3,'Events in the last week',168)">
+ <ion-tab title="Week" icon="ion-stats-bars" on-select="generateTCChart(3,'Events in the last week',168)">
<ion-nav-view>
<ion-content>
<div ng-controller="zmApp.EventsGraphsCtrl">
<div style="overflow:scroll;">
- <canvas tc-chartjs-bar chart-data="chart.data"
- chart-options="chart.options"
- chart="chartwithbars"
- ng-click="handleChartClick($event)">
+ <canvas tc-chartjs-bar chart-data="chart.data" chart-options="chart.options" chart="chartwithbars" ng-click="handleChartClick($event)">
</canvas>
</div>
</div>
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index f9dd446d..8ed518c2 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -2,10 +2,9 @@
<!-- style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;"-->
<ion-modal-view cache-view="false">
<ion-content style="background-color:#444444" ng-cloak>
- <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" delegate-handle="imgscroll" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" overflow-scroll="false">
+ <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" delegate-handle="imgscroll" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" overflow-scroll="false">
<div id="full-screen-event" style="height: 100vh;">
- <!--<div>-->
-
+ <!--<div>-->
<!-- route via ZMS -->
<div ng-if="( (defaultVideo=='') || (loginData.enableh264==false)) && (loginData.useNphZmsForEvents==true)">
<!--<div style="color:white">connkey:{{connKey}}</div>-->
@@ -18,26 +17,25 @@
</div>
<!-- no default video -->
<div ng-if="defaultVideo!==undefined && defaultVideo!='' && loginData.enableh264 == true">
- <div ng-if="videoIsReady" >
+ <div ng-if="videoIsReady">
<div style="height:{{$root.devHeight}}px; width:{{$root.devWidth}}px;">
- <videogular vg-error="onVideoError($event)" vg-can-play = "onCanPlay()" vg-player-ready="onPlayerReady($API)" vg-plays-inline="videoObject.config.playsInline" vg-theme="videoObject.config.theme" vg-complete="playbackFinished()" on-double-tap="closeModal();" vg-autoplay="videoObject.config.autoPlay" vg-responsive="videoObject.config.responsive" vg-update-time="videoTime(event.Event.StartTime,$currentTime)" >
- <vg-media vg-src="videoObject.config.sources" vg-native-controls="videoObject.config.nativeControls">
- </vg-media>
-
- <vg-controls>
- <vg-play-pause-button></vg-play-pause-button>
- <vg-time-display>{{ videoTime(event.Event.StartTime, currentTime ); }}</vg-time-display>
- <vg-scrub-bar>
- <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
- </vg-scrub-bar>
- <vg-time-display>{{ timeLeft | date:'mm:ss':'+0000' }}</vg-time-display>
- <vg-fullscreen-button></vg-fullscreen-button>
- <vg-volume>
- <vg-mute-button></vg-mute-button>
- </vg-volume>
- </vg-controls>
- <!--<vg-buffering></vg-buffering>-->
- </videogular>
+ <videogular vg-error="onVideoError($event)" vg-can-play="onCanPlay()" vg-player-ready="onPlayerReady($API)" vg-plays-inline="videoObject.config.playsInline" vg-theme="videoObject.config.theme" vg-complete="playbackFinished()" on-double-tap="closeModal();" vg-autoplay="videoObject.config.autoPlay" vg-responsive="videoObject.config.responsive" vg-update-time="videoTime(event.Event.StartTime,$currentTime)">
+ <vg-media vg-src="videoObject.config.sources" vg-native-controls="videoObject.config.nativeControls">
+ </vg-media>
+ <vg-controls>
+ <vg-play-pause-button></vg-play-pause-button>
+ <vg-time-display>{{ videoTime(event.Event.StartTime, currentTime ); }}</vg-time-display>
+ <vg-scrub-bar>
+ <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
+ </vg-scrub-bar>
+ <vg-time-display>{{ timeLeft | date:'mm:ss':'+0000' }}</vg-time-display>
+ <vg-fullscreen-button></vg-fullscreen-button>
+ <vg-volume>
+ <vg-mute-button></vg-mute-button>
+ </vg-volume>
+ </vg-controls>
+ <!--<vg-buffering></vg-buffering>-->
+ </videogular>
</div>
</div>
<!--<div id="event_canvas_video">
diff --git a/www/templates/events-modalgraph.html b/www/templates/events-modalgraph.html
index 8b718a5e..25b38543 100644
--- a/www/templates/events-modalgraph.html
+++ b/www/templates/events-modalgraph.html
@@ -1,10 +1,9 @@
<div ng-controller="EventsModalGraphCtrl">
-
-<ion-modal-view cache-view="false" style="width:80%;height:80%; top: 10%; left: 10%; right: 10%; bottom: 10%;" >
+ <ion-modal-view cache-view="false" style="width:80%;height:80%; top: 10%; left: 10%; right: 10%; bottom: 10%;">
<ion-content ng-cloak on-double-tap="closeModal()" delegate-handle="eventgraph-modal-delegate">
- <div data-tap-disabled="true">
- <canvas id="eventchart" width="auto" height="70%"></canvas>
- </div>
+ <div data-tap-disabled="true">
+ <canvas id="eventchart" width="auto" height="70%"></canvas>
+ </div>
</ion-content>
</ion-modal-view>
</div>
diff --git a/www/templates/events-popover.html b/www/templates/events-popover.html
index e48b290e..38dd1d2e 100644
--- a/www/templates/events-popover.html
+++ b/www/templates/events-popover.html
@@ -1,18 +1,15 @@
<ion-popover-view class="fit">
- <ion-content>
- <div class="list" ng-click="popover.hide()">
+ <ion-content>
+ <div class="list" ng-click="popover.hide()">
<a class="item" ng-href="" ng-click="popover.hide();$state.go('events-date-time-filter');">{{'kFilterByDateTime' | translate}}</a>
-
<!-- <a class="item" ng-href="" ng-click=" popover.hide();$state.go('events-graphs');" >
Event Graphs
</a>-->
<a class="item" ng-href="" ng-click="popover.hide();doRefresh();">
{{'kRefresh' | translate}}
</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>
- </div>
- </ion-content>
- </ion-popover-view>
-
+ <a class="item" ng-href="" ng-click="popover.hide();toggleMinAlarmFrameCount();" ng-if="!loginData.enableAlarmCount"> {{'kShowAlarmedEvents' | translate}}</a>
+ </div>
+ </ion-content>
+</ion-popover-view>
diff --git a/www/templates/events.html b/www/templates/events.html
index af2a7f89..48163d2e 100644
--- a/www/templates/events.html
+++ b/www/templates/events.html
@@ -1,82 +1,49 @@
-
<ion-view cache-view="false">
-
<ion-nav-title>{{scrollPosition();}}</ion-nav-title>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()">
</button>
-
<button class="button button-icon icon ion-ios-minus-outline" ng-click="eventList.showDelete = !eventList.showDelete;"></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">
<a style="" class="button button-icon icon ion-android-more-vertical" ng-click="popover.show($event)" ;>&nbsp;&nbsp;&nbsp;</a>
<a style="" class="button button-icon icon ion-search" ng-href="" ng-click="searchClicked();"> </a>
</ion-nav-buttons>
-
<div ng-if="showSearch">
<ion-header-bar class="bar bar-subheader item-input-inset">
-
<label class="item-input-wrapper">
<i class="icon ion-ios7-search placeholder-icon"></i>
<input type="search" placeholder="{{'kSearch'|translate}}" ng-model="search.text" autocorrect="off" autocomplete="off">
</label>
</ion-header-bar>
</div>
-
-
-
<!-- collection repeat forces js scrolling, thing to remember -->
-
- <ion-content scroll-sista ng-cloak on-tap="tapped();" delegate-handle="mainScroll" mouse-wheel-scroll>
+ <ion-content scroll-sista ng-cloak on-tap="tapped();" delegate-handle="mainScroll" mouse-wheel-scroll>
<!-- needed for header-shrink so first item doesn't go below header-->
- <!-- <div style="height: 64px;"></div>-->
+ <!-- <div style="height: 64px;"></div>-->
<!-- lets make sure the events list is not empty as collection repeat needs height -->
-
<div ng-if="!eventsBeingLoaded">
-
<ion-list show-delete="eventList.showDelete">
- <ion-item collection-repeat="event in events| filter:search.text" item-height="event.Event.height" id="item-{{$index}}" >
-
-
+ <ion-item collection-repeat="event in events| filter:search.text" item-height="event.Event.height" id="item-{{$index}}">
<span style="float:left;margin-top:-18px;background-color:#96281B;color:#fff;font-size:11px;opacity:0.7;border-radius: 0px 0px 5px 5px;">&nbsp;&nbsp;&nbsp;<i class="ion-calendar"></i>&nbsp;&nbsp;{{prettifyTime(event.Event.StartTime)}}&nbsp;{{tzAbbr}}&nbsp;</span>&nbsp;&nbsp;
-
-
<span style="float:left;margin-top:-18px;background-color:#fff;color:#888;font-size:11px;opacity:1;">&nbsp;&nbsp;<i class="ion-arrow-right-b"></i>&nbsp;{{event.Event.humanizeTime}} <span ng-if="!event.Event.EndTime">(<span translate="kRecordingProgress"></span>)</span>
</span>
-
-
-
-
<span style="float:right;margin-top:-18px;background-color:#444444;color:#fff;font-size:11px;opacity:0.7;border-radius: 0px 0px 5px 5px;">&nbsp;&nbsp;&nbsp;<i class="ion-clock"></i>&nbsp;&nbsp;{{prettifyDate(event.Event.StartTime)}}
&nbsp;{{tzAbbr}}&nbsp;</span>
-
-
-
-
-
<div class="row">
<div class="col col-left">
<!-- this ngswitch displays different icons
depending on the cause of the event -->
-
<div ng-switch on="event.Event.Cause">
<div ng-switch-when="Motion">
-
<i class="ion-android-walk" style="float:left; font-size:200%;"></i>
-
- <i ng-class="(event.Event.DefaultVideo !== undefined && event.Event.DefaultVideo!='')? 'ion-ios-videocam':'ion-images'" style="float:left; padding-left:5px; font-size:100%;"></i>
-
+ <i ng-class="(event.Event.DefaultVideo !== undefined && event.Event.DefaultVideo!='')? 'ion-ios-videocam':'ion-images'" style="float:left; padding-left:5px; font-size:100%;"></i>
<br/>
</div>
<div ng-switch-when="Signal">
<i class="ion-wifi" style="float:left; font-size:200%;"></i>
-
<i ng-class="(event.Event.DefaultVideo !== undefined && event.Event.DefaultVideo!='')? 'ion-ios-videocam':'ion-images'" style="float:left; padding-left:5px; font-size:100%;"></i>
-
<br/>
</div>
<div ng-switch-default>
@@ -87,7 +54,6 @@
</div>
<!-- ng switch -->
<!-- {{event.Event.Cause}} -->
-
<br/>
<span style="font-size:80%; color:rgb(110,110,110)">
{{event.Event.Length}}s
@@ -99,14 +65,12 @@
<i class="ion-ios-videocam-outline"></i>
<b>{{event.Event.MonitorName}}</b> ({{event.Event.Name}})
</div>
-
<i class="ion-images"></i> {{event.Event.Frames}} &nbsp;
<i class="ion-ios-bell-outline"></i> {{event.Event.AlarmFrames}} &nbsp;
<i class="ion-arrow-graph-up-right"></i> {{event.Event.TotScore}}
</div>
</div>
<!--row-->
-
<div class="row" style="font-size:80%; color:rgb(110,110,110)">
<div class="item-text-wrap"><i class="ion-calendar"></i>&nbsp; {{prettify(event.Event.StartTime)}}&nbsp;{{tzAbbr}}&nbsp;
<br/>
@@ -114,178 +78,113 @@
<!-- <br/> Default video:{{event.Event.relativePath}}{{event.Event.DefaultVideo}}-->
</div>
</div>
-
<span style="float:right">
<div ng-if="event.Event.EndTime || 1">
<button class="button button-small button-outline icon icon-left ion-stats-bars"
ng-click="closeIfOpen(event);analyzeEvent(event)" > <span translate="kAnalyze"></span>
- </button>
-
- <button class="button button-outline button-small icon icon-left ion-ios-eye"
- ng-click="toggleGroupScrub(event,$index,event.Event.Frames)" > <span translate="kScrub"></span>
- </button>
-
- <button ng-if="event.Event.AlarmFrames > 0" class="button button-outline button-small icon icon-left ion-ios-bell"
- ng-click="toggleGroupAlarms(event,$index,event.Event.Frames)" > <span translate="kAlarms"></span>
- </button>
-
-
- <button class="button button-outline button-small icon icon-left ion-ios-eye"
- ng-click="closeIfOpen(event);openModal(event)" > <span translate="kFootage"></span>
- </button>
- </div>
-
-
- </span>
-
-
- <!-- this is the event scrub/alarm frames area -->
- <div ng-if="isGroupShown(event)">
-
-
-
- <div ng-if="groupType=='alarms'">
- <br/><br/>
-
- <div style="height:190px;">
- <p>
- <!--scroll <i class="icon ion-arrow-left-c"></i>
+ </button>
+ <button class="button button-outline button-small icon icon-left ion-ios-eye" ng-click="toggleGroupScrub(event,$index,event.Event.Frames)"> <span translate="kScrub"></span>
+ </button>
+ <button ng-if="event.Event.AlarmFrames > 0" class="button button-outline button-small icon icon-left ion-ios-bell" ng-click="toggleGroupAlarms(event,$index,event.Event.Frames)"> <span translate="kAlarms"></span>
+ </button>
+ <button class="button button-outline button-small icon icon-left ion-ios-eye" ng-click="closeIfOpen(event);openModal(event)"> <span translate="kFootage"></span>
+ </button>
+ </div>
+ </span>
+ <!-- this is the event scrub/alarm frames area -->
+ <div ng-if="isGroupShown(event)">
+ <div ng-if="groupType=='alarms'">
+ <br/>
+ <br/>
+ <div style="height:190px;">
+ <p>
+ <!--scroll <i class="icon ion-arrow-left-c"></i>
<i class="icon ion-arrow-right-c"></i>-->
-
- <button ng-click="toggleTypeOfAlarms()" class="button button-small button-assertive button-outline">
- <span translate="kType"></span>:{{typeOfFrames}}
- </button>
- </p>
-
-
- <ion-scroll direction="x" overflow-scroll="false">
-
- <span ng-repeat="alarm in alarm_images | selectFrames: typeOfFrames">
+ <button ng-click="toggleTypeOfAlarms()" class="button button-small button-assertive button-outline">
+ <span translate="kType"></span>:{{typeOfFrames}}
+ </button>
+ </p>
+ <ion-scroll direction="x" overflow-scroll="false">
+ <span ng-repeat="alarm in alarm_images | selectFrames: typeOfFrames">
<figure class = "animated slideInLeft" style="display:inline-block">
<!--{{event.Event.baseURL}} 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-if="event.Event.imageMode=='path'" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&path={{event.Event.relativePath}}{{alarm.fname}}&height=380" 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)" />
-
- <img ng-if="event.Event.imageMode=='fid'" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&fid={{alarm.id}}" 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)" />
-
-
-
-
- </figure>
-
- </span>
-
- </ion-scroll>
- </div>
- </div>
- <div ng-if="groupType=='scrub'">
- <div ng-if="event.Event.DefaultVideo=='' || loginData.enableh264==false">
-
-
- <br/>
- <br/>
- <br/>
- <div style="width:90%">
- <input ng-model="ionRange.index" type="text" id="mySlider1" slider options="slider_options" />
- </div>
-
- <br/>
-
-
-
- <p>{{mycarousel.index+1}}/{{event.Event.Frames}} <span translate="kType"></span>: {{FrameArray[mycarousel.index].Type}}</p>
-
- <div style="height:190px">
-
-
- <ul rn-carousel rn-carousel-buffered rn-carousel-transition="none" rn-swipe-disabled="true" rn-carousel-index="mycarousel.index" rn-carousel-auto-slide="{{event.Event.Length/event.Event.Frames}}" rn-carousel-pause-on-hover rn-platform="{{$root.platformOS}}">
- <li ng-repeat="slide in slides">
-
-
- <img ng-if="event.Event.imageMode=='path'" imageonload="finishedLoadingImage($index)" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&path={{event.Event.relativePath}}{{slide.img}}&height=380" image-spinner-loader="lines" height="190px" ;/>
-
- <img ng-if="event.Event.imageMode=='fid'" imageonload="finishedLoadingImage($index)" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&fid={{slide.id}}" image-spinner-loader="lines" height="190px" ;/>
-
-
-
- <br/>
-
-
- </li>
- </ul>
- </div>
- </div>
- <!-- no DefaultVideo -->
-
-
- <div ng-if="event.Event.DefaultVideo!='' && loginData.enableh264 == true">
-
- <br/>
- <br/>
+ <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-if="event.Event.imageMode=='path'" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&path={{event.Event.relativePath}}{{alarm.fname}}&height=380" 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)" />
+ <img ng-if="event.Event.imageMode=='fid'" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&fid={{alarm.id}}" 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)" />
+ </figure>
+ </span>
+ </ion-scroll>
+ </div>
+ </div>
+ <div ng-if="groupType=='scrub'">
+ <div ng-if="event.Event.DefaultVideo=='' || loginData.enableh264==false">
+ <br/>
+ <br/>
+ <br/>
+ <div style="width:90%">
+ <input ng-model="ionRange.index" type="text" id="mySlider1" slider options="slider_options" />
+ </div>
+ <br/>
+ <p>{{mycarousel.index+1}}/{{event.Event.Frames}} <span translate="kType"></span>: {{FrameArray[mycarousel.index].Type}}</p>
+ <div style="height:190px">
+ <ul rn-carousel rn-carousel-buffered rn-carousel-transition="none" rn-swipe-disabled="true" rn-carousel-index="mycarousel.index" rn-carousel-auto-slide="{{event.Event.Length/event.Event.Frames}}" rn-carousel-pause-on-hover rn-platform="{{$root.platformOS}}">
+ <li ng-repeat="slide in slides">
+ <img ng-if="event.Event.imageMode=='path'" imageonload="finishedLoadingImage($index)" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&path={{event.Event.relativePath}}{{slide.img}}&height=380" image-spinner-loader="lines" height="190px" ;/>
+ <img ng-if="event.Event.imageMode=='fid'" imageonload="finishedLoadingImage($index)" image-spinner-src="{{event.Event.baseURL}}/index.php?view=image&fid={{slide.id}}" image-spinner-loader="lines" height="190px" ;/>
<br/>
-
-
- <div class="videogular-container">
- <videogular vg-theme="event.Event.video.config.theme"
- vg-plays-inline="'true'" vg-auto-play="'true'" vg-responsive="true">
- <vg-overlay-play></vg-overlay-play>
- <vg-controls>
- <vg-play-pause-button></vg-play-pause-button>
- <vg-scrub-bar>
- <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
- </vg-scrub-bar>
- <vg-time-display>{{ timeLeft | date:'mm:ss':'+0000' }}</vg-time-display>
- <vg-fullscreen-button></vg-fullscreen-button>
- <vg-volume>
- <vg-mute-button></vg-mute-button>
- </vg-volume>
- </vg-controls>
-
- <vg-media vg-src="event.Event.video.config.sources" vg-native-controls="false">
- </vg-media>
-
-
- </videogular>
- </div>
-
- </div>
- <!-- DefaultVideo -->
- </div> <!-- type = scrub -->
+ </li>
+ </ul>
+ </div>
+ </div>
+ <!-- no DefaultVideo -->
+ <div ng-if="event.Event.DefaultVideo!='' && loginData.enableh264 == true">
+ <br/>
+ <br/>
+ <br/>
+ <div class="videogular-container">
+ <videogular vg-theme="event.Event.video.config.theme" vg-plays-inline="'true'" vg-auto-play="'true'" vg-responsive="true">
+ <vg-overlay-play></vg-overlay-play>
+ <vg-controls>
+ <vg-play-pause-button></vg-play-pause-button>
+ <vg-scrub-bar>
+ <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
+ </vg-scrub-bar>
+ <vg-time-display>{{ timeLeft | date:'mm:ss':'+0000' }}</vg-time-display>
+ <vg-fullscreen-button></vg-fullscreen-button>
+ <vg-volume>
+ <vg-mute-button></vg-mute-button>
+ </vg-volume>
+ </vg-controls>
+ <vg-media vg-src="event.Event.video.config.sources" vg-native-controls="false">
+ </vg-media>
+ </videogular>
</div>
- <!-- isGroupShown -->
-
- <ion-delete-button class="ion-minus-circled" ng-click="deleteEvent(event.Event.Id, $index)">
- </ion-delete-button>
-
-
-
- </ion-item>
- </ion-list>
+ </div>
+ <!-- DefaultVideo -->
+ </div>
+ <!-- type = scrub -->
+ </div>
+ <!-- isGroupShown -->
+ <ion-delete-button class="ion-minus-circled" ng-click="deleteEvent(event.Event.Id, $index)">
+ </ion-delete-button>
+ </ion-item>
+ </ion-list>
</div>
-
<ion-item ng-show="!events.length">
<span translate="kNoEvents"></span>
</ion-item>
-
<div ng-if="!eventsBeingLoaded">
<ion-infinite-scroll ng-if="moreDataCanBeLoaded()" icon="ion-loading-c" on-infinite="loadMore()" distance="2%">
</ion-infinite-scroll>
</div>
</ion-content>
-
-
-
<div class="events-float-filter" ng-if="isEventFilterOn" on-tap="filterTapped();"><span translate="kFilterOn"></span></div>
-
- <div class="bwmode" ng-if="$root.runMode=='lowbw'">
- <span translate="kLowBWDisplay"></span>
- </div>
-
-
+ <div class="bwmode" ng-if="$root.runMode=='lowbw'">
+ <span translate="kLowBWDisplay"></span>
+ </div>
<ion-pull-up-footer class="zmPullup" on-expand="footerExpand()" 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>
@@ -293,74 +192,56 @@
<h1 class="title" ion-pull-up-trigger><span translate="kLatestEvents"></span></h1>
</ion-pull-up-bar>
<ion-pull-up-content scroll="true">
-
<div class="list list-inset">
<div class="item item-divider"><span translate="k1HourSummary"></span></div>
<div ng-repeat="hour in hours|filter:{ monitor: '!'+'(Unknown)'}" id="hour-{{$index}}">
-
<span style="color:black">
<a class="item item-icon-right" href=""
ng-click="showEvents('1', 'hour',hour.mid);">
<b>{{hour.monitor}}</b> {{hour.events}} <span translate="kEvents"></span>
- <i class="icon ion-android-arrow-dropright"></i>
+ <i class="icon ion-android-arrow-dropright"></i>
</a>
</span>
-
</div>
</div>
-
<div class="list list-inset">
<div class="item item-divider"><span translate="k1DaySummary"></span></div>
<div ng-repeat="day in days|filter:{ monitor: '!'+'(Unknown)'}" id="day-{{$index}}">
-
<span style="color:black">
<a class="item item-icon-right" href=""
ng-click="showEvents('1', 'day',day.mid);">
<b>{{day.monitor}}</b> {{day.events}} <span translate="kEvents"></span>
- <i class="icon ion-android-arrow-dropright"></i>
+ <i class="icon ion-android-arrow-dropright"></i>
</a>
</span>
-
</div>
</div>
-
-
<div class="list list-inset">
<div class="item item-divider"><span translate="k1WeekSummary"></span></div>
<div ng-repeat="week in weeks|filter:{ monitor: '!'+'(Unknown)'}" id="week-{{$index}}">
-
<span style="color:black">
<a class="item item-icon-right" href=""
ng-click="showEvents('1', 'week',week.mid);">
<b>{{week.monitor}}</b> {{week.events}} <span translate="kEvents"></span>
- <i class="icon ion-android-arrow-dropright"></i>
+ <i class="icon ion-android-arrow-dropright"></i>
</a>
</span>
-
</div>
</div>
-
<div class="list list-inset">
<div class="item item-divider"><span translate="k1MonthSummary"></span></div>
<div ng-repeat="month in months|filter:{ monitor: '!'+'(Unknown)'}" id="month-{{$index}}">
-
<span style="color:black">
<a class="item item-icon-right" href=""
ng-click="showEvents('1', 'months',month.mid);">
<b>{{month.monitor}}</b> {{month.events}} <span translate="kEvents"></span>
- <i class="icon ion-android-arrow-dropright"></i>
+ <i class="icon ion-android-arrow-dropright"></i>
</a>
</span>
-
</div>
</div>
-
<br/>
<br/>
-
-
</ion-pull-up-content>
</ion-pull-up-footer>
-
-
</ion-view>
diff --git a/www/templates/eventserversettings.html b/www/templates/eventserversettings.html
index 7612a584..393eb61b 100644
--- a/www/templates/eventserversettings.html
+++ b/www/templates/eventserversettings.html
@@ -1,62 +1,41 @@
<ion-view cache-view="false">
-
<ion-nav-title>{{'kEventServer' | translate}}/{{getTitle();}} </ion-nav-title>
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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-clear" ng-click="saveItems()">{{'kSave'|translate}}</button>
</ion-nav-buttons>
-
- <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll >
-
- <div class="list list-inset">
- {{'kEventServerConfig1' | translate }}
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <div class="list list-inset">
+ {{'kEventServerConfig1' | translate }}
</div>
<ion-checkbox ng-model="loginData.isUseEventServer" ng-checked="loginData.isUseEventServer">{{'kUseEventServer' | translate}}</ion-checkbox>
-
-
- <ion-item ng-href="" ng-click="selectScreen()">
+ <ion-item ng-href="" ng-click="selectScreen()">
{{'kOnTapNavigate' | translate}}: {{defScreen}}
</ion-item>
-
<label class="item item-input item-floating-label" ng-if="loginData.isUseEventServer">
<span class="input-label">{{'kEventServer' | translate}}</span>
<input autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="Event notification url" ng-model="loginData.eventServer">
-
</label>
-
- <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.disablePush" ng-checked="loginData.disablePush" toggle-class="toggle-calm" class="item-text-wrap">{{'kOnlyUseWebSocket'| translate }}<br/><p>{{'kDisablePush' | translate }}</p></ion-toggle>
-
-
- <!-- vibrate app setting is not av. on iOS-->
- <ion-toggle ng-if="loginData.isUseEventServer && $root.platformOS !='ios'" ng-model="loginData.vibrateOnPush" ng-checked="loginData.vibrateOnPush" toggle-class="toggle-calm" >{{'kVibrateOnPush'| translate }}</ion-toggle>
-
-
- <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.soundOnPush" ng-checked="loginData.soundOnPush" toggle-class="toggle-calm" class="item-text-wrap" >{{'kSoundOnPush'| translate }}</ion-toggle>
-
+ <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.disablePush" ng-checked="loginData.disablePush" toggle-class="toggle-calm" class="item-text-wrap">{{'kOnlyUseWebSocket'| translate }}
+ <br/>
+ <p>{{'kDisablePush' | translate }}</p>
+ </ion-toggle>
+ <!-- vibrate app setting is not av. on iOS-->
+ <ion-toggle ng-if="loginData.isUseEventServer && $root.platformOS !='ios'" ng-model="loginData.vibrateOnPush" ng-checked="loginData.vibrateOnPush" toggle-class="toggle-calm">{{'kVibrateOnPush'| translate }}</ion-toggle>
+ <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.soundOnPush" ng-checked="loginData.soundOnPush" toggle-class="toggle-calm" class="item-text-wrap">{{'kSoundOnPush'| translate }}</ion-toggle>
<!--
<ion-toggle ng-model="loginData.defaultPushSound" toggle-class="toggle-calm" class="item-text-wrap" ng-checked="{{loginData.defaultPushSound}}">use system sound<p>please save and restart app</p></ion-toggle>
-->
<ion-list>
<div ng-repeat="monitor in monitors">
-
- <ion-item class="custom-list"
- ng-click="toggleGroup(monitor)"
- ng-class="{active: isGroupShown(monitor)}">
- <i class="icon" ng-class="isGroupShown(monitor) ? 'ion-minus' : 'ion-plus'"></i>
- &nbsp;
-
- {{monitor.Monitor.Name}}
- </ion-item>
-
- <ion-item class="item-accordion"
- ng-show="isGroupShown(monitor)">
- <span class="item-checkbox">
+ <ion-item class="custom-list" ng-click="toggleGroup(monitor)" ng-class="{active: isGroupShown(monitor)}">
+ <i class="icon" ng-class="isGroupShown(monitor) ? 'ion-minus' : 'ion-plus'"></i> &nbsp; {{monitor.Monitor.Name}}
+ </ion-item>
+ <ion-item class="item-accordion" ng-show="isGroupShown(monitor)">
+ <span class="item-checkbox">
{{'kReportEvents' | translate }}
<label class="checkbox">
@@ -64,30 +43,15 @@
</label>
</span>
</ion-item>
-
- <ion-item class="item-accordion"
- ng-show="isGroupShown(monitor)">
- <div class="item-input-inset" >
- <label class="item-input-wrapper" >
- <input type="tel" placeholder="sec." ng-model="monitor.Monitor.reportingInterval">
- </label>
- &nbsp;{{'kMinimumIntervals' | translate}}
-
-
- </div>
+ <ion-item class="item-accordion" ng-show="isGroupShown(monitor)">
+ <div class="item-input-inset">
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="sec." ng-model="monitor.Monitor.reportingInterval">
+ </label>
+ &nbsp;{{'kMinimumIntervals' | translate}}
+ </div>
</ion-item>
-
-
</div>
-
</ion-list>
-
-
-
-
-
</ion-content>
</ion-view>
-
-
-
diff --git a/www/templates/first-use.html b/www/templates/first-use.html
index 5599f982..884fb0c9 100644
--- a/www/templates/first-use.html
+++ b/www/templates/first-use.html
@@ -7,8 +7,6 @@
<div id="responsive-image">
<img src="img/authlogo.png">
</div>
-
-
<br/>
<span style="color:white">
<h2 style="color:white" >Hi There!</h2>
@@ -21,15 +19,11 @@
</span>
<br/>
<div id="firstuse">
-
-
- <button class="button icon icon-left ion-wand button-stable animated bounceInUp" ng-click="goToWizard()">
+ <button class="button icon icon-left ion-wand button-stable animated bounceInUp" ng-click="goToWizard()">
{{'kWizard' | translate}}
</button>
-
- <button class="button icon icon-left ion-university button-stable animated bounceInUp" ng-click="goToLogin()">
+ <button class="button icon icon-left ion-university button-stable animated bounceInUp" ng-click="goToLogin()">
{{'kExpert' | translate }}
-
</button>
<br/>
<center>
@@ -37,12 +31,8 @@
{{'kLanguage' | translate}}
</button>
</center>
-
</div>
</center>
-
-
</div>
-
</ion-content>
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/help.html b/www/templates/help.html
index fffdf2d1..d14085be 100644
--- a/www/templates/help.html
+++ b/www/templates/help.html
@@ -1,21 +1,12 @@
<ion-view cache-view="false" view-title="Help">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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 class="padding" scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
-
+ <ion-content class="padding" scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
<p><small>{{$root.appName}} v{{zmAppVersion}}</small></p>
<div class="list">
-
- <div id="insertHelp"></div>
+ <div id="insertHelp"></div>
</div>
-
</ion-content>
-
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/important_message.html b/www/templates/important_message.html
index bd3274f5..f0fd245e 100644
--- a/www/templates/important_message.html
+++ b/www/templates/important_message.html
@@ -1,7 +1,6 @@
<ion-view view-title="{{$root.appName}}" hide-nav-bar="false" hide-back-button="false" cache-view="false">
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
-
</ion-nav-buttons>
<ion-content class="pin-background">
<div style="margin-left:20px; margin-right:20px">
@@ -11,8 +10,6 @@
<div id="responsive-image">
<img src="img/authlogo.png">
</div>
-
-
<br/>
<span style="color:white">
<h2 style="color:white" class="animated bounce">{{'kImpMsg1' | translate}}</h2>
@@ -32,10 +29,6 @@
</span>
</center>
<br/>
-
-
-
</div>
-
</ion-content>
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/log.html b/www/templates/log.html
index e53f00aa..5efed72f 100644
--- a/www/templates/log.html
+++ b/www/templates/log.html
@@ -1,29 +1,20 @@
<ion-view view-title="{{'kLogs' | translate}}">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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">
<a class="button button-icon icon ion-trash-a" ng-href="" ng-click="deleteLogs()"></a>
-
<div ng-if="$root.platformOS!='desktop'">
- <a style="" class="button button-icon icon ion-email"
- ng-href="" ng-click="sendEmail(log.logString)" > </a>
+ <a style="" class="button button-icon icon ion-email" ng-href="" ng-click="sendEmail(log.logString)"> </a>
</div>
<div ng-if="$root.platformOS=='desktop'">
- <a style="" class="button button-icon icon ion-android-download"
- ng-href="" ng-click="sendEmail(log.logString)" > </a>
+ <a style="" class="button button-icon icon ion-android-download" ng-href="" ng-click="sendEmail(log.logString)"> </a>
</div>
</ion-nav-buttons>
-
- <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
- <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}}</b><br/>
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}}</b>
+ <br/>
<!-- don't indent here -- its a pre-->
<pre>{{log.logString}}</pre>
</ion-content>
diff --git a/www/templates/login.html b/www/templates/login.html
index f05781f9..05ada193 100644
--- a/www/templates/login.html
+++ b/www/templates/login.html
@@ -1,29 +1,19 @@
<ion-view view-title="{{'kSettings' | translate}}" cache-view="false">
-
<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-down-b" ng-click="serverActionSheet()"></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-clear" ng-click="saveItems()">Save</button>
</ion-nav-buttons>
-
- <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll >
-
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
<div class="item item-text-wrap item-input-inset">
{{'kServerName' | translate }}:&nbsp;
<label class="item-input-wrapper">
<input autocorrect="off" type="text" placeholder="{{'kExampleServer' | translate}}" ng-model="loginData.serverName">
-
</label>
-
</div>
-
<label>
<ion-toggle ng-mode nl="loginData.enableLowBandwidth" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kLowBandwidth'|translate}}</span>
</ion-toggle>
@@ -32,9 +22,6 @@
<ion-toggle ng-model="loginData.autoSwitchBandwidth" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kAutoSwitchBW'|translate}}</span>
</ion-toggle>
</label>
-
-
-
<div class="list list-inset">
<span style="color:rgb(100,100,100)">
<i class="ion-android-home" style="font-size:150%"></i>
@@ -43,81 +30,56 @@
<p ng-if="$root.platformOS=='android'" style="font-size:0.8em; color:gray">{{'kDisableSamsung' | translate}}</p>
<div class="item item-text-wrap">
<ion-checkbox ng-model="check.isUseAuth">{{'kUseZmAuth' | translate }}</ion-checkbox>
-
<div ng-if="check.isUseAuth">
-
<label class="item item-input item-floating-label">
<span class="input-label">{{'kUserName'|translate}}</span>
<input autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="username" ng-model="loginData.username">
</label>
-
<label class="item item-input item-floating-label">
<span class="input-label">{{'kPassword' | translate}}</span>
<input type="password" placeholder="password" ng-model="loginData.password">
</label>
</div>
-
</div>
<label class="item item-input item-floating-label">
<span class="input-label">{{'kPortalUrl' | translate}}</span>
<input autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="ZM portal url " ng-model="loginData.url" ng-keyup="portalKeypress($event)">
</label>
-
<!--<button class="button button-small button-clear icon-left ion-wand" ng-click="detectCgi()">tap here to discover cgi-bin
</button>-->
-
<label class="item item-input item-floating-label">
-
-
<!--<span style="float:right;margin-top:-7px;background-color:#6d0909;color:#fff;font-size:14px;opacity:0.7;width:90px;border-radius: 0px 0px 5px 5px;" on-tap="detectCgi();">&nbsp;&nbsp;&nbsp;<i class="ion-wand"></i>discover</span>-->
-
-
<span class="input-label">{{'kPathToCgi' | translate}}</span>
-
<input autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="eg. server.com/zm/cgi-bin" ng-model="loginData.streamingurl">
-
</label>
-
-
-
<label class="item item-input item-floating-label">
<span class="input-label">{{'kApiUrl' | translate}}</span>
<input autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="ZM api url" ng-model="loginData.apiurl">
</label>
-
<a class="item item-icon-right" href="" ng-click="selectFallback()">
<i class="icon ion-ios-arrow-right">
</i> {{'kFallback' | translate}}
<p>{{loginData.fallbackConfiguration}}</p>
</a>
-
<a class="item item-icon-right" href="" ng-click="eventServerSettings()">
<i class="icon ion-ios-arrow-right">
</i> {{'kEventServer' | translate}}
</a>
-
-
<div ng-if="$root.platformOS != 'desktop'">
<label>
-
<ion-toggle ng-model="loginData.usePin" ng-change="pinPrompt();" ng-checked="{{loginData.usePin}}" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kPassword' | translate}} {{'kProtect'|translate}}</span></ion-toggle>
</label>
</div>
-
<label>
<ion-toggle ng-model="loginData.useSSL" ng-checked="{{loginData.useSSL}}" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kUseSSL' | translate}}</span></ion-toggle>
</label>
-
<div ng-if="$root.platformOS != 'desktop'">
<label>
-
<ion-toggle ng-model="loginData.keepAwake" ng-checked="{{loginData.keepAwake}}" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kAwake1'|translate}}
<p>{{'kAwake2'| translate}}</p></span>
</ion-toggle>
</label>
</div>
</div>
-
-
</ion-content>
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/lowversion.html b/www/templates/lowversion.html
index d9a50986..d6b9cb7e 100644
--- a/www/templates/lowversion.html
+++ b/www/templates/lowversion.html
@@ -1,5 +1,4 @@
<ion-view view-title="{{$root.appName}}" hide-nav-bar="true" hide-back-button="true" cache-view="false">
-
<ion-content class="pin-background">
<div style="margin-left:20px; margin-right:20px">
<center>
@@ -8,8 +7,6 @@
<div id="responsive-image">
<img src="img/authlogo.png">
</div>
-
-
<br/>
<span style="color:white">
<h2 style="color:white" class="animated bounce">{{'kZMUpgradeNeeded' | translate}}</h2>
@@ -22,10 +19,7 @@
</span>
<br/>
-
-
</center>
</div>
-
</ion-content>
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html
index 1cfbfac9..931d9c33 100644
--- a/www/templates/monitors-modal.html
+++ b/www/templates/monitors-modal.html
@@ -1,77 +1,46 @@
<div ng-controller="MonitorModalCtrl" ng-cloak>
-
- <ion-modal-view cache-view="false" style="background-color:#444444" >
- <ion-content on-double-tap="closeModal();" >
-
- <ion-scroll delegate-handle="imgscroll" has-bouncing=false min-zoom=1 zooming="true" direction="xy" style="width: 100%;" overflow-scroll="false" >
+ <ion-modal-view cache-view="false" style="background-color:#444444">
+ <ion-content on-double-tap="closeModal();">
+ <ion-scroll delegate-handle="imgscroll" has-bouncing=false min-zoom=1 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 && !isBackground() && connKey">
<!--<span style="color:white">{{currentStreamMode}}</span>-->
-
- <img id="singlemonitor" style="width:100vw; height:100vh;" image-spinner-loader="lines" image-spinner-src="{{monitor.Monitor.streamingURL}}/nph-zms?mode={{currentStreamMode}}&monitor={{monitorId}}&scale={{quality}}{{$root.authSession}}&rand={{$root.modalRand}}&connkey={{connKey}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-swipe-left="onSwipe(monitorId,1)" on-swipe-right="onSwipe(monitorId,-1)" on-double-tap="closeModal();" />
-
-
-
-
-
+ <img id="singlemonitor" style="width:100vw; height:100vh;" image-spinner-loader="lines" image-spinner-src="{{monitor.Monitor.streamingURL}}/nph-zms?mode={{currentStreamMode}}&monitor={{monitorId}}&scale={{quality}}{{$root.authSession}}&rand={{$root.modalRand}}&connkey={{connKey}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-swipe-left="onSwipe(monitorId,1)" on-swipe-right="onSwipe(monitorId,-1)" on-double-tap="closeModal();" />
</div>
<div ng-if="animationInProgress || isBackground()">
<img style="width:100vw; height:100vh" ng-src="img/pausevideo.png" class="object-fit_contain" />
</div>
-
</div>
<div ng-if="$root.authSession=='undefined'">
<img id="singlemonitor" ng-src="img/pausevideo.png" style="width:100vw; height:100vh; display:block;" class="object-fit_contain" width="{{((devWidth)/(7-monitorSize[$index]))}}px;" />
</div>
</div>
</ion-scroll>
-
</ion-content>
-
-
<div ng-show="isControllable=='1' && showPTZ">
-
-
-
<div class="ptzcentered">
<circular options="ptzRadialMenuOptions">
</circular>
</div>
-
<div ng-if="presetOn" class="ptzpresetbuttons animated fadeInDown" id="presetlist">
<div ng-repeat="preset in ptzPresets track by $index">
<button class="button {{preset.icon}} button-small {{preset.style}}" style="float:left;margin-right:10px;margin-bottom:10px;" ng-click="controlPTZ(monitorId, preset.cmd);">{{preset.name}}</button>
</div>
</div>
-
-
<div class="ptzcenteredbotbutton">
<div ng-if="canZoom">
<a class="button button-small icon ion-search button-positive" href="" ng-click="controlPTZ(monitorId, zoomInCommand);">+</a>
<a class="button button-small icon ion-search button-positive" href="" ng-click="controlPTZ(monitorId, zoomOutCommand);">-</a>
<a class="button button-small icon ion-search button-positive" href="" ng-click="controlPTZ(monitorId, zoomStopCommand);">x</a>
-
</div>
<br/>
<a class="button button-small icon ion-stop button-assertive" href="" ng-click="controlPTZ(monitorId, ptzStopCommand);"></a>
-
-
<a class="button button-small button-royal" href="" ng-click="togglePresets();">{{controlToggle}}</a>
</div>
-
</div>
-
-
-
-
</ion-modal-view>
<nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse' | translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">
<button mfb-button icon="ion-arrow-resize" label="{{imageFit? ('kFitScreen' | translate):('kFillScreen' | translate)}}" ng-click="scaleImage();">
@@ -80,9 +49,7 @@
</button>
<button mfb-button icon="ion-arrow-expand" label="{{'kControl'| translate}}" ng-click="togglePTZ();">
</button>
-
</nav>
-
<nav mfb-menu position="tr" effect="zoomin" label="{{'kCollapse' | translate}}" active-icon="ion-chevron-up" resting-icon="ion-chevron-down" toggling-method="click">
<button mfb-button icon="ion-android-arrow-back" label="{{'kPrevMonitor' | translate}} " ng-click="onTap(monitorId,-1);">
</button>
@@ -90,58 +57,35 @@
</button>
<button mfb-button icon="ion-close" label="{{'kExitLiveView' | translate}}" ng-click="closeModal();">
</button>
-
</nav>
-
-
-
-
- <div id="flyoutmenu" style="position:absolute;bottom:80px;left:10px">
- <ul>
-
- <li>
- <a href="" ng-click="saveImageToPhoneWithPerms(monitorId)"> <i class="icon ion-ios-camera"></i></a>
- </li>
-
- <li ng-if="$root.platformOS == 'desktop'">
- <a href="" ng-click="zoomImage(1)"><i class="ion-plus-round"></i></a>
- </li>
- <li ng-if="$root.platformOS == 'desktop'">
- <a href="" ng-click="zoomImage(-1)"><i class="ion-minus-round"></i></a>
- </li>
-
- <li>
- <a href="" ng-click="enableAlarm(monitorId,true)"> <i class="icon ion-flash"></i></a>
- </li>
- <li>
- <a href="" ng-click="enableAlarm(monitorId,false)"> <i class="icon ion-flash-off"></i></a>
-
-
- </li>
- <li>
- <a href="" ng-click="toggleCycle()"> <i class="icon ion-android-bicycle"></i>-{{cycleText}}</a>
-
-
- </li>
-
-
- <!--<li>
+ <div id="flyoutmenu" style="position:absolute;bottom:80px;left:10px">
+ <ul>
+ <li>
+ <a href="" ng-click="saveImageToPhoneWithPerms(monitorId)"> <i class="icon ion-ios-camera"></i></a>
+ </li>
+ <li ng-if="$root.platformOS == 'desktop'">
+ <a href="" ng-click="zoomImage(1)"><i class="ion-plus-round"></i></a>
+ </li>
+ <li ng-if="$root.platformOS == 'desktop'">
+ <a href="" ng-click="zoomImage(-1)"><i class="ion-minus-round"></i></a>
+ </li>
+ <li>
+ <a href="" ng-click="enableAlarm(monitorId,true)"> <i class="icon ion-flash"></i></a>
+ </li>
+ <li>
+ <a href="" ng-click="enableAlarm(monitorId,false)"> <i class="icon ion-flash-off"></i></a>
+ </li>
+ <li>
+ <a href="" ng-click="toggleCycle()"> <i class="icon ion-android-bicycle"></i>-{{cycleText}}</a>
+ </li>
+ <!--<li>
<a href="" ng-click="cast(monitorId, monitor)"> <i class="icon ion-android-funnel"></i></a>
</li>-->
-
-
-
-
-
- <li ng-if="$root.isAlarm">
- <a data-badge="{{$root.alarmCount}}" class="notification-badge animated infinite tada" href="" ng-click="handleAlarms()"><i class="ion-ios-bell"></i></a>
- </li>
-
-
- </ul>
-</div>
-
+ <li ng-if="$root.isAlarm">
+ <a data-badge="{{$root.alarmCount}}" class="notification-badge animated infinite tada" href="" ng-click="handleAlarms()"><i class="ion-ios-bell"></i></a>
+ </li>
+ </ul>
+ </div>
<div class="monitor-modal-text">{{monitorName}} &nbsp;<span style="{{stateColor()}}">{{monStatus}}&nbsp;</span></div>
-
</div>
diff --git a/www/templates/monitors.html b/www/templates/monitors.html
index d38e8f65..cd9e8e8e 100644
--- a/www/templates/monitors.html
+++ b/www/templates/monitors.html
@@ -1,82 +1,62 @@
<ion-view view-title="{{'kMonitors' | translate}}" cache-view="false">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()">
</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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll >
- <ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()">
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()">
</ion-refresher>
- <div style="float:right;margin-top:3px;margin-right:8px;">
- <a class="button button-small icon icon-left icon ion-ios-world-outline"
- href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a>
- </div><br/>
- <div class="list card" ng-repeat="monitor in monitors">
- <div class="item" ng-style="{'background-color': monitor.Monitor.Enabled=='1'?'white':'white'}">
- <div ng-if="monitor.Monitor.Enabled == '1'">
- <div class='item'>
-
- <span class="item-icon-left">
+ <div style="float:right;margin-top:3px;margin-right:8px;">
+ <a class="button button-small icon icon-left icon ion-ios-world-outline" href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a>
+ </div>
+ <br/>
+ <div class="list card" ng-repeat="monitor in monitors">
+ <div class="item" ng-style="{'background-color': monitor.Monitor.Enabled=='1'?'white':'white'}">
+ <div ng-if="monitor.Monitor.Enabled == '1'">
+ <div class='item'>
+ <span class="item-icon-left">
<div class="icon">
- <span class="ion-ios-videocam-outline"></span>
- &nbsp;
-
- <span ng-class="{'ion-eye':monitor.Monitor.listDisplay=='show','ion-eye-disabled':monitor.Monitor.listDisplay!='show'}"> </span>
- </div>
-
- &nbsp;
- <b>{{monitor.Monitor.Name}}</b>
- </span>
-
-
- <span class="item-icon-right">
+ <span class="ion-ios-videocam-outline"></span> &nbsp;
+ <span ng-class="{'ion-eye':monitor.Monitor.listDisplay=='show','ion-eye-disabled':monitor.Monitor.listDisplay!='show'}"> </span>
+ </div>
+ &nbsp;
+ <b>{{monitor.Monitor.Name}}</b>
+ </span>
+ <span class="item-icon-right">
<i class="icon {{monitor.Monitor.char}}" style="color:{{monitor.Monitor.color}};"></i>
</span>
-
- <!-- <i ng-class="{'icon ion-eye':monitor.Monitor.listDisplay=='show','icon ion-eye-disabled':monitor.Monitor.listDisplay!='show'}"> </i>-->
-
-
- </div>
- </div>
-
- <div ng-if="monitor.Monitor.Enabled != '1'">
- <span class='item item-icon-left item-icon-right'>
+ <!-- <i ng-class="{'icon ion-eye':monitor.Monitor.listDisplay=='show','icon ion-eye-disabled':monitor.Monitor.listDisplay!='show'}"> </i>-->
+ </div>
+ </div>
+ <div ng-if="monitor.Monitor.Enabled != '1'">
+ <span class='item item-icon-left item-icon-right'>
<i class="icon ion-ios-videocam-outline"></i>
<b>{{monitor.Monitor.Name}}</b>
<i class="icon {{monitor.Monitor.char}}" style="color:grey;"></i>
</span>
- </div>
-
-
- <p>{{'kMode' | translate}} :{{monitor.Monitor.Function}}<br/>
- {{'kResolution' | translate}}: {{monitor.Monitor.Width}}*{{monitor.Monitor.Height}}<br/>
- {{'kMaxFPS' | translate}}: {{monitor.Monitor.MaxFPS}}
- <br/> {{'kAlarmMaxFPS' | translate}}:{{monitor.Monitor.AlarmMaxFPS}}
- <br/> {{'kAlarmFrameCount' |translate}}: {{monitor.Monitor.AlarmFrameCount}}
- <br/> {{'kStatus' | translate}}: {{monitor.Monitor.isRunningText}}
- <br/> {{'kId' | translate}}: {{monitor.Monitor.Id}}
- <br/> {{'kEventRecording' | translate}}: {{(monitor.Monitor.VideoWriter>0?'kVideo':'kImages') | translate}}
- <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' | translate}}</a>
- <a class="button button-small icon icon-left ion-calendar" href="#/events/{{monitor.Monitor.Id}}/false">{{'kEventsCap'|translate}}</a>
- <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}}</a>
- </div>
- </div>
</div>
-
+ <p>{{'kMode' | translate}} :{{monitor.Monitor.Function}}
+ <br/> {{'kResolution' | translate}}: {{monitor.Monitor.Width}}*{{monitor.Monitor.Height}}
+ <br/> {{'kMaxFPS' | translate}}: {{monitor.Monitor.MaxFPS}}
+ <br/> {{'kAlarmMaxFPS' | translate}}:{{monitor.Monitor.AlarmMaxFPS}}
+ <br/> {{'kAlarmFrameCount' |translate}}: {{monitor.Monitor.AlarmFrameCount}}
+ <br/> {{'kStatus' | translate}}: {{monitor.Monitor.isRunningText}}
+ <br/> {{'kId' | translate}}: {{monitor.Monitor.Id}}
+ <br/> {{'kEventRecording' | translate}}: {{(monitor.Monitor.VideoWriter>0?'kVideo':'kImages') | translate}}
+ <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' | translate}}</a>
+ <a class="button button-small icon icon-left ion-calendar" href="#/events/{{monitor.Monitor.Id}}/false">{{'kEventsCap'|translate}}</a>
+ <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}}</a>
+ </div>
+ </div>
+ </div>
<ion-item ng-show="!monitors.length">
- {{'kNoMonitors' | translate}}
+ {{'kNoMonitors' | translate}}
</ion-item>
</ion-content>
</ion-view>
diff --git a/www/templates/montage-history.html b/www/templates/montage-history.html
index 94659e93..da7b5974 100644
--- a/www/templates/montage-history.html
+++ b/www/templates/montage-history.html
@@ -1,24 +1,23 @@
<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="$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">
+ <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="$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' ">
<!-- make sure we don't use id here
@@ -53,94 +52,88 @@
<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;
+ <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()">
+ </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">
+ </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="hours" ng-model="datetimeValueFrom.hrs">
- </label>
- </div>
- <div class="col col-50">
+ </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="hours" 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>
+ </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>
+ </ion-pull-up-content>
+ </ion-pull-up-footer>
+</ion-view>
diff --git a/www/templates/montage.html b/www/templates/montage.html
index 9d075faf..ceab34ae 100644
--- a/www/templates/montage.html
+++ b/www/templates/montage.html
@@ -1,69 +1,42 @@
<ion-view view-title="{{'kMontage' | 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-eye" ng-click="hideUnhide();">&nbsp;
+ <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();">&nbsp;
</button>
-
-
<button class="button button-icon button-clear ion-arrow-resize" ng-click="toggleSizeButtons();">&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">
<span ng-click="toggleTimeType()" class="icon montage-time">
<i ng-class="(iconTimeNow=='server')?'icon-server':'ion-ios-location'"></i>
{{timeNow}}&nbsp;</span>
-
<button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();">&nbsp;
</button>
-
<!--
<button class="button button-icon button-clear ion-monitor" ng-click="cast();">&nbsp;
</button>
-->
-
<button class="button button-icon button-clear ion-loop" ng-click="resetSizes();">&nbsp;
</button>
-
<button class="button button-icon button-clear ion-android-contract" ng-click="switchMinimal()">
</button>
-
-
-
</ion-nav-buttons>
-
- <ion-content scroll-sista ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false" >
-
-
-
- <span ng-if="!minimal && showSizeButtons">
+ <ion-content scroll-sista ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false">
+ <span ng-if="!minimal && showSizeButtons">
<!-- this is header -->
<span ng-click="sliderChanged(1)" style="float:right;margin-top:0px;padding-top:8px;background-color:#5c6767;color:#fff;font-size:25px;opacity:1;width:40px;height:36px;border-radius: 0px 0px 0px 5px;">&nbsp;<i class="ion-plus-circled">&nbsp;</i></span>
-
- <span ng-click="sliderChanged(-1)" style="float:left;margin-top:0px;padding-top:8px;background-color:#5c6767;color:#fff;font-size:22px;opacity:1;width:40px;height:36px;border-radius: 0px 0px 5px 0px;">&nbsp;<i class="ion-minus-circled">&nbsp;</i></span>
- <br/><br/>
+ <span ng-click="sliderChanged(-1)" style="float:left;margin-top:0px;padding-top:8px;background-color:#5c6767;color:#fff;font-size:22px;opacity:1;width:40px;height:36px;border-radius: 0px 0px 5px 0px;">&nbsp;<i class="ion-minus-circled">&nbsp;</i></span>
+ <br/>
+ <br/>
</span>
-
-
-
-
<!-- now lets draw the montage windows -->
<div class="grid" id="mygrid">
<div class="grid-sizer grid-item-10"></div>
-
-
-
- <!-- <span ng-repeat="monitor in MontageMonitors|limitTo: monLimit"
+ <!-- <span ng-repeat="monitor in MontageMonitors|limitTo: monLimit"
ng-if="monitor.Monitor.Function!='None' && monitor.Monitor.Enabled !='0' ">-->
-
- <span ng-repeat="monitor in MontageMonitors | onlyEnabled |limitTo: monLimit" >
+ <span ng-repeat="monitor in MontageMonitors | onlyEnabled |limitTo: monLimit">
@@ -117,30 +90,18 @@
</figure>
</div>
- </span> <!-- ngrepeat -->
+ </span>
+ <!-- ngrepeat -->
</div>
-
-
-
-
-
-
<ion-item style="background-color:#444444; color:#fff;border:none;" ng-show="!MontageMonitors.length">
{{'kNoMonitors' | translate}}
</ion-item>
-
-
-
</ion-content>
-
<div class="bwmode" ng-if="$root.runMode=='lowbw'">
- {{ 'kLowBWDisplay' | translate }}
- </div>
-
-
+ {{ 'kLowBWDisplay' | translate }}
+ </div>
<div ng-show="minimal">
<nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse' | translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">
-
<button mfb-button icon="ion-arrow-expand" label="{{'kIncreaseSize' | translate}}" ng-click="sliderChanged(1)">
</button>
<button mfb-button icon="ion-arrow-shrink" label="{{'kDecreaseSize' | translate}}" ng-click="sliderChanged(-1)">
@@ -150,14 +111,10 @@
<button mfb-button icon="ion-close" label="{{'kExitFullScreen'| translate}}" 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>
<br/>
-
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/news.html b/www/templates/news.html
index f4a87e4f..f715a65c 100644
--- a/www/templates/news.html
+++ b/www/templates/news.html
@@ -1,17 +1,11 @@
<ion-view view-title="{{'kNews' | translate}}">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll >
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
<div class="list">
-
- <span ng-repeat = "post in newsItems">
+ <span ng-repeat="post in newsItems">
<a class="item item-text-wrap item-icon-left" ng-click="loadPost(post.url, post.date)" href="">
<i ng-class="isUnread(post.date) ? 'icon ion-email-unread': 'icon ion-ios-email-outline'"></i>
{{post.title}}
@@ -20,14 +14,9 @@
</a>
</span>
-
<div ng-if="!newsItems.length">
<ion-item>{{'kLoading' | translate}}...</ion-item>
</div>
-
-
</div>
-
</ion-content>
-
</ion-view>
diff --git a/www/templates/reorder-modal.html b/www/templates/reorder-modal.html
index f58d567c..397d4be7 100644
--- a/www/templates/reorder-modal.html
+++ b/www/templates/reorder-modal.html
@@ -1,39 +1,20 @@
-
- <ion-modal-view cache-view="false" style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;" >
-
+<ion-modal-view cache-view="false" style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;">
<ion-header-bar class="bar-stable">
-
-
- <h1 class="title"></h1>
- <div class="buttons">
-
-
- <button class="button button-icon icon ion-checkmark" ng-click="saveReorder()"></button>
-
- <button class="button button-icon icon ion-close" ng-click="cancelReorder()"></button>
-
- </div>
+ <h1 class="title"></h1>
+ <div class="buttons">
+ <button class="button button-icon icon ion-checkmark" ng-click="saveReorder()"></button>
+ <button class="button button-icon icon ion-close" ng-click="cancelReorder()"></button>
+ </div>
</ion-header-bar>
-
-
- <ion-content >
- <div class="list">
- <span ng-repeat="item in copyMontage">
+ <ion-content>
+ <div class="list">
+ <span ng-repeat="item in copyMontage">
<a class="item item-icon-left" ng-click="toggleHide($index)" href="">
<i ng-class="{'icon ion-eye':item.Monitor.listDisplay=='show','icon ion-eye-disabled':item.Monitor.listDisplay!='show'}"> </i>
{{item.Monitor.Name}}
</a>
</span>
- </div>
-
-
- </ion-content>
-
- </ion-modal-view>
-
-
-
-
-
-
+ </div>
+ </ion-content>
+</ion-modal-view>
diff --git a/www/templates/state.html b/www/templates/state.html
index bf0cda4a..33df994e 100644
--- a/www/templates/state.html
+++ b/www/templates/state.html
@@ -1,12 +1,10 @@
<ion-view view-title="{{'kSystemStatus' | translate}}" cache-view="false">
-
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
- <ion-refresher pulling-text="{{'kPullToReload' | translate}}..."
- spinner="bubbles" on-refresh="doRefresh()"></ion-refresher>
+ <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <ion-refresher pulling-text="{{'kPullToReload' | translate}}..." spinner="bubbles" on-refresh="doRefresh()"></ion-refresher>
<ion-list>
<ion-item>
<div class="row">
@@ -28,7 +26,6 @@
<i class="ion-arrow-graph-up-right" style="font-size:150%;"></i>
</div>
<div class="col">
-
ZoneMinder {{'kLoad' | translate}}:
</div>
<div class="col" style="text-align:right;">
@@ -54,20 +51,15 @@
</ion-item>
-->
<ion-item>
- <button class="button button-full {{dangerButtonColor[showDanger?1:0]}}"
- ng-click="showDanger=!showDanger">
+ <button class="button button-full {{dangerButtonColor[showDanger?1:0]}}" ng-click="showDanger=!showDanger">
<i class="ion-alert-circled" "style:font-size:300%;"></i> {{dangerText[showDanger?1:0]}}
</button>
-
- <div ng-show="showDanger" >
+ <div ng-show="showDanger">
<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="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>
diff --git a/www/templates/timeline-modal.html b/www/templates/timeline-modal.html
index b27c749b..afed79f5 100644
--- a/www/templates/timeline-modal.html
+++ b/www/templates/timeline-modal.html
@@ -1,36 +1,26 @@
-
-
- <!-- style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;"-->
- <ion-modal-view cache-view="false" >
-
- <ion-content ng-cloak on-double-tap="closeModal()" delegate-handle="timeline-modal-delegate">
-<div ng-controller="TimelineModalCtrl" >
+<!-- style="width: 90%; height: 90%; top: 5%; left: 5%; right: 5%; bottom: 5%;"-->
+<ion-modal-view cache-view="false">
+ <ion-content ng-cloak on-double-tap="closeModal()" delegate-handle="timeline-modal-delegate">
+ <div ng-controller="TimelineModalCtrl">
<br/>
<div class="item item-divider">{{mName}}&nbsp;<i class="ion-arrow-right-b"></i>&nbsp;{{'kEvent' | translate}}:{{eid}} ({{humanizeTime}})
- <button class="button icon-left button-small button-positive" style="float:right; opacity:0.7" ng-click="switchType()">
- <i class="ion-shuffle"></i>
+ <button class="button icon-left button-small button-positive" style="float:right; opacity:0.7" ng-click="switchType()">
+ <i class="ion-shuffle"></i>
</button>
-
</div>
-
- <center> <h5>{{'kEvent' | translate}} {{graphType}} {{'kFrames' | translate}} </h5>
+ <center>
+ <h5>{{'kEvent' | translate}} {{graphType}} {{'kFrames' | translate}} </h5>
<p>{{'kTimelineMessage' | translate}}</p>
-
-
- {{errorDetails}}
+ {{errorDetails}}
<!--<p>scroll left/right if needed</p>-->
- </center>
-
- <div data-tap-disabled="true">
- <canvas id="tcchart" width="auto" height="70%"></canvas>
- </div>
-
-
- <ion-spinner icon="spiral" style="position:absolute; top:50%;left:50%" ng-if="!dataReady"></ion-spinner>
-
+ </center>
+ <div data-tap-disabled="true">
+ <canvas id="tcchart" width="auto" height="70%"></canvas>
+ </div>
+ <ion-spinner icon="spiral" style="position:absolute; top:50%;left:50%" ng-if="!dataReady"></ion-spinner>
<div style="height:190px;">
<!-- <ion-scroll direction="x" class="wide-as-needed">-->
- <span ng-repeat="alarm in alarm_images">
+ <span ng-repeat="alarm in alarm_images">
<figure style="display:inline-block">
@@ -44,14 +34,8 @@
</figure>
</span>
-
<!--</ion-scroll>-->
</div>
- </div>
- </ion-content>
-
- </ion-modal-view>
-
-
-
-
+ </div>
+ </ion-content>
+</ion-modal-view>
diff --git a/www/templates/timeline-popover.html b/www/templates/timeline-popover.html
index b5460f57..beeb482d 100644
--- a/www/templates/timeline-popover.html
+++ b/www/templates/timeline-popover.html
@@ -1,26 +1,18 @@
<ion-popover-view class="fit">
- <ion-content>
- <div class="list" ng-click="popover.hide()">
-
+ <ion-content>
+ <div class="list" ng-click="popover.hide()">
<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();toggleMinAlarmFrameCount();" ng-if="!loginData.enableAlarmCount"> {{'kShowAlarmedEvents' | translate}}</a>
<a class="item" ng-href="" ng-click="popover.hide();buttonClicked(0);">{{'kMonth' | translate}}</a>
-
- <a class="item" ng-href="" ng-click=" popover.hide();buttonClicked(1);" >
+ <a class="item" ng-href="" ng-click=" popover.hide();buttonClicked(1);">
{{'kWeek' | translate}}
</a>
<a class="item" ng-href="" ng-click="popover.hide();buttonClicked(2);">
{{'kDay' | translate}}
</a>
-
- <a class="item" ng-href="" ng-click="popover.hide();buttonClicked(3);">
+ <a class="item" ng-href="" ng-click="popover.hide();buttonClicked(3);">
{{'kCustomRange' | translate}}
</a>
-
-
- </div>
- </ion-content>
- </ion-popover-view>
-
+ </div>
+ </ion-content>
+</ion-popover-view>
diff --git a/www/templates/wizard.html b/www/templates/wizard.html
index fe69f595..600f4a7f 100644
--- a/www/templates/wizard.html
+++ b/www/templates/wizard.html
@@ -1,116 +1,85 @@
-<ion-view view-title="{{'kWizard' | translate}}" ng-cloak cache-view="false" >
-
+<ion-view view-title="{{'kWizard' | translate}}" ng-cloak cache-view="false">
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
</ion-nav-buttons>
-
-
<ion-content class="padding" overflow-scroll="false">
-
- <wizard on-finish="finishedWizard()">
-
- <!-- portal url -->
- <wz-step wz-title="1" canexit="exitPortal">
-
- <h4><i id="transition-delay" class="animated swing ion-wand" style="font-size:2em"></i> {{'kWelcomeWizard' | translate}}</h4>
- <img src="img/wizard.svg" width="100px" style="float:left"/>
- <p>{{'kWizConfigPain' | translate}}</p>
-
- <h4>{{'kWizPortalUrl' | translate}}</h4>
- <label class="item item-input">
- <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" placeholder="e.g. http://server/zm" ng-model="wizard.portalurl">
- </label>
- <p ng-if="$root.platformOS=='android'" style="font-size:0.8em; color:gray">{{'kDisableSamsung' | translate}}</p>
-
- <a class="button icon-left ion-information-circled button-clear button-dark" ng-click="toggleTip()">{{wizard.tiptext}}</a>
-
-
- <div class="wizardtip" ng-show="wizard.tipshow">
- <b>{{'kWizTip' | translate}}: </b>{{'kWizPortalTip' | translate}}<br/>
-
- <img src="img/portalurl.png" width="30%">
- </div>
-
- <br/>
- <button class="button button-small icon icon-right ion-chevron-right" wz-next>{{'kNext' | translate}}</button>
-
-
- </wz-step>
-
-
- <!-- auth mode -->
- <wz-step wz-title="2" >
- <h4>{{'kWizPortalAuth' | translate}}</h4>
- <!--<img src="img/wizard.svg" width="100px" style="float:left"/>-->
- <p>{{'kWizPortalText' | translate}}</p>
- <ion-toggle ng-change="toggleAuth()" ng-model="wizard.useauth" ng-checked="wizard.useauth" toggle-class="toggle-calm">{{'kWizUseAuth' | translate}}</ion-toggle>
-
- <ion-toggle ng-show="wizard.useauth" ng-model="wizard.usezmauth" ng-checked="wizard.usezmauth" toggle-class="toggle-calm">{{'kWizZMAuth' | translate}}</ion-toggle>
-
- <div ng-if="wizard.usezmauth">
- <label class="item item-input item-floating-label" >
+ <wizard on-finish="finishedWizard()">
+ <!-- portal url -->
+ <wz-step wz-title="1" canexit="exitPortal">
+ <h4><i id="transition-delay" class="animated swing ion-wand" style="font-size:2em"></i> {{'kWelcomeWizard' | translate}}</h4>
+ <img src="img/wizard.svg" width="100px" style="float:left" />
+ <p>{{'kWizConfigPain' | translate}}</p>
+ <h4>{{'kWizPortalUrl' | translate}}</h4>
+ <label class="item item-input">
+ <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" placeholder="e.g. http://server/zm" ng-model="wizard.portalurl">
+ </label>
+ <p ng-if="$root.platformOS=='android'" style="font-size:0.8em; color:gray">{{'kDisableSamsung' | translate}}</p>
+ <a class="button icon-left ion-information-circled button-clear button-dark" ng-click="toggleTip()">{{wizard.tiptext}}</a>
+ <div class="wizardtip" ng-show="wizard.tipshow">
+ <b>{{'kWizTip' | translate}}: </b>{{'kWizPortalTip' | translate}}
+ <br/>
+ <img src="img/portalurl.png" width="30%">
+ </div>
+ <br/>
+ <button class="button button-small icon icon-right ion-chevron-right" wz-next>{{'kNext' | translate}}</button>
+ </wz-step>
+ <!-- auth mode -->
+ <wz-step wz-title="2">
+ <h4>{{'kWizPortalAuth' | translate}}</h4>
+ <!--<img src="img/wizard.svg" width="100px" style="float:left"/>-->
+ <p>{{'kWizPortalText' | translate}}</p>
+ <ion-toggle ng-change="toggleAuth()" ng-model="wizard.useauth" ng-checked="wizard.useauth" toggle-class="toggle-calm">{{'kWizUseAuth' | translate}}</ion-toggle>
+ <ion-toggle ng-show="wizard.useauth" ng-model="wizard.usezmauth" ng-checked="wizard.usezmauth" toggle-class="toggle-calm">{{'kWizZMAuth' | translate}}</ion-toggle>
+ <div ng-if="wizard.usezmauth">
+ <label class="item item-input item-floating-label">
+ <span class="input-label">{{'kUserName' | translate}}</span>
+ <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" ng-model="wizard.zmuser" placeholder="{{'kPlaceHolderZMAuthUser'|translate}}">
+ </label>
+ <label class="item item-text-wrap item-input item-floating-label">
+ <span class="input-label">{{'kPassword' | translate}}</span>
+ <input type="password" ng-model="wizard.zmpassword" placeholder="{{'kPlaceHolderZMAuthPass'|translate}}">
+ <!--<p >{{'kWizPasswdNote' | translate}}</p>-->
+ </label>
+ </div>
+ <ion-toggle ng-show="wizard.useauth" ng-model="wizard.usebasicauth" ng-checked="wizard.usebasicauth" toggle-class="toggle-calm">{{'kWizBasicAuth' | translate}}</ion-toggle>
+ <label class="item item-input item-floating-label" ng-show="wizard.usebasicauth">
<span class="input-label">{{'kUserName' | translate}}</span>
- <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" ng-model="wizard.zmuser" placeholder="{{'kPlaceHolderZMAuthUser'|translate}}" >
+ <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" ng-model="wizard.basicuser" placeholder="{{'kPlaceHolderBasicAuthUser'|translate}}">
</label>
- <label class="item item-text-wrap item-input item-floating-label" >
+ <label class="item item-input item-text-wrap item-floating-label" ng-show="wizard.usebasicauth">
<span class="input-label">{{'kPassword' | translate}}</span>
- <input type="password" ng-model="wizard.zmpassword" placeholder="{{'kPlaceHolderZMAuthPass'|translate}}" >
- <!--<p >{{'kWizPasswdNote' | translate}}</p>-->
+ <input type="password" ng-model="wizard.basicpassword" placeholder="{{'kPlaceHolderBasicAuthPass'|translate}}">
+ <p>{{'kWizPasswdNote' | translate}}</p>
</label>
- </div>
-
- <ion-toggle ng-show="wizard.useauth" ng-model="wizard.usebasicauth" ng-checked="wizard.usebasicauth" toggle-class="toggle-calm">{{'kWizBasicAuth' | translate}}</ion-toggle>
- <label class="item item-input item-floating-label" ng-show="wizard.usebasicauth">
- <span class="input-label">{{'kUserName' | translate}}</span>
- <input autocorrect="off" autocapitalize="none" autocomplete="off" type="text" ng-model="wizard.basicuser" placeholder="{{'kPlaceHolderBasicAuthUser'|translate}}" >
- </label>
- <label class="item item-input item-text-wrap item-floating-label" ng-show="wizard.usebasicauth">
- <span class="input-label">{{'kPassword' | translate}}</span>
- <input type="password" ng-model="wizard.basicpassword" placeholder="{{'kPlaceHolderBasicAuthPass'|translate}}" >
- <p>{{'kWizPasswdNote' | translate}}</p>
- </label>
-
-
- <a class="button icon-left ion-information-circled button-clear button-dark" ng-click="toggleTip()">{{wizard.tiptext}}</a>
-
-
- <div class="wizardtip" ng-show="wizard.tipshow">
- <b>{{'kWizTip'| translate}} </b> {{'kWizAuthText1' | translate}}<br/>
- {{'kWizAuthText2' | translate}}
- </div>
-
- <br/>
- <button class="button button-small icon icon-left ion-chevron-left" wz-previous>{{'kPrev' | translate}}</button>
- <button class="button button-small icon icon-right ion-chevron-right" ng-click="exitAuth()">{{'kNext' | translate}}</button>
-
- </wz-step>
-
-
- <wz-step wz-title="3" >
- <br/><br/>
- <h4>{{'kWizResults' | translate}}</h4>
-
- <span ng-if="wizard.portalValidText" style="color:{{wizard.portalColor}};"><i ng-class="wizard.portalColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.portalValidText}}<br/></span>
-
- <span ng-if="wizard.apiValidText" style="color:{{wizard.apiColor}};"><i ng-class=" wizard.apiColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.apiValidText}}<br/></span>
-
- <span ng-if="wizard.streamingValidText" style="color:{{wizard.streamingColor}};"><i ng-class="wizard.streamingColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.streamingValidText}}<br/></span>
-
- <br/>
- <div class="wizardtip">
- {{'kWizNextStep1' | translate}}:
- <ul class="wiz-list">
- <li>{{'kWizNextStep2' | translate}}</li>
- <li>{{'kWizNextStep3' | translate}}</li>
- </ul>
- </div>
- <br/><br/>
- <button class="button button-small icon icon-left ion-chevron-left" wz-previous>{{'kPrev' | translate}}</button>
- <button class="button button-small icon icon-right ion-chevron-right" ng-click="gotoLoginState()">{{'kWizGotoLogin' | translate}}</button>
- </wz-step>
-
-
-</wizard>
+ <a class="button icon-left ion-information-circled button-clear button-dark" ng-click="toggleTip()">{{wizard.tiptext}}</a>
+ <div class="wizardtip" ng-show="wizard.tipshow">
+ <b>{{'kWizTip'| translate}} </b> {{'kWizAuthText1' | translate}}
+ <br/> {{'kWizAuthText2' | translate}}
+ </div>
+ <br/>
+ <button class="button button-small icon icon-left ion-chevron-left" wz-previous>{{'kPrev' | translate}}</button>
+ <button class="button button-small icon icon-right ion-chevron-right" ng-click="exitAuth()">{{'kNext' | translate}}</button>
+ </wz-step>
+ <wz-step wz-title="3">
+ <br/>
+ <br/>
+ <h4>{{'kWizResults' | translate}}</h4>
+ <span ng-if="wizard.portalValidText" style="color:{{wizard.portalColor}};"><i ng-class="wizard.portalColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.portalValidText}}<br/></span>
+ <span ng-if="wizard.apiValidText" style="color:{{wizard.apiColor}};"><i ng-class=" wizard.apiColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.apiValidText}}<br/></span>
+ <span ng-if="wizard.streamingValidText" style="color:{{wizard.streamingColor}};"><i ng-class="wizard.streamingColor=='#16a085' ? 'ion-checkmark-circled':'ion-close-circled'"></i>&nbsp;{{wizard.streamingValidText}}<br/></span>
+ <br/>
+ <div class="wizardtip">
+ {{'kWizNextStep1' | translate}}:
+ <ul class="wiz-list">
+ <li>{{'kWizNextStep2' | translate}}</li>
+ <li>{{'kWizNextStep3' | translate}}</li>
+ </ul>
+ </div>
+ <br/>
+ <br/>
+ <button class="button button-small icon icon-left ion-chevron-left" wz-previous>{{'kPrev' | translate}}</button>
+ <button class="button button-small icon icon-right ion-chevron-right" ng-click="gotoLoginState()">{{'kWizGotoLogin' | translate}}</button>
+ </wz-step>
+ </wizard>
</ion-content>
-
-</ion-view> \ No newline at end of file
+</ion-view>
diff --git a/www/templates/zm-portal-login.html b/www/templates/zm-portal-login.html
index 9d2db867..877dbb97 100644
--- a/www/templates/zm-portal-login.html
+++ b/www/templates/zm-portal-login.html
@@ -1,8 +1,5 @@
-
<ion-view view-title="{{$root.appName}}" hide-nav-bar="true" hide-back-button="true" cache-view="false">
-
<ion-content class="pin-background" scroll="false">
-
<div style="margin-left:20px; margin-right:20px">
<center>
<br/>
@@ -10,23 +7,20 @@
<div id="responsive-image">
<img src="img/authlogo.png">
</div>
-
<div ng-if="pinPrompt">
<span style="color:white">{{'kEnterPin' | translate}}</span>
-
<div class="pinCode">
<input id="pin-box" type="number" pattern="[0-9]*" ng-model="pindata.pin" ng-keyup="pinChange()" />
</div>
-
<br/> <span style="color:white">{{pindata.status}}</span>
<br/>
<button class="button button-dark icon ion-unlocked" ng-click="unlock()"> Unlock
</button>
</div>
- <div id = "really-your-fault" class="animated fadeIn" style="color:white">{{'kPortalNotice' | translate}}<br/><br/>{{'kPortalNoticeSub' | translate}}</div>
-
+ <div id="really-your-fault" class="animated fadeIn" style="color:white">{{'kPortalNotice' | translate}}
+ <br/>
+ <br/>{{'kPortalNoticeSub' | translate}}</div>
</center>
</div>
-
</ion-content>
-</ion-view> \ No newline at end of file
+</ion-view>