summaryrefslogtreecommitdiff
path: root/www/templates
diff options
context:
space:
mode:
Diffstat (limited to 'www/templates')
-rw-r--r--www/templates/devoptions.html380
-rw-r--r--www/templates/events-date-time-filter.html50
-rw-r--r--www/templates/events-graphs.html119
-rw-r--r--www/templates/events-modal.html333
-rw-r--r--www/templates/events-modalgraph.html14
-rw-r--r--www/templates/events-popover.html22
-rw-r--r--www/templates/events.html55
-rw-r--r--www/templates/eventserversettings.html106
-rw-r--r--www/templates/first-use.html71
-rw-r--r--www/templates/help.html23
-rw-r--r--www/templates/image-modal.html7
-rw-r--r--www/templates/important_message.html65
-rw-r--r--www/templates/invalidapi.html55
-rw-r--r--www/templates/log.html85
-rw-r--r--www/templates/login.html198
-rw-r--r--www/templates/lowversion.html46
-rw-r--r--www/templates/menu.html287
-rw-r--r--www/templates/moment-mask.html46
-rw-r--r--www/templates/moment-popover.html29
-rw-r--r--www/templates/moment.html38
-rw-r--r--www/templates/monitors-modal.html10
-rw-r--r--www/templates/monitors.html116
-rw-r--r--www/templates/montage-history.html5
-rw-r--r--www/templates/montage.html285
-rw-r--r--www/templates/news.html45
-rw-r--r--www/templates/refresh.html30
-rw-r--r--www/templates/reorder-modal.html44
-rw-r--r--www/templates/state.html105
-rw-r--r--www/templates/timeline-modal.html88
-rw-r--r--www/templates/timeline-popover.html34
-rw-r--r--www/templates/timeline.html6
-rw-r--r--www/templates/wizard.html183
-rw-r--r--www/templates/zm-portal-login.html47
33 files changed, 1588 insertions, 1439 deletions
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index 86c19561..e81e536f 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -1,48 +1,63 @@
<ion-view view-title="{{'kDevOptions' | translate}}">
- <ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
- &nbsp;<button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
- </ion-nav-buttons>
- <ion-nav-buttons side="right">
- <button class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button>
- </ion-nav-buttons>
- <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
- <div class="list list-inset">
- <span style="color:rgb(100,100,100)">
- <i class="ion-android-settings" style="font-size:150%"></i> {{'kDeveloperOptionsFor'|translate}} {{loginData.serverName}}
+ <ion-nav-buttons side="left">
+ <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
+ &nbsp;
+ <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge"
+ ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
+ </ion-nav-buttons>
+ <ion-nav-buttons side="right">
+ <button class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button>
+ </ion-nav-buttons>
+ <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <div class="list list-inset">
+ <span style="color:rgb(100,100,100)">
+ <i class="ion-android-settings" style="font-size:150%"></i> {{'kDeveloperOptionsFor'|translate}} {{loginData.serverName}}
+ </span>
+ <div class="item item-input-inset">
+ {{'kFrameUpdate'|translate}} ({{'kSec'|translate}}.)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec">
+ </label>
+ </div>
+ <label>
+ <ion-toggle ng-model="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-disabled="!isTzSupported()" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kLocalTimeZone' | translate}}
+ <span ng-if="!isTzSupported()">
+ <p>{{'kTimeZoneNotSupported' | translate}}</p>
</span>
- <div class="item item-input-inset">
- {{'kFrameUpdate'|translate}} ({{'kSec'|translate}}.)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec">
- </label>
- </div>
- <label>
- <ion-toggle ng-model="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-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>
-
- <label>
- <ion-toggle ng-model="loginData.showLiveForInProgressEvents" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kShowLiveForInProgress' | translate}}</span>
- </ion-toggle>
- </label>
-
- <div ng-if="$root.platformOS=='android'">
- <label>
- <ion-toggle ng-model="loginData.exitOnSleep" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kExitAppBackground' | translate}}</span></ion-toggle>
- </label>
- </div>
-
- <div class="item item-text-wrap item-input-inset">
- {{'kMaxMonitorsMontage' | translate }}&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="{{'kBeCareful' | translate}}" ng-model="loginData.maxMontage">
- </label>
- </div>
- <!--
+ <span ng-if="isTzSupported()">
+ <p>{{'kServerTimeZone' | translate}}:{{getTimeZoneNow()}}</p>
+ </span>
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.showLiveForInProgressEvents" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kShowLiveForInProgress' | translate}}</span>
+ </ion-toggle>
+ </label>
+
+ <div ng-if="$root.platformOS=='android'">
+ <label>
+ <ion-toggle ng-model="loginData.exitOnSleep" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kExitAppBackground' | translate}}</span>
+ </ion-toggle>
+ </label>
+ </div>
+
+ <div class="item item-text-wrap item-input-inset">
+ {{'kMaxMonitorsMontage' | translate }}&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="{{'kBeCareful' | translate}}" ng-model="loginData.maxMontage">
+ </label>
+ </div>
+ <!--
<div class="item item-input-inset">
maxfps for streaming&nbsp;
<label class="item-input-wrapper">
@@ -50,25 +65,25 @@
</label>
</div>
-->
- <div class="item item-text-wrap item-input-inset">
- {{'kMontageImageScale' | translate}}(%)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="max is 70" ng-model="loginData.montageQuality">
- </label>
- </div>
- <div class="item item-text-wrap item-input-inset">
- {{'kEventSingleImageScale' | translate}}(%)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.singleImageQuality">
- </label>
- </div>
- <div class="item item-text-wrap item-input-inset">
- {{'kMonitorSingleImageScale' | translate}}(%)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.monSingleImageQuality">
- </label>
- </div>
- <!--<div class="item item-input-inset">
+ <div class="item item-text-wrap item-input-inset">
+ {{'kMontageImageScale' | translate}}(%)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="max is 70" ng-model="loginData.montageQuality">
+ </label>
+ </div>
+ <div class="item item-text-wrap item-input-inset">
+ {{'kEventSingleImageScale' | translate}}(%)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.singleImageQuality">
+ </label>
+ </div>
+ <div class="item item-text-wrap item-input-inset">
+ {{'kMonitorSingleImageScale' | translate}}(%)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.monSingleImageQuality">
+ </label>
+ </div>
+ <!--<div class="item item-input-inset">
{{'kResumeDelay' | translate}}(ms)&nbsp;
<label class="item-input-wrapper">
<input type="tel" placeholder="" ng-model="loginData.resumeDelay">
@@ -76,117 +91,132 @@
</label>
</div>-->
- <div class="item item-text-wrap item-input-inset">
- {{'kEventMontageImageScale'|translate}}(%)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.montageHistoryQuality">
- </label>
- </div>
- <div class="item item-text-wrap item-input-inset">
- {{'kMaxItemsForTimeline' | translate}}&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.graphSize">
- <br/>
- </label>
- <br/>
- </div>
- <div class="item item-text-wrap item-input-inset">
- {{'kMinAlarmCount' | translate}}&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.minAlarmCount">
- <br/>
- </label>
- <br/>
- </div>
- <div class="item" style="background-color:#C8F7C5" ng-if="loginData.graphSize > 5000">
- <label class="animated fadeInDown item-text-wrap">
- {{'kWarningLargeTimeline' | translate}}
- </label>
- </div>
-
- <label>
- <ion-toggle ng-model="loginData.hideArchived" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kHideArchived' | translate}}
- </span>
- </ion-toggle>
- </label>
-
- <label ng-if="$root.platformOS!='desktop'">
- <ion-toggle ng-model="loginData.enableStrictSSL" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableStrictSSL' | translate}}
-
- </span>
- </ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-model="loginData.enableGIFMP4" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableGIFMP4' | translate}}
- </span>
- </ion-toggle>
- </label>
-
-
- <label>
- <ion-toggle ng-model="loginData.enableThumbs" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableThumbs' | translate}}
- <p>{{'kEnableThumbsSub' | translate}}</p>
- </span>
- </ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-model="loginData.enableSlowLoading" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableSlowLoading' | translate}}
- </span>
- </ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-model="loginData.disableAlarmCheckMontage" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kDisableAlarmMontage' | translate}}
- <p>{{'kDisableAlarmMontageSub' | translate}}</p></span>
- </ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-model="loginData.insertBasicAuthToken" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kInsertBasicAuthToken' | translate}}
- <p>{{'kInsertBasicAuthTokenNote' | translate}}</p></span>
- </ion-toggle>
- </label>
-
- <label ng-if="isMultiPort">
- <ion-toggle ng-model="loginData.disableSimulStreaming"
- ng-change="checkMultiPortToggle()" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kDisableSimulStreaming' | translate}}
- <p ng-if="$root.platformOS=='ios'">{{'kDisableSimulStreamingNote' | translate}}</p>
- </span>
- </ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-model="loginData.enableLogs" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableLogs' | translate}}</span></ion-toggle>
- </label>
-
- <label>
- <ion-toggle ng-if="loginData.enableLogs" ng-model="loginData.enableDebug" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableDebug' | translate}}</span></ion-toggle>
- </label>
-
- <div class="item item-text-wrap item-input-inset">
- {{'kCycleMonitorsInterval'|translate}}({{'kSec'|translate}}.)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.cycleMonitorsInterval">
- </label>
- </div>
-
- <div class="item item-text-wrap item-input-inset">
- {{'kCycleMontageInterval'|translate}}({{'kSec'|translate}}.)&nbsp;
- <label class="item-input-wrapper">
- <input type="tel" placeholder="" ng-model="loginData.cycleMontageInterval">
- </label>
- </div>
-
-
-
-
- <label ng-if="$root.platformOS != 'desktop'">
- <ion-toggle ng-model="loginData.disableNative" toggle-class="toggle-calm"> <span class="item-text-wrap">{{'kDisableNative' | translate}}
- <p>{{'kDisableNativeSub' | translate}}</p></span>
- </ion-toggle>
- </label>
- </div>
- </ion-content>
+ <div class="item item-text-wrap item-input-inset">
+ {{'kEventMontageImageScale'|translate}}(%)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.montageHistoryQuality">
+ </label>
+ </div>
+ <div class="item item-text-wrap item-input-inset">
+ {{'kMaxItemsForTimeline' | translate}}&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.graphSize">
+ <br/>
+ </label>
+ <br/>
+ </div>
+ <div class="item item-text-wrap item-input-inset">
+ {{'kMinAlarmCount' | translate}}&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.minAlarmCount">
+ <br/>
+ </label>
+ <br/>
+ </div>
+ <div class="item" style="background-color:#C8F7C5" ng-if="loginData.graphSize > 5000">
+ <label class="animated fadeInDown item-text-wrap">
+ {{'kWarningLargeTimeline' | translate}}
+ </label>
+ </div>
+
+ <label>
+ <ion-toggle ng-model="loginData.hideArchived" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kHideArchived' | translate}}
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label ng-if="$root.platformOS!='desktop'">
+ <ion-toggle ng-model="loginData.enableStrictSSL" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableStrictSSL' | translate}}
+
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.enableGIFMP4" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableGIFMP4' | translate}}
+ </span>
+ </ion-toggle>
+ </label>
+
+
+ <label>
+ <ion-toggle ng-model="loginData.enableThumbs" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableThumbs' | translate}}
+ <p>{{'kEnableThumbsSub' | translate}}</p>
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.enableSlowLoading" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableSlowLoading' | translate}}
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.disableAlarmCheckMontage" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kDisableAlarmMontage' | translate}}
+ <p>{{'kDisableAlarmMontageSub' | translate}}</p>
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.insertBasicAuthToken" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kInsertBasicAuthToken' | translate}}
+ <p>{{'kInsertBasicAuthTokenNote' | translate}}</p>
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label ng-if="isMultiPort">
+ <ion-toggle ng-model="loginData.disableSimulStreaming" ng-change="checkMultiPortToggle()" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kDisableSimulStreaming' | translate}}
+ <p ng-if="$root.platformOS=='ios'">{{'kDisableSimulStreamingNote' | translate}}</p>
+ </span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-model="loginData.enableLogs" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableLogs' | translate}}</span>
+ </ion-toggle>
+ </label>
+
+ <label>
+ <ion-toggle ng-if="loginData.enableLogs" ng-model="loginData.enableDebug" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kEnableDebug' | translate}}</span>
+ </ion-toggle>
+ </label>
+
+ <div class="item item-text-wrap item-input-inset">
+ {{'kCycleMonitorsInterval'|translate}}({{'kSec'|translate}}.)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.cycleMonitorsInterval">
+ </label>
+ </div>
+
+ <div class="item item-text-wrap item-input-inset">
+ {{'kCycleMontageInterval'|translate}}({{'kSec'|translate}}.)&nbsp;
+ <label class="item-input-wrapper">
+ <input type="tel" placeholder="" ng-model="loginData.cycleMontageInterval">
+ </label>
+ </div>
+
+
+
+
+ <label ng-if="$root.platformOS != 'desktop'">
+ <ion-toggle ng-model="loginData.disableNative" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kDisableNative' | translate}}
+ <p>{{'kDisableNativeSub' | translate}}</p>
+ </span>
+ </ion-toggle>
+ </label>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/events-date-time-filter.html b/www/templates/events-date-time-filter.html
index 2aa2d6d5..395c29d2 100644
--- a/www/templates/events-date-time-filter.html
+++ b/www/templates/events-date-time-filter.html
@@ -1,27 +1,27 @@
<ion-view view-title="{{'kFilterEvents' | translate}}">
- <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
- <label class="item item-input">
- <span class="input-label">{{'kFromDate'|translate}}:</span>
- <input type="date" ng-model="$root.fromDate" max={{today}}>
- </label>
- <label class="item item-input">
- <span class="input-label">{{'kFromTime'|translate}}</span>
- <input type="time" ng-model="$root.fromTime">
- </label>
- <label class="item item-input">
- <span class="input-label">{{'kToDate'|translate}}</span>
- <input type="date" ng-model="$root.toDate" max={{today}}>
- </label>
- <label class="item item-input">
- <span class="input-label">{{'kToTime'|translate}}</span>
- <input type="time" ng-model="$root.toTime">
- </label>
- <br/>
- <center>
- <button class="button" ng-click="saveFilters();"> {{'kSave'|translate}}
- </button>
- <button class="button" ng-click="removeFilters();"> {{'kReset'|translate}}
- </button>
- </center>
- </ion-content>
+ <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <label class="item item-input">
+ <span class="input-label">{{'kFromDate'|translate}}:</span>
+ <input type="date" ng-model="$root.fromDate" max={{today}}>
+ </label>
+ <label class="item item-input">
+ <span class="input-label">{{'kFromTime'|translate}}</span>
+ <input type="time" ng-model="$root.fromTime">
+ </label>
+ <label class="item item-input">
+ <span class="input-label">{{'kToDate'|translate}}</span>
+ <input type="date" ng-model="$root.toDate" max={{today}}>
+ </label>
+ <label class="item item-input">
+ <span class="input-label">{{'kToTime'|translate}}</span>
+ <input type="time" ng-model="$root.toTime">
+ </label>
+ <br/>
+ <center>
+ <button class="button" ng-click="saveFilters();"> {{'kSave'|translate}}
+ </button>
+ <button class="button" ng-click="removeFilters();"> {{'kReset'|translate}}
+ </button>
+ </center>
+ </ion-content>
</ion-view>
diff --git a/www/templates/events-graphs.html b/www/templates/events-graphs.html
index 0e14016f..573bf6ad 100644
--- a/www/templates/events-graphs.html
+++ b/www/templates/events-graphs.html
@@ -1,65 +1,66 @@
<!----- 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>
- </ion-nav-buttons>
- <!-- I'm calling the same controller function but with different parameters when
+ <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>
+ <!-- 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
+ <!-- Oddly, unless I add a "div ng-controller" before each canvas
onClick handler does not work
-->
- <!-- All Events view -->
- <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>
- </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-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>
- </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-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>
- </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-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>
- </ion-content>
- </ion-nav-view>
- </ion-tab>
- </ion-tabs>
+ <!-- All Events view -->
+ <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>
+ </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-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>
+ </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-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>
+ </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-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>
+ </ion-content>
+ </ion-nav-view>
+ </ion-tab>
+ </ion-tabs>
</ion-view>
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index e372929b..c51ef443 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -1,163 +1,186 @@
<div ng-controller="EventModalCtrl">
- <!-- 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>
-
-
- <!-- alarm frames in snapshot-->
- <div ng-if="isSnapShot() && !liveFeedMid">
- <ion-scroll direction="x" overflow-scroll="false" >
- <div style="white-space:nowrap;">
- <span ng-repeat="alarm in alarm_images">
- <figure class="animated slideInLeft" style="display:inline-block">
- <img ng-src="{{constructFrame(alarm.frameid)}}" fallback-src="img/frameerror.png" style="width: auto; height: auto;max-width: 100%;max-height: 100px" ng-click="changeSnapshot(alarm.frameid)" on-double-tap="closeModal();" />
- </figure>
- </span>
- </div>
-
- </ion-scroll>
- </div>
+ <!-- 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>
+
+
+ <!-- alarm frames in snapshot-->
+ <div ng-if="isSnapShot() && !liveFeedMid">
+ <ion-scroll direction="x" overflow-scroll="false">
+ <div style="white-space:nowrap;">
+ <span ng-repeat="alarm in alarm_images">
+ <figure class="animated slideInLeft" style="display:inline-block">
+ <img ng-src="{{constructFrame(alarm.frameid)}}" fallback-src="img/frameerror.png" style="width: auto; height: auto;max-width: 100%;max-height: 100px"
+ ng-click="changeSnapshot(alarm.frameid)" on-double-tap="closeModal();" />
+ </figure>
+ </span>
+ </div>
+
+ </ion-scroll>
+ </div>
+
+ <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" delegate-handle="imgscroll" overflow-scroll="false"
+ scrollbar-x="false" scrollbar-y="false">
+ <div id="full-screen-event" style="height: 100vh;">
+
+ <div ng-if="defaultVideo=='' || isSnapShot()">
+ <!--<div style="color:white">connkey:{{connKey}}</div>-->
+ <div style="width:100vw; height:100vh;">
+
+ <div ng-if="isSnapShot() && !liveFeedMid" class="event-modal-play">
+
+ <button class="button button-assertive icon ion-play" ng-click="convertSnapShotToStream()">&nbsp;{{'kPlay'|translate}}</button>
+ </div>
+
+
+
+ <img ng-if="!liveFeedMid" image-spinner-src="{{constructStream()}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}"
+ on-double-tap="closeModal();" img-spinner-w="1024" img-spinner-h="768" image-spinner-loader="lines" imageonload="modalImageLoaded()"
+ on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" />
+
+
+ <div ng-if="liveFeedMid">
+ <img image-spinner-src="{{loginData.streamingurl}}/nph-zms?mode=jpeg&monitor={{liveFeedMid}}&connkey={{connKey}}{{$root.authSession}}"
+ ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-double-tap="closeModal();"
+ img-spinner-w="1024" img-spinner-h="768" image-spinner-loader="lines" imageonload="modalImageLoaded()" on-swipe-left="onSwipeEvent(nextId,1)"
+ on-swipe-right="onSwipeEvent(prevId,-1)" />
+ <div class="events-range-modal-text">
+ <span class="events-range-modal-warning-text">{{eventWarning}}</span>
+ </div>
+ </div>
- <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" delegate-handle="imgscroll" overflow-scroll="false" scrollbar-x="false" scrollbar-y="false">
- <div id="full-screen-event" style="height: 100vh;">
-
- <div ng-if="defaultVideo=='' || isSnapShot()">
- <!--<div style="color:white">connkey:{{connKey}}</div>-->
- <div style="width:100vw; height:100vh;">
-
- <div ng-if="isSnapShot() && !liveFeedMid" class="event-modal-play">
-
- <button class="button button-assertive icon ion-play" ng-click="convertSnapShotToStream()">&nbsp;{{'kPlay'|translate}}</button>
- </div>
-
-
-
- <img ng-if="!liveFeedMid" image-spinner-src="{{constructStream()}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-double-tap="closeModal();"
- img-spinner-w="1024" img-spinner-h="768" image-spinner-loader="lines"
- imageonload="modalImageLoaded()" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)"
- />
-
-
- <div ng-if="liveFeedMid">
- <img image-spinner-src="{{loginData.streamingurl}}/nph-zms?mode=jpeg&monitor={{liveFeedMid}}&connkey={{connKey}}{{$root.authSession}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-double-tap="closeModal();"
- img-spinner-w="1024" img-spinner-h="768"
- image-spinner-loader="lines"
- imageonload="modalImageLoaded()" on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)"
- />
- <div class="events-range-modal-text"><span class="events-range-modal-warning-text">{{eventWarning}}</span> </div>
- </div>
-
-
-
- <div ng-if="isPaused" style="position:absolute; top:50%; left:50%;white-space:nowrap;overflow:hidden;z-index:999" class="header-paused">
- &nbsp;<i class="ion-pause"></i> {{'kPaused' | translate}}&nbsp;
- </div>
- </div>
- </div>
- <!-- no default video -->
- <div ng-if="defaultVideo!==undefined && defaultVideo!='' && !isSnapShot() && !isStreamStopped()">
- <div ng-if="videoIsReady">
-
- <!-- <div style="height:{{$root.devHeight}}px; width:{{$root.devWidth}}px;">-->
- <div on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" ng-style="{'height':$root.devHeight+'px', 'width':$root.devWidth+'px'}">
-
- <videogular vg-can-play="onCanPlay()" vg-native-fullscreen="videoObject.config.nativeFullScreen" vg-player-ready="onPlayerReady($API)"
- vg-update-playback="onPlaybackUpdate($playBack)"
- 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-error="onVideoError($event)">
- <vg-media vg-src="videoObject.config.sources" vg-native-controls="videoObject.config.nativeControls">
- </vg-media>
- <vg-controls>
- <vg-playback-button></vg-playback-button>
- <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-cuepoints vg-cuepoints-config="videoObject.config.cuepoints"
- vg-cuepoints-theme="videoObject.config.cuepoints.theme.url">
- </vg-cuepoints>
- </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>
-
- </videogular>
- </div>
- </div>
- <!--<div id="event_canvas_video">
+
+
+ <div ng-if="isPaused" style="position:absolute; top:50%; left:50%;white-space:nowrap;overflow:hidden;z-index:999" class="header-paused">
+ &nbsp;
+ <i class="ion-pause"></i> {{'kPaused' | translate}}&nbsp;
+ </div>
+ </div>
+ </div>
+ <!-- no default video -->
+ <div ng-if="defaultVideo!==undefined && defaultVideo!='' && !isSnapShot() && !isStreamStopped()">
+ <div ng-if="videoIsReady">
+
+ <!-- <div style="height:{{$root.devHeight}}px; width:{{$root.devWidth}}px;">-->
+ <div on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" ng-style="{'height':$root.devHeight+'px', 'width':$root.devWidth+'px'}">
+
+ <videogular vg-can-play="onCanPlay()" vg-native-fullscreen="videoObject.config.nativeFullScreen" vg-player-ready="onPlayerReady($API)"
+ vg-update-playback="onPlaybackUpdate($playBack)" 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-error="onVideoError($event)">
+ <vg-media vg-src="videoObject.config.sources" vg-native-controls="videoObject.config.nativeControls">
+ </vg-media>
+ <vg-controls>
+ <vg-playback-button></vg-playback-button>
+ <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-cuepoints vg-cuepoints-config="videoObject.config.cuepoints" vg-cuepoints-theme="videoObject.config.cuepoints.theme.url">
+ </vg-cuepoints>
+ </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>
+
+ </videogular>
+ </div>
+ </div>
+ <!--<div id="event_canvas_video">
<canvas id="eventchart" width="100%" height="20px"></canvas>
</div>-->
- </div>
- </div>
- <!-- 100vh -->
- </ion-scroll>
+ </div>
+ </div>
+ <!-- 100vh -->
+ </ion-scroll>
+
-
- <div ng-show="defaultVideo=='' && !liveFeedMid && !isSnapShot()">
- <div id="event_canvas">
- <canvas style="padding-left:23px;
+ <div ng-show="defaultVideo=='' && !liveFeedMid && !isSnapShot()">
+ <div id="event_canvas">
+ <canvas style="padding-left:23px;
padding-right:23px;" id="eventchart" width="auto" height="20"></canvas>
- </div>
-
- <div ng-if="checkEventOn" id="event_slider" data-tap-disabled="false">
- <div class="range">
- <input on-drag="enableSliderBlock()" on-release="youChangedSlider()" type="range" min="0" max="{{currentEventDuration}}" ng-model="sliderProgress.progress">
- </div>
- </div>
- <div id="event_rate_text">
- @{{currentRate}}x {{'kAt' | translate}}:{{currentProgress.progress}}s
- </div>
- </div>
-
-
-
- </ion-content>
- </ion-modal-view>
-
-
-
- <div ng-show="!liveFeedMid">
- <nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse'|translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">
- <a mfb-button icon="ion-arrow-right-c" label="{{'kNextEvent'|translate}}" ng-click="jumpToEvent(nextId,1);"></a>
- <a mfb-button icon="ion-arrow-left-c" label="{{'kPrevEvent'|translate}}" ng-click="jumpToEvent(prevId,-1);"></a>
- <a ng-if="!isSnapShot()" mfb-button icon="ion-arrow-resize" label="{{imageFit? ('kFillScreen' | translate):('kFitScreen' | translate)}}" ng-click="scaleImage();"></a>
- <a mfb-button icon="ion-close" label="{{'kExitEventView' | translate}}" ng-click="closeModal()"> </a>
- </nav>
- <nav ng-if=" !isSnapShot() && defaultVideo==''" mfb-menu position="tr" effect="zoomin" label="{{'kCollapse' | translate}}" active-icon="ion-chevron-up" resting-icon="ion-chevron-down" toggling-method="click">
- <a mfb-button icon="ion-skip-backward" label="{{'kFastRewind'|translate}}" ng-click="adjustSpeed('fr');"></a>
- <a mfb-button icon="ion-skip-forward" label="{{'kFastForward'|translate}}" ng-click="adjustSpeed('ff');"></a>
- <a mfb-button icon="ion-play" label="{{'kNormalPlay'|translate}}" ng-click="adjustSpeed('np');"></a>
- <a mfb-button icon="ion-pause" label="{{'kPause'|translate}}" ng-click="adjustSpeed('p');"> </a>
- </nav>
-
- <div class="events-range-modal-text">{{mName}}&nbsp;<i class="ion-arrow-right-b"></i>&nbsp;{{videoDynamicTime}} ({{humanizeTime}}) [{{d_eventId}}] <span class="events-range-modal-warning-text">{{eventWarning}}</span> </div>
- <div id="flyoutmenu" style="position:absolute;bottom:100px;left:10px">
- <ul>
- <li>
- <a href="" ng-click="toggleListMenu()"> <i ng-class="(isToggleListMenu) ? 'icon ion-chevron-left': 'icon ion-chevron-right'"></i></a>
- </li>
- <li ng-if="defaultVideo=='' && isToggleListMenu" ng-style="{'background-color': loginData.gapless?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}">
- <a href="" ng-click="toggleGapless()"> <i class="ion-ios-loop-strong"></i>-{{loginData.gapless? ('kOn' | translate): ('kOff' | translate)}}</a>
- </li>
- <li ng-if="defaultVideo=='' && isToggleListMenu">
- <a href="" ng-click="saveEventImageToPhoneWithPerms(false)"> <i class="ion-ios-camera"></i></a>
- </li>
- <li ng-if="defaultVideo=='' && isToggleListMenu">
- <a href="" ng-click="saveEventImageToPhoneWithPerms(true)"> <i class="ion-android-notifications"></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>
-
- <li>
- <a href="" ng-click="deleteAndMoveNext(eventId)"><i class="ion-trash-a"></i></a>
- </li>
-
-
-
- </ul>
</div>
- </div> <!-- not live feed or snapshot -->
+
+ <div ng-if="checkEventOn" id="event_slider" data-tap-disabled="false">
+ <div class="range">
+ <input on-drag="enableSliderBlock()" on-release="youChangedSlider()" type="range" min="0" max="{{currentEventDuration}}"
+ ng-model="sliderProgress.progress">
+ </div>
+ </div>
+ <div id="event_rate_text">
+ @{{currentRate}}x {{'kAt' | translate}}:{{currentProgress.progress}}s
+ </div>
+ </div>
+
+
+
+ </ion-content>
+ </ion-modal-view>
+
+
+
+ <div ng-show="!liveFeedMid">
+ <nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse'|translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up"
+ toggling-method="click">
+ <a mfb-button icon="ion-arrow-right-c" label="{{'kNextEvent'|translate}}" ng-click="jumpToEvent(nextId,1);"></a>
+ <a mfb-button icon="ion-arrow-left-c" label="{{'kPrevEvent'|translate}}" ng-click="jumpToEvent(prevId,-1);"></a>
+ <a ng-if="!isSnapShot()" mfb-button icon="ion-arrow-resize" label="{{imageFit? ('kFillScreen' | translate):('kFitScreen' | translate)}}"
+ ng-click="scaleImage();"></a>
+ <a mfb-button icon="ion-close" label="{{'kExitEventView' | translate}}" ng-click="closeModal()"> </a>
+ </nav>
+ <nav ng-if=" !isSnapShot() && defaultVideo==''" mfb-menu position="tr" effect="zoomin" label="{{'kCollapse' | translate}}"
+ active-icon="ion-chevron-up" resting-icon="ion-chevron-down" toggling-method="click">
+ <a mfb-button icon="ion-skip-backward" label="{{'kFastRewind'|translate}}" ng-click="adjustSpeed('fr');"></a>
+ <a mfb-button icon="ion-skip-forward" label="{{'kFastForward'|translate}}" ng-click="adjustSpeed('ff');"></a>
+ <a mfb-button icon="ion-play" label="{{'kNormalPlay'|translate}}" ng-click="adjustSpeed('np');"></a>
+ <a mfb-button icon="ion-pause" label="{{'kPause'|translate}}" ng-click="adjustSpeed('p');"> </a>
+ </nav>
+
+ <div class="events-range-modal-text">{{mName}}&nbsp;
+ <i class="ion-arrow-right-b"></i>&nbsp;{{videoDynamicTime}} ({{humanizeTime}}) [{{d_eventId}}]
+ <span class="events-range-modal-warning-text">{{eventWarning}}</span>
+ </div>
+ <div id="flyoutmenu" style="position:absolute;bottom:100px;left:10px">
+ <ul>
+ <li>
+ <a href="" ng-click="toggleListMenu()">
+ <i ng-class="(isToggleListMenu) ? 'icon ion-chevron-left': 'icon ion-chevron-right'"></i>
+ </a>
+ </li>
+ <li ng-if="defaultVideo=='' && isToggleListMenu" ng-style="{'background-color': loginData.gapless?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}">
+ <a href="" ng-click="toggleGapless()">
+ <i class="ion-ios-loop-strong"></i>-{{loginData.gapless? ('kOn' | translate): ('kOff' | translate)}}</a>
+ </li>
+ <li ng-if="defaultVideo=='' && isToggleListMenu">
+ <a href="" ng-click="saveEventImageToPhoneWithPerms(false)">
+ <i class="ion-ios-camera"></i>
+ </a>
+ </li>
+ <li ng-if="defaultVideo=='' && isToggleListMenu">
+ <a href="" ng-click="saveEventImageToPhoneWithPerms(true)">
+ <i class="ion-android-notifications"></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>
+
+ <li>
+ <a href="" ng-click="deleteAndMoveNext(eventId)">
+ <i class="ion-trash-a"></i>
+ </a>
+ </li>
+
+
+
+ </ul>
+ </div>
+ </div>
+ <!-- not live feed or snapshot -->
</div>
diff --git a/www/templates/events-modalgraph.html b/www/templates/events-modalgraph.html
index 25b38543..75f2ec15 100644
--- a/www/templates/events-modalgraph.html
+++ b/www/templates/events-modalgraph.html
@@ -1,9 +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-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>
- </ion-content>
- </ion-modal-view>
+ <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>
+ </ion-content>
+ </ion-modal-view>
</div>
diff --git a/www/templates/events-popover.html b/www/templates/events-popover.html
index 43c3ee88..5c7e7c15 100644
--- a/www/templates/events-popover.html
+++ b/www/templates/events-popover.html
@@ -1,15 +1,15 @@
<ion-popover-view class="fit">
- <ion-content>
- <div class="list" ng-click="popover.hide()">
- <a class="item" ng-href="" ng-click="popover.hide();$state.go('app.events-date-time-filter');">{{'kFilterByDateTime' | translate}}</a>
- <!-- <a class="item" ng-href="" ng-click=" popover.hide();$state.go('events-graphs');" >
+ <ion-content>
+ <div class="list" ng-click="popover.hide()">
+ <a class="item" ng-href="" ng-click="popover.hide();$state.go('app.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>
+ <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>
diff --git a/www/templates/events.html b/www/templates/events.html
index a07d98a1..6167603e 100644
--- a/www/templates/events.html
+++ b/www/templates/events.html
@@ -44,32 +44,32 @@
depending on the cause of the event -->
<span ng-switch on="event.Event.Cause">
<span ng-switch-when="Motion">
- <i class="ion-android-walk" style="font-size:150%;" ></i>&nbsp;
- <!-- <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 class="ion-android-walk" style="font-size:150%;"></i>&nbsp;
+ <!-- <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>-->
+
</span>
<span ng-switch-when="Signal">
- <i class="ion-wifi" style="font-size:150%;" ></i>&nbsp;
+ <i class="ion-wifi" style="font-size:150%;"></i>&nbsp;
<!--<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>-->
-
+
</span>
<span ng-switch-default>
<i class="ion-ionic" style="font-size:150%;"></i>&nbsp;
-
-
+
+
</span>
</span>
<!-- ng switch -->
<!-- {{event.Event.Cause}} -->
-
-
-
- <!-- col col left-->
-
- <b>
- <i ng-if="event.Event.Archived=='1'" class="ion-ios-flag" style="color:red">&nbsp;</i>{{event.Event.MonitorName}}</b>
- <span ng-if="!loginData.enableThumbs">({{event.Event.Id}})</span> &nbsp;
- <br/>
+
+
+
+ <!-- col col left-->
+
+ <b>
+ <i ng-if="event.Event.Archived=='1'" class="ion-ios-flag" style="color:red">&nbsp;</i>{{event.Event.MonitorName}}</b>
+ <span ng-if="!loginData.enableThumbs">({{event.Event.Id}})</span> &nbsp;
+ <br/>
<i class="ion-images"></i> {{event.Event.Frames}} &nbsp;
<i class="ion-ios-bell-outline"></i> {{event.Event.AlarmFrames}} &nbsp;
@@ -90,22 +90,21 @@
</button>
<!--<i class="ion-arrow-graph-up-right"></i> {{event.Event.TotScore}}-->
- </div>
+ </div>
- <div class="col col-40" align="right" ng-if="loginData.enableThumbs">
- <!-- thumbnail -->
-
- <!-- ng-image-appear transition-duration="0.5s" animation="fillIn" bg-color="#50a4e2" {{event.Event.thumbWidth}}X{{event.Event.thumbHeight}}-->
- <div style="max-height:200px; max-width:200px">
- <img ng-image-appear transition-duration="0.3s" animation="fillIn" bg-color="#6C7A89"
- ng-src="{{constructThumbnail(event)}}" on-tap="closeIfOpen(event);openModalWithSnapshot(event)" width="100%"
- height="100%" />
- <!--<p>{{event.Event.thumbWidth}}px*{{event.Event.thumbHeight}}px</p>-->
- </div>
+ <div class="col col-40" align="right" ng-if="loginData.enableThumbs">
+ <!-- thumbnail -->
+ <!-- ng-image-appear transition-duration="0.5s" animation="fillIn" bg-color="#50a4e2" {{event.Event.thumbWidth}}X{{event.Event.thumbHeight}}-->
+ <div style="max-height:200px; max-width:200px">
+ <img ng-image-appear transition-duration="0.3s" animation="fillIn" bg-color="#6C7A89" ng-src="{{constructThumbnail(event)}}"
+ on-tap="closeIfOpen(event);openModalWithSnapshot(event)" width="100%" height="100%" />
+ <!--<p>{{event.Event.thumbWidth}}px*{{event.Event.thumbHeight}}px</p>-->
</div>
-
+
+ </div>
+
</div>
<!--row-->
<div class="row" style="font-size:80%; color:rgb(110,110,110)">
diff --git a/www/templates/eventserversettings.html b/www/templates/eventserversettings.html
index 1eff634b..602f8ca4 100644
--- a/www/templates/eventserversettings.html
+++ b/www/templates/eventserversettings.html
@@ -1,55 +1,57 @@
<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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
- <div class="list list-inset">
- {{'kEventServerConfig1' | translate }}
- </div>
- <ion-checkbox ng-model="loginData.isUseEventServer">{{'kUseEventServer' | translate}}</ion-checkbox>
- <ion-item ng-href="" ng-click="selectScreen()">
- {{'kOnTapNavigate' | translate}}: {{defScreen}}
+ <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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+ <div class="list list-inset">
+ {{'kEventServerConfig1' | translate }}
+ </div>
+ <ion-checkbox ng-model="loginData.isUseEventServer">{{'kUseEventServer' | translate}}</ion-checkbox>
+ <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="{{'kEventNotificationUrl' | translate}}"
+ ng-model="loginData.eventServer">
+ </label>
+ <ion-toggle ng-if="loginData.isUseEventServer" ng-model="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" toggle-class="toggle-calm">{{'kVibrateOnPush'| translate }}</ion-toggle>
+ <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.soundOnPush" toggle-class="toggle-calm" class="item-text-wrap">{{'kSoundOnPush'| translate }}</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>
- <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="{{'kEventNotificationUrl' | translate}}" ng-model="loginData.eventServer">
- </label>
- <ion-toggle ng-if="loginData.isUseEventServer" ng-model="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" toggle-class="toggle-calm">{{'kVibrateOnPush'| translate }}</ion-toggle>
- <ion-toggle ng-if="loginData.isUseEventServer" ng-model="loginData.soundOnPush" toggle-class="toggle-calm" class="item-text-wrap">{{'kSoundOnPush'| translate }}</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">
-
- {{'kReportEvents' | translate }}
- <label class="checkbox">
- <input type="checkbox" ng-model="monitor.Monitor.isChecked" >
- </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="{{'kSec' | translate}}" ng-model="monitor.Monitor.reportingInterval">
- </label>
- &nbsp;{{'kMinimumIntervals' | translate}}
- </div>
- </ion-item>
- </div>
- </ion-list>
- </ion-content>
+ <ion-item class="item-accordion" ng-show="isGroupShown(monitor)">
+ <span class="item-checkbox">
+
+ {{'kReportEvents' | translate }}
+ <label class="checkbox">
+ <input type="checkbox" ng-model="monitor.Monitor.isChecked">
+ </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="{{'kSec' | translate}}" 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 884fb0c9..aa1475bf 100644
--- a/www/templates/first-use.html
+++ b/www/templates/first-use.html
@@ -1,38 +1,39 @@
<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>
- <br/>
- <br/>
- <div id="responsive-image">
- <img src="img/authlogo.png">
- </div>
- <br/>
- <span style="color:white">
- <h2 style="color:white" >Hi There!</h2>
- <br/>
- <h4 style="color:white">{{'kThanksForUsing' | translate}} {{$root.appName}}. <br/><br/>
- {{'kNeedToKnow' | translate}}
- </h4>
- <br/>
-
- </span>
- <br/>
- <div id="firstuse">
- <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()">
- {{'kExpert' | translate }}
- </button>
- <br/>
- <center>
- <button class="button button-clear icon icon-left ion-android-globe white-button-text animated bounceInUp" ng-click="switchLang()">
- {{'kLanguage' | translate}}
- </button>
- </center>
- </div>
- </center>
+ <ion-content class="pin-background">
+ <div style="margin-left:20px; margin-right:20px">
+ <center>
+ <br/>
+ <br/>
+ <div id="responsive-image">
+ <img src="img/authlogo.png">
</div>
- </ion-content>
+ <br/>
+ <span style="color:white">
+ <h2 style="color:white">Hi There!</h2>
+ <br/>
+ <h4 style="color:white">{{'kThanksForUsing' | translate}} {{$root.appName}}.
+ <br/>
+ <br/> {{'kNeedToKnow' | translate}}
+ </h4>
+ <br/>
+
+ </span>
+ <br/>
+ <div id="firstuse">
+ <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()">
+ {{'kExpert' | translate }}
+ </button>
+ <br/>
+ <center>
+ <button class="button button-clear icon icon-left ion-android-globe white-button-text animated bounceInUp" ng-click="switchLang()">
+ {{'kLanguage' | translate}}
+ </button>
+ </center>
+ </div>
+ </center>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/help.html b/www/templates/help.html
index e9a9876b..8a497c5e 100644
--- a/www/templates/help.html
+++ b/www/templates/help.html
@@ -1,12 +1,15 @@
<ion-view cache-view="false" view-title="{{'kHelp' | 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 class="padding" 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>
- </ion-content>
+ <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" 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>
+ </ion-content>
</ion-view>
diff --git a/www/templates/image-modal.html b/www/templates/image-modal.html
index 2ac07f40..c1e0e5e6 100644
--- a/www/templates/image-modal.html
+++ b/www/templates/image-modal.html
@@ -3,12 +3,11 @@
<div id="imagecontainer">
- <ion-scroll has-bouncing=false min-zoom=1 zooming="true"
- direction="xy" style="width: 100%;" overflow-scroll="false">
- <img on-double-tap="closeModal();" ng-src="{{thumbnailLarge}}" style="display:block; width:100%;" />
+ <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" style="width: 100%;" overflow-scroll="false">
+ <img on-double-tap="closeModal();" ng-src="{{thumbnailLarge}}" style="display:block; width:100%;" />
</ion-scroll>
- </div>
+ </div>
</ion-content>
</ion-modal-view>
diff --git a/www/templates/important_message.html b/www/templates/important_message.html
index f0fd245e..3838dd76 100644
--- a/www/templates/important_message.html
+++ b/www/templates/important_message.html
@@ -1,34 +1,37 @@
<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">
- <center>
- <br/>
- <br/>
- <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>
- <br/>
- <h4 style="color:white">{{'kImpMsg2' | translate}}</h4>
- <br/>
- {{'kImpMsg3' | translate}} v{{currentVersion}}.<br/> v{{recommendedVersion}} {{'kImpMsg4' | translate}}
- <br/>
- {{'kImpMsg5' | translate}}: <b>v{{currentVersion}}</b><br/>
- {{'kImpMsg6' | translate}}:<b>v{{recommendedVersion}}</b><br/><br/>
-
- <button class="button button-stable animated bounceInUp" ng-click="openMenu()">
- {{'kImpMsg7' | translate}}
- </button>
-
-
- </span>
- </center>
- <br/>
+ <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">
+ <center>
+ <br/>
+ <br/>
+ <div id="responsive-image">
+ <img src="img/authlogo.png">
</div>
- </ion-content>
+ <br/>
+ <span style="color:white">
+ <h2 style="color:white" class="animated bounce">{{'kImpMsg1' | translate}}</h2>
+ <br/>
+ <h4 style="color:white">{{'kImpMsg2' | translate}}</h4>
+ <br/> {{'kImpMsg3' | translate}} v{{currentVersion}}.
+ <br/> v{{recommendedVersion}} {{'kImpMsg4' | translate}}
+ <br/> {{'kImpMsg5' | translate}}:
+ <b>v{{currentVersion}}</b>
+ <br/> {{'kImpMsg6' | translate}}:
+ <b>v{{recommendedVersion}}</b>
+ <br/>
+ <br/>
+
+ <button class="button button-stable animated bounceInUp" ng-click="openMenu()">
+ {{'kImpMsg7' | translate}}
+ </button>
+
+
+ </span>
+ </center>
+ <br/>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/invalidapi.html b/www/templates/invalidapi.html
index af3a6977..032a8693 100644
--- a/www/templates/invalidapi.html
+++ b/www/templates/invalidapi.html
@@ -1,30 +1,31 @@
<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">
- <center>
- <br/>
- <br/>
- <div id="responsive-image">
- <img src="img/authlogo.png">
- </div>
- <br/>
- <span style="color:white">
- <h2 style="color:white" class="animated bounce">{{'kInvalidAPIHeader' | translate}}</h2>
- <br/>
- <h4 style="color:white">{{'kInvalidAPIBody' | translate}}</h4>
-
- <br/><br/>
-
- <button class="button button-stable animated bounceInUp" ng-click="readFAQ()">
- {{'kInvalidAPIRead' | translate}}</button>
-
-
- </span>
- </center>
- <br/>
+ <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">
+ <center>
+ <br/>
+ <br/>
+ <div id="responsive-image">
+ <img src="img/authlogo.png">
</div>
- </ion-content>
+ <br/>
+ <span style="color:white">
+ <h2 style="color:white" class="animated bounce">{{'kInvalidAPIHeader' | translate}}</h2>
+ <br/>
+ <h4 style="color:white">{{'kInvalidAPIBody' | translate}}</h4>
+
+ <br/>
+ <br/>
+
+ <button class="button button-stable animated bounceInUp" ng-click="readFAQ()">
+ {{'kInvalidAPIRead' | translate}}</button>
+
+
+ </span>
+ </center>
+ <br/>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/log.html b/www/templates/log.html
index 144ada6a..e505bda1 100644
--- a/www/templates/log.html
+++ b/www/templates/log.html
@@ -1,42 +1,45 @@
<ion-view view-title="{{logEntity}} {{'kLogs' | translate}}">
- <ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
-
- &nbsp;<button ng-class="selectOn? 'button button-icon button-clear ion-ios-copy':'button button-icon button-clear ion-ios-copy-outline'" ng-click="selectToggle()"></button>
-
- <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-arrow-swap" ng-href="" ng-click="flipLogs()"></a>
- <a ng-if="logEntity == $root.appName" class="button button-icon icon ion-trash-a" ng-href="" ng-click="deleteLogs()"></a>
- <div ng-if="$root.platformOS!='desktop'">
- <a class="button button-icon icon ion-email" ng-href="" ng-click="sendEmail(log.logString)"> </a>
- </div>
- <div ng-if="$root.platformOS=='desktop'">
- <a class="button button-icon icon ion-android-download" ng-href="" ng-click="sendEmail(log.logString)"> </a>
- </div>
- </ion-nav-buttons>
- <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
-
- <div ng-if="logEntity=='ZoneMinder'">
-
- <button class="button button-small button-stable icon ion-chevron-left" ng-click="changePage(1)">
- </button>
- <button class="button button-small button-stable icon ion-chevron-right" ng-click="changePage(-1)">
- </button>
- </div>
-
- <div ng-if="logEntity==$root.appName">
- <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}} ({{$root.platformOS}})</b>
- </div>
-
- <div ng-if="selectOn" class="aside-1">{{'kLogsCopyPaste' | translate }}</div>
- <div ng-if="logEntity!=$root.appName">
- <b>ZoneMinder</b>
- </div>
-
-
- <br/>
- <!-- don't indent here its a pre-->
- <pre class="selectable" data-tap-disabled="{{selectOn}}">{{log.logString}}</pre>
- </ion-content>
+ <ion-nav-buttons side="left">
+ <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
+
+ &nbsp;
+ <button ng-class="selectOn? 'button button-icon button-clear ion-ios-copy':'button button-icon button-clear ion-ios-copy-outline'"
+ ng-click="selectToggle()"></button>
+
+ <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-arrow-swap" ng-href="" ng-click="flipLogs()"></a>
+ <a ng-if="logEntity == $root.appName" class="button button-icon icon ion-trash-a" ng-href="" ng-click="deleteLogs()"></a>
+ <div ng-if="$root.platformOS!='desktop'">
+ <a class="button button-icon icon ion-email" ng-href="" ng-click="sendEmail(log.logString)"> </a>
+ </div>
+ <div ng-if="$root.platformOS=='desktop'">
+ <a class="button button-icon icon ion-android-download" ng-href="" ng-click="sendEmail(log.logString)"> </a>
+ </div>
+ </ion-nav-buttons>
+ <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+
+ <div ng-if="logEntity=='ZoneMinder'">
+
+ <button class="button button-small button-stable icon ion-chevron-left" ng-click="changePage(1)">
+ </button>
+ <button class="button button-small button-stable icon ion-chevron-right" ng-click="changePage(-1)">
+ </button>
+ </div>
+
+ <div ng-if="logEntity==$root.appName">
+ <b>{{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}} ({{$root.platformOS}})</b>
+ </div>
+
+ <div ng-if="selectOn" class="aside-1">{{'kLogsCopyPaste' | translate }}</div>
+ <div ng-if="logEntity!=$root.appName">
+ <b>ZoneMinder</b>
+ </div>
+
+
+ <br/>
+ <!-- don't indent here its a pre-->
+ <pre class="selectable" data-tap-disabled="{{selectOn}}">{{log.logString}}</pre>
+ </ion-content>
diff --git a/www/templates/login.html b/www/templates/login.html
index cbd5a024..e3c6e6fc 100644
--- a/www/templates/login.html
+++ b/www/templates/login.html
@@ -1,102 +1,110 @@
<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>&nbsp;
- <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()">{{'kSave' | translate}}</button>
- </ion-nav-buttons>
- <ion-content 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>
+ <ion-nav-buttons side="left">
+ <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>&nbsp;
+ <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()">{{'kSave' | translate}}</button>
+ </ion-nav-buttons>
+ <ion-content 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-model="loginData.enableLowBandwidth" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kLowBandwidth'|translate}}</span>
+ </ion-toggle>
+ </label>
+ <label ng-if="loginData.enableLowBandwidth">
+ <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>
+ {{'kZMSettingsFor' | translate}} {{loginData.serverName || ('kUnknown' | translate)}}
+ </span>
+ <p ng-if="$root.platformOS!='desktop'" style="font-size:0.8em; color:gray">{{'kDisableSamsung' | translate}}</p>
+ <div class="item item-text-wrap">
+ <ion-checkbox ng-model="loginData.isUseAuth">{{'kUseZmAuth' | translate }}</ion-checkbox>
+ <div ng-if="loginData.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="{{'kUserName' | translate}}" ng-model="loginData.username">
+ </label>
+ <label class="item item-input item-floating-label">
+ <span class="input-label">{{'kPassword' | translate}}</span>
+ <input type="password" placeholder="{{'kPassword' | translate}}" ng-model="loginData.password">
+ </label>
</div>
- <label>
- <ion-toggle ng-model="loginData.enableLowBandwidth" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kLowBandwidth'|translate}}</span>
- </ion-toggle>
- </label>
- <label ng-if="loginData.enableLowBandwidth">
- <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>
- {{'kZMSettingsFor' | translate}} {{loginData.serverName || ('kUnknown' | translate)}}
- </span>
- <p ng-if="$root.platformOS!='desktop'" style="font-size:0.8em; color:gray">{{'kDisableSamsung' | translate}}</p>
- <div class="item item-text-wrap">
- <ion-checkbox ng-model="loginData.isUseAuth">{{'kUseZmAuth' | translate }}</ion-checkbox>
- <div ng-if="loginData.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="{{'kUserName' | translate}}" ng-model="loginData.username">
- </label>
- <label class="item item-input item-floating-label">
- <span class="input-label">{{'kPassword' | translate}}</span>
- <input type="password" placeholder="{{'kPassword' | translate}}" ng-model="loginData.password">
- </label>
- </div>
- </div>
+ </div>
- <div class="item item-text-wrap">
- <ion-checkbox ng-model="loginData.isUseBasicAuth">{{'kUseBasicAuth' | translate }}</ion-checkbox>
- <div ng-if="loginData.isUseBasicAuth">
- <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="{{'kUserName' | translate}}" ng-model="loginData.basicAuthUser">
- </label>
- <label class="item item-input item-floating-label">
- <span class="input-label">{{'kPassword' | translate}}</span>
- <input type="password" placeholder="{{'kPassword' | translate}}" ng-model="loginData.basicAuthPassword">
- </label>
- </div>
- </div>
+ <div class="item item-text-wrap">
+ <ion-checkbox ng-model="loginData.isUseBasicAuth">{{'kUseBasicAuth' | translate }}</ion-checkbox>
+ <div ng-if="loginData.isUseBasicAuth">
+ <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="{{'kUserName' | translate}}" ng-model="loginData.basicAuthUser">
+ </label>
+ <label class="item item-input item-floating-label">
+ <span class="input-label">{{'kPassword' | translate}}</span>
+ <input type="password" placeholder="{{'kPassword' | translate}}" ng-model="loginData.basicAuthPassword">
+ </label>
+ </div>
+ </div>
- <p ng-if="loginData.isUseBasicAuth" style="font-size:0.8em; color:#e84118">{{'kWarningBasicAuth' | translate}}</p>
+ <p ng-if="loginData.isUseBasicAuth" style="font-size:0.8em; color:#e84118">{{'kWarningBasicAuth' | translate}}</p>
- <label class="item item-input item-floating-label">
- <span class="input-label">{{'kPortalUrl' | translate}}</span>
- <input hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kPortalUrlExample' | translate}}" 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
+ <label class="item item-input item-floating-label">
+ <span class="input-label">{{'kPortalUrl' | translate}}</span>
+ <input hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kPortalUrlExample' | translate}}"
+ 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 hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kPathToCgiExample' | translate}}" ng-model="loginData.streamingurl">
- </label>
- <label class="item item-input item-floating-label">
- <span class="input-label">{{'kApiUrl' | translate}}</span>
- <input hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kApiUrlExample' | translate}}" 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();" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kPassword' | translate}} {{'kProtect'|translate}}</span></ion-toggle>
- </label>
- </div>
-
- <div ng-if="$root.platformOS != 'desktop'">
- <label>
- <ion-toggle ng-model="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>
+ <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 hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kPathToCgiExample' | translate}}"
+ ng-model="loginData.streamingurl">
+ </label>
+ <label class="item item-input item-floating-label">
+ <span class="input-label">{{'kApiUrl' | translate}}</span>
+ <input hidepassword autocapitalize="none" autocomplete="off" autocorrect="off" type="text" placeholder="{{'kApiUrlExample' | translate}}"
+ 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();" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kPassword' | translate}} {{'kProtect'|translate}}</span>
+ </ion-toggle>
+ </label>
+ </div>
+
+ <div ng-if="$root.platformOS != 'desktop'">
+ <label>
+ <ion-toggle ng-model="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>
diff --git a/www/templates/lowversion.html b/www/templates/lowversion.html
index d6b9cb7e..50a3e978 100644
--- a/www/templates/lowversion.html
+++ b/www/templates/lowversion.html
@@ -1,25 +1,27 @@
<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>
- <br/>
- <br/>
- <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>
- <br/>
- <h4 style="color:white">{{'kVersionIncompatible' | translate }}</h4>
- <br/>
- {{'kReportedVersion' | translate}}: <b>{{currentVersion}}</b><br/>
- {{'kMinVersion' | translate}}:<b>{{requiredVersion}}</b><br/>
-
-
- </span>
- <br/>
- </center>
+ <ion-content class="pin-background">
+ <div style="margin-left:20px; margin-right:20px">
+ <center>
+ <br/>
+ <br/>
+ <div id="responsive-image">
+ <img src="img/authlogo.png">
</div>
- </ion-content>
+ <br/>
+ <span style="color:white">
+ <h2 style="color:white" class="animated bounce">{{'kZMUpgradeNeeded' | translate}}</h2>
+ <br/>
+ <h4 style="color:white">{{'kVersionIncompatible' | translate }}</h4>
+ <br/> {{'kReportedVersion' | translate}}:
+ <b>{{currentVersion}}</b>
+ <br/> {{'kMinVersion' | translate}}:
+ <b>{{requiredVersion}}</b>
+ <br/>
+
+
+ </span>
+ <br/>
+ </center>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/menu.html b/www/templates/menu.html
index 5e189029..3b69b544 100644
--- a/www/templates/menu.html
+++ b/www/templates/menu.html
@@ -1,150 +1,153 @@
<div ng-controller="MenuController">
-<ion-side-menus delegate-handle="sideMenu" ng-cloak>
+ <ion-side-menus delegate-handle="sideMenu" ng-cloak>
<ion-side-menu-content>
- <ion-nav-bar class="bar-stable nav-title-slide-ios7">
- <ion-nav-back-button class="button-icon">
- <span class="icon ion-ios7-arrow-left"></span>
- </ion-nav-back-button>
- </ion-nav-bar>
- <ion-nav-view></ion-nav-view>
+ <ion-nav-bar class="bar-stable nav-title-slide-ios7">
+ <ion-nav-back-button class="button-icon">
+ <span class="icon ion-ios7-arrow-left"></span>
+ </ion-nav-back-button>
+ </ion-nav-bar>
+ <ion-nav-view></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu>
- <ion-header-bar class="bar bar-header bar-stable">
- <h1 class="title">{{'kMenuOptions'|translate}}</h1>
- </ion-header-bar>
- <ion-content has-header="true" mouse-wheel-scroll>
- <!-- <ion-scroll scrollbar-y="false" style="height:100%" >-->
- <ion-list>
- <!--<ion-item ng-click="navigateView('app.montage')" menu-close>-->
- <ion-item href="#/app/montage" menu-close>
-
- <!--<span ng-if="$root.runMode=='lowbw'" style="float:right;margin-top:-18px;background-color:#f1c40f;color:#000;font-size:11px;opacity:0.7;width:20px;border-radius: 0px 0px 5px 5px;display:inline-block;text-align:center;">&nbsp;<i class="icon ion-arrow-graph-down-left"></i>&nbsp;</span>-->
- <span class=" item-icon-left">
- <i class="icon ion-grid"></i>
- </span>{{'kMenuMontage'|translate}}
- </ion-item>
-
- <!--<ion-item ng-click="navigateView('app.timeline')" menu-close>-->
- <ion-item href="#/app/timeline" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-android-time"></i>
- </span>{{'kMenuTimeline'|translate}}
- </ion-item>
-
- <!--<ion-item ng-click="navigateView('app.events', {id:0,playEvent:false})" menu-close>-->
- <ion-item href="#/app/events/0/false" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-ios-calendar-outline"></i>
- </span>{{'kMenuEvents'|translate}}
- </ion-item>
-
- <!--<ion-item ng-click="navigateView('app.moment')" menu-close>-->
- <ion-item href="#/app/moment" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-star"></i>
- </span>{{'kMoment24Heading'|translate}}
- </ion-item>
-
- <!-- <ion-item ng-click="navigateView('app.montage-history')" menu-close>-->
- <ion-item href="#/app/montage-history" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-ios-keypad-outline"></i>
- </span>{{'kMenuEventMontage'|translate}}
- </ion-item>
-
-
- <!--<ion-item ng-click="navigateView('app.monitors')" menu-close>-->
- <ion-item href="#/app/monitors" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-ios-videocam-outline"></i>
- </span>{{'kMenuMonitors'|translate}}
- </ion-item>
-
- <!--<ion-item ng-click="navigateView('app.state')" menu-close>-->
- <ion-item href="#/app/state" menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-information-circled"></i>
- </span> {{'kMenuSystemStatus'|translate}}
- </ion-item>
-
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.login', {wizard:false})" >-->
- <ion-item nav-clear menu-close href="#/app/login/false">
- <span class=" item-icon-left">
- <i class="icon ion-person"></i>
- {{'kMenuZMSettings'|translate}}
- <!--<span class="item-note" style="width:90px">
+ <ion-header-bar class="bar bar-header bar-stable">
+ <h1 class="title">{{'kMenuOptions'|translate}}</h1>
+ </ion-header-bar>
+ <ion-content has-header="true" mouse-wheel-scroll>
+ <!-- <ion-scroll scrollbar-y="false" style="height:100%" >-->
+ <ion-list>
+ <!--<ion-item ng-click="navigateView('app.montage')" menu-close>-->
+ <ion-item href="#/app/montage" menu-close>
+
+ <!--<span ng-if="$root.runMode=='lowbw'" style="float:right;margin-top:-18px;background-color:#f1c40f;color:#000;font-size:11px;opacity:0.7;width:20px;border-radius: 0px 0px 5px 5px;display:inline-block;text-align:center;">&nbsp;<i class="icon ion-arrow-graph-down-left"></i>&nbsp;</span>-->
+ <span class=" item-icon-left">
+ <i class="icon ion-grid"></i>
+ </span>{{'kMenuMontage'|translate}}
+ </ion-item>
+
+ <!--<ion-item ng-click="navigateView('app.timeline')" menu-close>-->
+ <ion-item href="#/app/timeline" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-android-time"></i>
+ </span>{{'kMenuTimeline'|translate}}
+ </ion-item>
+
+ <!--<ion-item ng-click="navigateView('app.events', {id:0,playEvent:false})" menu-close>-->
+ <ion-item href="#/app/events/0/false" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-ios-calendar-outline"></i>
+ </span>{{'kMenuEvents'|translate}}
+ </ion-item>
+
+ <!--<ion-item ng-click="navigateView('app.moment')" menu-close>-->
+ <ion-item href="#/app/moment" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-star"></i>
+ </span>{{'kMoment24Heading'|translate}}
+ </ion-item>
+
+ <!-- <ion-item ng-click="navigateView('app.montage-history')" menu-close>-->
+ <ion-item href="#/app/montage-history" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-ios-keypad-outline"></i>
+ </span>{{'kMenuEventMontage'|translate}}
+ </ion-item>
+
+
+ <!--<ion-item ng-click="navigateView('app.monitors')" menu-close>-->
+ <ion-item href="#/app/monitors" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-ios-videocam-outline"></i>
+ </span>{{'kMenuMonitors'|translate}}
+ </ion-item>
+
+ <!--<ion-item ng-click="navigateView('app.state')" menu-close>-->
+ <ion-item href="#/app/state" menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-information-circled"></i>
+ </span> {{'kMenuSystemStatus'|translate}}
+ </ion-item>
+
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.login', {wizard:false})" >-->
+ <ion-item nav-clear menu-close href="#/app/login/false">
+ <span class=" item-icon-left">
+ <i class="icon ion-person"></i>
+ {{'kMenuZMSettings'|translate}}
+ <!--<span class="item-note" style="width:90px">
{{$root.getProfileName();}}
</span>-->
- <span style="float:right; margin-top:-18px;background-color:#444444;color:#fff;font-size:11px;opacity:0.7;width:90px;border-radius: 0px 0px 5px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:center;">&nbsp;{{$root.getProfileName();}}&nbsp;</span>
- </span>
- </ion-item>
-
- <ion-item nav-clear menu-close href="#/app/devoptions">
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.devoptions')">-->
- <span class=" item-icon-left">
- <i class="icon ion-settings"></i>
- </span> {{'kMenuDevSettings'|translate}}
- </ion-item>
-
- <ion-item ng-click="switchLang()" nav-clear menu-close>
- <span class=" item-icon-left">
- <i class="icon ion-earth"></i>
- </span> {{'kLanguage'|translate}}
- </ion-item>
-
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.help')" >-->
- <ion-item nav-clear menu-close href="#/app/help">
- <span class=" item-icon-left">
- <i class="icon ion-help"></i>
- </span> {{'kMenuHelp'|translate}}
- </ion-item>
-
-
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.wizard')" >-->
- <ion-item nav-clear menu-close href="#/app/wizard">
- <span class=" item-icon-left">
- <i class="icon ion-wand"></i>
- </span> {{'kMenuWizard'|translate}}
- </ion-item>
-
- <div ng-if="$root.showBlog">
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.news')" >-->
- <ion-item nav-clear menu-close href="#/app/news">
- <span class=" item-icon-left">
- <i class="icon ion-radio-waves"></i>
- </span>{{'kMenuNews'|translate}}<span style="color:#268d3a;"> {{$root.newBlogPost}}</span>
- </ion-item>
- </div>
-
- <!--<ion-item nav-clear menu-close ng-click="navigateView('app.log')" >-->
- <ion-item nav-clear menu-close href="#/app/log">
- <span class=" item-icon-left">
- <i class="icon ion-clipboard"></i>
- </span> {{'kMenuLogs'|translate}}
- </ion-item>
-
- <div ng-if="$root.newVersionAvailable && $root.platformOS=='desktop'">
- <ion-item nav-clear menu-close href="">
- <span class=" item-icon-left">
- <i class="icon ion-email-unread"></i>
- </span> <span style="color:#268d3a;">{{$root.newVersionAvailable}}</span>
- </ion-item>
- </div>
- <div ng-if="$root.platformOS=='android'">
- <ion-item ng-click="$root.exitApp();">
- <span class=" item-icon-left">
- <i class="icon ion-close-circled"></i>
- </span> {{'kMenuExit'|translate}}
- </ion-item>
- </div>
- <ion-item style="color:rgb(106, 106, 106); font-size:90%;">
- <i class="ion-ios-location"></i> {{$root.getLocalTimeZone();}}
- <br/>
- <span ng-if="$root.isTzSupported()"><i class="icon icon-server"></i> {{$root.getServerTimeZoneNow();}} </span>
- </ion-item>
- </ion-list>
- <!--</ion-scroll>-->
- </ion-content>
+ <span style="float:right; margin-top:-18px;background-color:#444444;color:#fff;font-size:11px;opacity:0.7;width:90px;border-radius: 0px 0px 5px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:center;">&nbsp;{{$root.getProfileName();}}&nbsp;</span>
+ </span>
+ </ion-item>
+
+ <ion-item nav-clear menu-close href="#/app/devoptions">
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.devoptions')">-->
+ <span class=" item-icon-left">
+ <i class="icon ion-settings"></i>
+ </span> {{'kMenuDevSettings'|translate}}
+ </ion-item>
+
+ <ion-item ng-click="switchLang()" nav-clear menu-close>
+ <span class=" item-icon-left">
+ <i class="icon ion-earth"></i>
+ </span> {{'kLanguage'|translate}}
+ </ion-item>
+
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.help')" >-->
+ <ion-item nav-clear menu-close href="#/app/help">
+ <span class=" item-icon-left">
+ <i class="icon ion-help"></i>
+ </span> {{'kMenuHelp'|translate}}
+ </ion-item>
+
+
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.wizard')" >-->
+ <ion-item nav-clear menu-close href="#/app/wizard">
+ <span class=" item-icon-left">
+ <i class="icon ion-wand"></i>
+ </span> {{'kMenuWizard'|translate}}
+ </ion-item>
+
+ <div ng-if="$root.showBlog">
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.news')" >-->
+ <ion-item nav-clear menu-close href="#/app/news">
+ <span class=" item-icon-left">
+ <i class="icon ion-radio-waves"></i>
+ </span>{{'kMenuNews'|translate}}
+ <span style="color:#268d3a;"> {{$root.newBlogPost}}</span>
+ </ion-item>
+ </div>
+
+ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.log')" >-->
+ <ion-item nav-clear menu-close href="#/app/log">
+ <span class=" item-icon-left">
+ <i class="icon ion-clipboard"></i>
+ </span> {{'kMenuLogs'|translate}}
+ </ion-item>
+
+ <div ng-if="$root.newVersionAvailable && $root.platformOS=='desktop'">
+ <ion-item nav-clear menu-close href="">
+ <span class=" item-icon-left">
+ <i class="icon ion-email-unread"></i>
+ </span>
+ <span style="color:#268d3a;">{{$root.newVersionAvailable}}</span>
+ </ion-item>
+ </div>
+ <div ng-if="$root.platformOS=='android'">
+ <ion-item ng-click="$root.exitApp();">
+ <span class=" item-icon-left">
+ <i class="icon ion-close-circled"></i>
+ </span> {{'kMenuExit'|translate}}
+ </ion-item>
+ </div>
+ <ion-item style="color:rgb(106, 106, 106); font-size:90%;">
+ <i class="ion-ios-location"></i> {{$root.getLocalTimeZone();}}
+ <br/>
+ <span ng-if="$root.isTzSupported()">
+ <i class="icon icon-server"></i> {{$root.getServerTimeZoneNow();}} </span>
+ </ion-item>
+ </ion-list>
+ <!--</ion-scroll>-->
+ </ion-content>
</ion-side-menu>
-</ion-side-menus>
+ </ion-side-menus>
</div>
diff --git a/www/templates/moment-mask.html b/www/templates/moment-mask.html
index 51657b19..6493e4be 100644
--- a/www/templates/moment-mask.html
+++ b/www/templates/moment-mask.html
@@ -1,24 +1,30 @@
<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="saveMask()"></button>
- <button class="button button-icon icon ion-close" ng-click="cancelMask()"></button>
- </div>
- </ion-header-bar>
- <ion-content>
- <div class="list">
- <span ng-repeat="item in monitors">
-
- <a ng-class="{ 'item item-icon-right' : item.Monitor.listDisplay == 'show', 'item item-icon-right eye-background-red' : item.Monitor.listDisplay!='show' }" ng-click="toggleHide($index)" href="" >
+ <ion-header-bar class="bar-stable">
+ <h1 class="title"></h1>
+ <div class="buttons">
+ <button class="button button-icon icon ion-checkmark" ng-click="saveMask()"></button>
+ <button class="button button-icon icon ion-close" ng-click="cancelMask()"></button>
+ </div>
+ </ion-header-bar>
+ <ion-content>
+ <div class="list">
+ <span ng-repeat="item in monitors">
-
+ <a ng-class="{ 'item item-icon-right' : item.Monitor.listDisplay == 'show', 'item item-icon-right eye-background-red' : item.Monitor.listDisplay!='show' }"
+ ng-click="toggleHide($index)" href="">
- <i ng-class="{'icon ion-eye':item.Monitor.listDisplay=='show','eye-red icon ion-eye-disabled':item.Monitor.listDisplay!='show'}"> </i><h2><span ng-class="{'eye-red':item.Monitor.listDisplay!='show'}">{{item.Monitor.Name}}</span></h2><p>{{'kId' | translate}}:{{item.Monitor.Id}}, {{'kMode' | translate}}:{{item.Monitor.Function}}</p>
-
- </a>
-
- </span>
- </div>
- </ion-content>
+
+
+ <i ng-class="{'icon ion-eye':item.Monitor.listDisplay=='show','eye-red icon ion-eye-disabled':item.Monitor.listDisplay!='show'}">
+ </i>
+ <h2>
+ <span ng-class="{'eye-red':item.Monitor.listDisplay!='show'}">{{item.Monitor.Name}}</span>
+ </h2>
+ <p>{{'kId' | translate}}:{{item.Monitor.Id}}, {{'kMode' | translate}}:{{item.Monitor.Function}}</p>
+
+ </a>
+
+ </span>
+ </div>
+ </ion-content>
</ion-modal-view>
diff --git a/www/templates/moment-popover.html b/www/templates/moment-popover.html
index 6d2f49fc..8cc8cab4 100644
--- a/www/templates/moment-popover.html
+++ b/www/templates/moment-popover.html
@@ -1,18 +1,23 @@
<ion-popover-view class="fit">
- <ion-content>
- <div class="list" ng-click="popover.remove()">
-
- <a class="item" ng-href="" ng-click="popover.remove();getMoments('StartTime');">
- {{'kMomentMenuByTime' | translate}} <i ng-if="::isChecked('kMomentMenuByTime')" class="ion-checkmark"></i>
-
- </a>
+ <ion-content>
+ <div class="list" ng-click="popover.remove()">
- <a class="item" ng-href="" ng-click="popover.remove();getMoments('monitorName');">{{'kMomentMenuByMonitor' | translate}} <i ng-if="::isChecked('kMomentMenuByMonitor')" class="ion-checkmark"></i></a>
+ <a class="item" ng-href="" ng-click="popover.remove();getMoments('StartTime');">
+ {{'kMomentMenuByTime' | translate}}
+ <i ng-if="::isChecked('kMomentMenuByTime')" class="ion-checkmark"></i>
+ </a>
- <a class="item" ng-href="" ng-click="popover.remove();getMoments('MaxScore');">{{'kMomentMenuByScore' | translate}} <i ng-if="::isChecked('kMomentMenuByScore')" class="ion-checkmark"></i></a>
+ <a class="item" ng-href="" ng-click="popover.remove();getMoments('monitorName');">{{'kMomentMenuByMonitor' | translate}}
+ <i ng-if="::isChecked('kMomentMenuByMonitor')" class="ion-checkmark"></i>
+ </a>
-
- </div>
- </ion-content>
+
+ <a class="item" ng-href="" ng-click="popover.remove();getMoments('MaxScore');">{{'kMomentMenuByScore' | translate}}
+ <i ng-if="::isChecked('kMomentMenuByScore')" class="ion-checkmark"></i>
+ </a>
+
+
+ </div>
+ </ion-content>
</ion-popover-view>
diff --git a/www/templates/moment.html b/www/templates/moment.html
index f349bba5..6bc8d5da 100644
--- a/www/templates/moment.html
+++ b/www/templates/moment.html
@@ -1,8 +1,10 @@
<ion-view cache-view="false">
- <ion-nav-title><i class="{{typeIcon}}"></i> {{'kMoment24Heading' | translate}}</ion-nav-title>
+ <ion-nav-title>
+ <i class="{{typeIcon}}"></i> {{'kMoment24Heading' | translate}}</ion-nav-title>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
- &nbsp;<button class="button button-icon button-clear ion-gear-b" ng-click="hideUnhide()"></button>
+ &nbsp;
+ <button class="button button-icon button-clear ion-gear-b" ng-click="hideUnhide()"></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>
@@ -25,10 +27,10 @@
<ion-content delegate-handle="moment-delegate" overflow-scroll="false" mouse-wheel-scroll style="background-color:#444444">
- <div ng-if="areImagesLoading" class="screen-note">&nbsp;{{ 'kArrangingImages' | translate }}...&nbsp;</div>
+ <div ng-if="areImagesLoading" class="screen-note">&nbsp;{{ 'kArrangingImages' | translate }}...&nbsp;</div>
+
+ <div ng-if="!areImagesLoading && !isMaxScoreFramePresent" class="screen-note">&nbsp;{{ 'kApiUpgrade' | translate }}&nbsp;</div>
- <div ng-if="!areImagesLoading && !isMaxScoreFramePresent" class="screen-note">&nbsp;{{ 'kApiUpgrade' | translate }}&nbsp;</div>
-
<div ng-if="isSubMenu">
<br/>
<div id="flyoutmenu" style="float:left">
@@ -49,9 +51,9 @@
</a>
</li>
<li>
- <a href="" ng-click="toggleExpandOrCollapse()">
- <i ng-class="expand ? 'ion-arrow-expand':'ion-arrow-shrink'"></i>
- </a>
+ <a href="" ng-click="toggleExpandOrCollapse()">
+ <i ng-class="expand ? 'ion-arrow-expand':'ion-arrow-shrink'"></i>
+ </a>
</li>
<li>
<a href="" ng-click="toggleIcons()">
@@ -65,17 +67,20 @@
<ul>
<li>
<a href="" ng-click="changeFrom(-1)">
- &nbsp;<i class="ion-chevron-left"></i>&nbsp;
+ &nbsp;
+ <i class="ion-chevron-left"></i>&nbsp;
</a>
</li>
<li>
<a href="" ng-click="getMoments()">
- &nbsp;<i class="ion-location"></i>&nbsp;
+ &nbsp;
+ <i class="ion-location"></i>&nbsp;
</a>
</li>
<li>
<a href="" ng-click="changeFrom(1)">
- &nbsp;<i class="ion-chevron-right"></i>&nbsp;
+ &nbsp;
+ <i class="ion-chevron-right"></i>&nbsp;
</a>
</li>
@@ -99,13 +104,14 @@
<span style="float:right">
<button class="button button-small button-icon icon {{moment.Event.icon}}" ng-click="toggleCollapse(moment.Event.MonitorId, moment.Event.Id)"></button>{{moment.Event.collapseCount}}&nbsp;</span>
</figcaption>
- <img image-spinner-src="{{constructFrame(moment)}}"
- img-spinner-w="{{moment.Event.width}}" img-spinner-h="{{moment.Event.height}}" image-spinner-loader="lines" on-tap="playEvent(moment)" on-swipe-left="showThumbnail(moment.Event.baseURL,moment.Event.MaxScoreFrameId)"
+ <img image-spinner-src="{{constructFrame(moment)}}" img-spinner-w="{{moment.Event.width}}" img-spinner-h="{{moment.Event.height}}"
+ image-spinner-loader="lines" on-tap="playEvent(moment)" on-swipe-left="showThumbnail(moment.Event.baseURL,moment.Event.MaxScoreFrameId)"
/>
- <div ng-if="showIcons" class="normal-subfigcaption" >
- <button ng-class="moment.Event.pinned? 'button button-small button-icon icon ion-ios-flag assertive': 'button button-small button-icon icon ion-pin'" ng-click="togglePin(moment.Event.Id)"></button>
-
+ <div ng-if="showIcons" class="normal-subfigcaption">
+ <button ng-class="moment.Event.pinned? 'button button-small button-icon icon ion-ios-flag assertive': 'button button-small button-icon icon ion-pin'"
+ ng-click="togglePin(moment.Event.Id)"></button>
+
</div>
<!--on-tap="showThumbnail(moment.Event.baseURL,moment.Event.MaxScoreFrameId)"-->
<figcaption ng-if="showIcons" class="normal-figcaption">&nbsp;{{moment.Event.humanizeTime}}
diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html
index 65d70dd4..980e2384 100644
--- a/www/templates/monitors-modal.html
+++ b/www/templates/monitors-modal.html
@@ -10,7 +10,7 @@
<div id="monitorimage" style="height: 100vh;" class="main">
<div ng-if="$root.authSession!='undefined'">
<div ng-if="!animationInProgress">
-
+
<!--<span style="color:white">{{currentStreamMode}}</span>-->
<img id="singlemonitor" style="width:100vw; height:100vh;" image-spinner-loader="lines" image-spinner-src="{{constructSingleStream()}}"
@@ -29,7 +29,7 @@
</ion-scroll>
-
+
<!-- egads, ion-scroll is a bind-on-start directive, so I have to repeat this thanks to zooming = false. Must be a better way -->
<ion-scroll ng-if="isZoneEdit" delegate-handle="imgscroll" has-bouncing=false min-zoom=1 zooming="false" direction="xy" style="width: 100%;"
@@ -90,7 +90,7 @@
</ion-scroll>
<button ng-if="!ptzButtonsShown" class="button {{ptzPresets[0].icon}} button-small {{ptzPresets[0].style}}" style="float:left;margin-right:10px;margin-bottom:10px;"
- ng-click="controlPTZ(monitorId, ptzPresets[0].cmd);">{{ptzPresets[0].name}}</button>
+ ng-click="controlPTZ(monitorId, ptzPresets[0].cmd);">{{ptzPresets[0].name}}</button>
</div>
@@ -158,7 +158,7 @@
</a>
</li>
- <!-- <li ng-if="isToggleListMenu">
+ <!-- <li ng-if="isToggleListMenu">
<a href="" ng-click="toggleZone()">
<i class="icon ion-qr-scanner"></i>
</a>
@@ -183,7 +183,7 @@
</a>
</li>
- <li ng-if="isToggleListMenu" ng-style="{'background-color': isCycle?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}" >
+ <li ng-if="isToggleListMenu" ng-style="{'background-color': isCycle?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}">
<a href="" ng-click="toggleCycle()">
<i class="icon ion-android-bicycle"></i>-{{cycleText}}</a>
</li>
diff --git a/www/templates/monitors.html b/www/templates/monitors.html
index f9b92e86..2bd5d819 100644
--- a/www/templates/monitors.html
+++ b/www/templates/monitors.html
@@ -1,62 +1,64 @@
<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 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>
+ <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 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 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">
+ <i class="icon {{monitor.Monitor.char}}" ng-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>
- <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">
- <i class="icon {{monitor.Monitor.char}}" ng-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 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="#/app/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 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="#/app/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>
- <ion-item ng-show="!monitors.length">
- {{'kNoMonitors' | translate}}
- </ion-item>
- </ion-content>
+ </div>
+ </div>
+ <ion-item ng-show="!monitors.length">
+ {{'kNoMonitors' | translate}}
+ </ion-item>
+ </ion-content>
</ion-view>
diff --git a/www/templates/montage-history.html b/www/templates/montage-history.html
index 67f84630..742aeccc 100644
--- a/www/templates/montage-history.html
+++ b/www/templates/montage-history.html
@@ -12,8 +12,7 @@
<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 has-bouncing="false" style="background-color:#444444" delegate-handle="none" overflow-scroll="false"
- mouse-wheel-scroll>
+ <ion-content 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="!isMultiPort">({{'kChromeMax' | translate}})</div>
</div>
@@ -115,7 +114,7 @@
</div> ({{humanizeTime(datetimeValueFrom.value)}})
</ion-item>
-
+
<div class="row">
<div class="col col-75">
<br/>
diff --git a/www/templates/montage.html b/www/templates/montage.html
index 139799e7..876e1125 100644
--- a/www/templates/montage.html
+++ b/www/templates/montage.html
@@ -1,155 +1,182 @@
-<ion-view cache-view="false" hide-nav-bar="{{minimal}}">
- <ion-nav-title>{{currentProfileName}}</ion-nav-title>
- <ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
- &nbsp;<button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();">&nbsp;
- </button>
- <button class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();">&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>
- <!--
+<ion-view cache-view="false" hide-nav-bar="{{minimal}}">
+ <ion-nav-title>{{currentProfileName}}</ion-nav-title>
+ <ion-nav-buttons side="left">
+ <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
+ &nbsp;
+ <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();">&nbsp;
+ </button>
+ <button class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();">&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 ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false">
-
- <div ng-if="areImagesLoading" class="screen-note">&nbsp;{{ 'kArrangingImages' | translate }}...&nbsp;</div>
-
-
- <div ng-if="!minimal && toggleSubMenu" >
- <!-- this is header -->
- <br/>
- <div id="flyoutmenu" style="float:left">
- <ul>
- <!-- <li>
+ <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 ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false">
+
+ <div ng-if="areImagesLoading" class="screen-note">&nbsp;{{ 'kArrangingImages' | translate }}...&nbsp;</div>
+
+
+ <div ng-if="!minimal && toggleSubMenu">
+ <!-- this is header -->
+ <br/>
+ <div id="flyoutmenu" style="float:left">
+ <ul>
+ <!-- <li>
<a href="" ng-click="killAllImages()"> <i class="ion-ionic"></i></a>
</li>-->
- <li>
- <a href="" ng-click="sliderChanged(1)"> <i class="ion-plus-circled"></i></a>
- </li>
- <li>
- <a href="" ng-click="sliderChanged(-1)"> <i class="ion-minus-circled"></i></a>
- </li>
- <li>
- <a href="" ng-click="squeezeMonitors()"> <i class="ion-android-apps"></i></a>
- </li>
-
- <li ng-style="{'background-color': isCycleOn()?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}" ng-if="!isDragabillyOn">
- <a href="" ng-click="toggleCycle()"> <i class="ion-android-bicycle"></i>:{{getCycleStatus()}}</a>
- </li>
-
- <li ng-if="isDragabillyOn">
- <a href="" ng-click="hideMonitor(monitor.Monitor.Id)"> <i class="ion-close-circled"></i></a>
- </li>
- <li ng-if="isDragabillyOn">
- <a href="" ng-click="toggleStamp()"> <i class="ion-pin"></i></a>
- </li>
-
- </ul>
- </div>
+ <li>
+ <a href="" ng-click="sliderChanged(1)">
+ <i class="ion-plus-circled"></i>
+ </a>
+ </li>
+ <li>
+ <a href="" ng-click="sliderChanged(-1)">
+ <i class="ion-minus-circled"></i>
+ </a>
+ </li>
+ <li>
+ <a href="" ng-click="squeezeMonitors()">
+ <i class="ion-android-apps"></i>
+ </a>
+ </li>
+
+ <li ng-style="{'background-color': isCycleOn()?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}" ng-if="!isDragabillyOn">
+ <a href="" ng-click="toggleCycle()">
+ <i class="ion-android-bicycle"></i>:{{getCycleStatus()}}</a>
+ </li>
+
+ <li ng-if="isDragabillyOn">
+ <a href="" ng-click="hideMonitor(monitor.Monitor.Id)">
+ <i class="ion-close-circled"></i>
+ </a>
+ </li>
+ <li ng-if="isDragabillyOn">
+ <a href="" ng-click="toggleStamp()">
+ <i class="ion-pin"></i>
+ </a>
+ </li>
+
+ </ul>
+ </div>
+
+ <div id="flyoutmenu" style="float:right">
+ <ul>
+ <li>
+ <a href="" ng-click="switchMontageProfile()">
+ <i class="ion-navicon-round"></i>
+ </a>
+ </li>
+
+ <li>
+ <a href="" ng-click="saveMontageProfile()">
+ <i class="ion-heart"></i>
+ </a>
+ </li>
+
+ <li>
+ <a href="" ng-click="deleteMontageProfile()">
+ <i class="ion-trash-a"></i>
+ </a>
+ </li>
+
+
+ </ul>
+ </div>
+ <div style="clear: both;"></div>
+
+ <br/>
+ </div>
+ <!-- now lets draw the montage windows -->
+ <div class="grid" id="mygrid">
+ <div class="grid-sizer grid-item-5"></div>
+ <!-- <span ng-repeat="monitor in MontageMonitors|limitTo: monLimit"
+ ng-if="monitor.Monitor.Function!='None' && monitor.Monitor.Enabled !='0' ">-->
- <div id="flyoutmenu" style="float:right">
- <ul>
- <li>
- <a href="" ng-click="switchMontageProfile()"> <i class="ion-navicon-round"></i></a>
- </li>
- <li>
- <a href="" ng-click="saveMontageProfile()"> <i class="ion-heart"></i></a>
- </li>
- <li>
- <a href="" ng-click="deleteMontageProfile()"> <i class="ion-trash-a"></i></a>
- </li>
-
+ <span ng-repeat="monitor in MontageMonitors | onlyEnabled |limitTo: monLimit">
+ <div class="grid-item grid-item-{{monitor.Monitor.gridScale}} " data-item-id="{{monitor.Monitor.Id}}" data-item-size="{{monitor.Monitor.gridScale}}"
+ data-item-listdisplay="{{monitor.Monitor.listDisplay}} ">
- </ul>
- </div>
- <div style="clear: both;"></div>
+ <!-- <figure>
+ <iframe width="200" height="100" src="https://news.google.com" frameborder="2" ></iframe>
+ </figure>-->
- <br/>
- </div>
- <!-- now lets draw the montage windows -->
- <div class="grid" id="mygrid">
- <div class="grid-sizer grid-item-5"></div>
- <!-- <span ng-repeat="monitor in MontageMonitors|limitTo: monLimit"
- ng-if="monitor.Monitor.Function!='None' && monitor.Monitor.Enabled !='0' ">-->
-
+ <figure class="{{dragBorder}}" ng-show="monitor.Monitor.listDisplay!='noshow'">
+ <!--<div ng-if="!isModalActive" >-->
+ <!--<div ng-if="$root.authSession!='undefined' && !isBackground() && !areImagesLoading">-->
- <span ng-repeat="monitor in MontageMonitors | onlyEnabled |limitTo: monLimit">
- <div class="grid-item grid-item-{{monitor.Monitor.gridScale}} " data-item-id="{{monitor.Monitor.Id}}" data-item-size="{{monitor.Monitor.gridScale}}" data-item-listdisplay="{{monitor.Monitor.listDisplay}} ">
+ <div ng-if="!minimal">
+ <img class="{{monitor.Monitor.selectStyle}}" id="img-{{$index}}" image-spinner-src="{{constructStream(monitor)}}" ng-click="!isDragabillyOn?openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey,monitor):toggleSelectItem(monitor.Monitor.Id);"
+ image-spinner-loader="lines" img-spinner-w="{{monitor.Monitor.Width}}" img-spinner-h="{{monitor.Monitor.Height}}"
+ />
- <!-- <figure>
- <iframe width="200" height="100" src="https://news.google.com" frameborder="2" ></iframe>
- </figure>-->
+ </div>
+
+ <div ng-if="minimal">
+ <img id="img-{{$index}}" image-spinner-src="{{constructStream(monitor)}}" ng-click="!isDragabillyOn?openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey,monitor):toggleSelectItem(monitor.Monitor.Id);"
+ image-spinner-loader="lines" img-spinner-w="{{monitor.Monitor.Width}}" img-spinner-h="{{monitor.Monitor.Height}}"
+ />
+ </div>
- <figure class="{{dragBorder}}" ng-show="monitor.Monitor.listDisplay!='noshow'">
- <!--<div ng-if="!isModalActive" >-->
- <!--<div ng-if="$root.authSession!='undefined' && !isBackground() && !areImagesLoading">-->
-
- <div ng-if = "!minimal" >
- <img class="{{monitor.Monitor.selectStyle}}" id="img-{{$index}}" image-spinner-src="{{constructStream(monitor)}}" ng-click="!isDragabillyOn?openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey,monitor):toggleSelectItem(monitor.Monitor.Id);" image-spinner-loader="lines" img-spinner-w="{{monitor.Monitor.Width}}" img-spinner-h="{{monitor.Monitor.Height}}" />
-
- </div>
- <div ng-if = "minimal">
- <img id="img-{{$index}}" image-spinner-src="{{constructStream(monitor)}}" ng-click="!isDragabillyOn?openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey,monitor):toggleSelectItem(monitor.Monitor.Id);" image-spinner-loader="lines" img-spinner-w="{{monitor.Monitor.Width}}" img-spinner-h="{{monitor.Monitor.Height}}" />
- </div>
-
-
+ <figcaption id="slowpulse" ng-class="monitor.Monitor.isAlarmed==true?'alarmed-figcaption animated infinite flash':'normal-figcaption'">&nbsp;
- <figcaption id="slowpulse" ng-class="monitor.Monitor.isAlarmed==true?'alarmed-figcaption animated infinite flash':'normal-figcaption'" >&nbsp;
-
- <span ng-if="monitor.Monitor.isStamp && isDragabillyOn"><i class="animated infinite flash ion-pin"></i>&nbsp;</span><i class="ion-ios-videocam"></i>&nbsp;
- {{monitor.Monitor.Name}}&nbsp;<i ng-if="$root.runMode!='lowbw'" ng-style="{'color':monitor.Monitor.alarmState}" class="ion-record"></i>&nbsp;
+ <span ng-if="monitor.Monitor.isStamp && isDragabillyOn">
+ <i class="animated infinite flash ion-pin"></i>&nbsp;</span>
+ <i class="ion-ios-videocam"></i>&nbsp; {{monitor.Monitor.Name}}&nbsp;
+ <i ng-if="$root.runMode!='lowbw'" ng-style="{'color':monitor.Monitor.alarmState}" class="ion-record"></i>&nbsp;
- </figcaption>
+ </figcaption>
+
+ </figure>
- </figure>
-
- </div>
- </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 }}
+ </span>
+ <!-- ngrepeat -->
</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)">
- </button>
- <!-- <button mfb-button icon="ion-refresh" label="{{'kRefresh' | translate}}" ng-click="resetSizes();">
+ <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>
+ <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)">
+ </button>
+ <!-- <button mfb-button icon="ion-refresh" label="{{'kRefresh' | translate}}" ng-click="resetSizes();">
</button>-->
- <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/>
+ <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>
diff --git a/www/templates/news.html b/www/templates/news.html
index 98d0af12..2512bb4c 100644
--- a/www/templates/news.html
+++ b/www/templates/news.html
@@ -1,24 +1,25 @@
<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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
-
- <div class="list">
-
- <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}}
- <p>{{post.date}}</p>
-
- </a>
-
- </span>
- <div ng-if="!newsItems.length">
- <ion-item>{{'kLoading' | translate}}...</ion-item>
- </div>
- </div>
- </ion-content>
+ <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 delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
+
+ <div class="list">
+
+ <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}}
+ <p>{{post.date}}</p>
+
+ </a>
+
+ </span>
+ <div ng-if="!newsItems.length">
+ <ion-item>{{'kLoading' | translate}}...</ion-item>
+ </div>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/refresh.html b/www/templates/refresh.html
index e320f99b..d9081ffa 100644
--- a/www/templates/refresh.html
+++ b/www/templates/refresh.html
@@ -1,17 +1,17 @@
<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>
- <br/>
- <br/>
- <br/>
- <span style="color:white">
- <h4 style="color:rgb(156, 156, 156)">{{'kLoading' | translate}}</h2>
-
-
- </span>
- <br/>
- </center>
- </div>
- </ion-content>
+ <ion-content class="pin-background">
+ <div style="margin-left:20px; margin-right:20px">
+ <center>
+ <br/>
+ <br/>
+ <br/>
+ <span style="color:white">
+ <h4 style="color:rgb(156, 156, 156)">{{'kLoading' | translate}}</h2>
+
+
+ </span>
+ <br/>
+ </center>
+ </div>
+ </ion-content>
</ion-view>
diff --git a/www/templates/reorder-modal.html b/www/templates/reorder-modal.html
index 4ed54fb6..d60133d9 100644
--- a/www/templates/reorder-modal.html
+++ b/www/templates/reorder-modal.html
@@ -1,23 +1,29 @@
<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>
- </ion-header-bar>
- <ion-content>
- <div class="list">
- <span ng-repeat="item in copyMontage">
- <a ng-class="{ 'item item-avatar item-icon-right' : item.Monitor.listDisplay == 'show', 'item item-avatar item-icon-right eye-background-red' : item.Monitor.listDisplay!='show' }" ng-click="toggleHide($index)" href="" >
+ <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>
+ </ion-header-bar>
+ <ion-content>
+ <div class="list">
+ <span ng-repeat="item in copyMontage">
+ <a ng-class="{ 'item item-avatar item-icon-right' : item.Monitor.listDisplay == 'show', 'item item-avatar item-icon-right eye-background-red' : item.Monitor.listDisplay!='show' }"
+ ng-click="toggleHide($index)" href="">
- <img src="{{reorderFrame(item)}}" fallback-src />
+ <img src="{{reorderFrame(item)}}" fallback-src />
- <i ng-class="{'icon ion-eye':item.Monitor.listDisplay=='show','eye-red icon ion-eye-disabled':item.Monitor.listDisplay!='show'}"> </i><h2><span ng-class="{'eye-red':item.Monitor.listDisplay!='show'}">{{item.Monitor.Name}}</span></h2><p>{{'kId' | translate}}:{{item.Monitor.Id}}, {{'kMode' | translate}}:{{item.Monitor.Function}}</p>
-
- </a>
-
- </span>
- </div>
- </ion-content>
+ <i ng-class="{'icon ion-eye':item.Monitor.listDisplay=='show','eye-red icon ion-eye-disabled':item.Monitor.listDisplay!='show'}">
+ </i>
+ <h2>
+ <span ng-class="{'eye-red':item.Monitor.listDisplay!='show'}">{{item.Monitor.Name}}</span>
+ </h2>
+ <p>{{'kId' | translate}}:{{item.Monitor.Id}}, {{'kMode' | translate}}:{{item.Monitor.Function}}</p>
+
+ </a>
+
+ </span>
+ </div>
+ </ion-content>
</ion-modal-view>
diff --git a/www/templates/state.html b/www/templates/state.html
index bb41b876..d227bb5b 100644
--- a/www/templates/state.html
+++ b/www/templates/state.html
@@ -1,40 +1,41 @@
<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 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">
- <div class="col col-10">
- <i class="ion-home" style="font-size:150%;"></i>
- </div>
- <div class="col">
- ZoneMinder:
- </div>
+ <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 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">
+ <div class="col col-10">
+ <i class="ion-home" style="font-size:150%;"></i>
+ </div>
+ <div class="col">
+ ZoneMinder:
+ </div>
- <div class="col" ng-style="{'text-align':'right','color':color}">
- {{zmRun}}
- <p>{{customState}}</p>
- </div>
- </div>
- </ion-item>
- <ion-item>
- <div class="row">
- <div class="col col-10">
- <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;">
- {{zmLoad}}
- </div>
- </div>
- </ion-item>
- <!--
+ <div class="col" ng-style="{'text-align':'right','color':color}">
+ {{zmRun}}
+ <p>{{customState}}</p>
+ </div>
+ </div>
+ </ion-item>
+ <ion-item>
+ <div class="row">
+ <div class="col col-10">
+ <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;">
+ {{zmLoad}}
+ </div>
+ </div>
+ </ion-item>
+ <!--
<ion-item>
<div class="row">
<div class="col col-10">
@@ -51,21 +52,21 @@
</div>
</ion-item>
-->
- <ion-item>
- <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 class="row">
- <div class="col text-center">
- <a class="button button-small button-outline button-dark " ng-click="selectCustomState();" href="">{{'kChangeState'|translate}}</a>
- <a class="button button-small button-outline button-dark " ng-click="controlZM('restart');" href="">{{'kRestart' | translate}}</a>
- <a class="button button-small button-outline button-dark" href="" ng-click="controlZM('stop');">{{'kStop' | translate}}</a>
- <a class="button button-small button-outline button-dark" ng-click="controlZM('start');" href="">{{'kStart' | translate}}</a>
- </div>
- </div>
- </div>
- </ion-item>
- </ion-list>
- </ion-content>
+ <ion-item>
+ <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 class="row">
+ <div class="col text-center">
+ <a class="button button-small button-outline button-dark " ng-click="selectCustomState();" href="">{{'kChangeState'|translate}}</a>
+ <a class="button button-small button-outline button-dark " ng-click="controlZM('restart');" href="">{{'kRestart' | translate}}</a>
+ <a class="button button-small button-outline button-dark" href="" ng-click="controlZM('stop');">{{'kStop' | translate}}</a>
+ <a class="button button-small button-outline button-dark" ng-click="controlZM('start');" href="">{{'kStart' | translate}}</a>
+ </div>
+ </div>
+ </div>
+ </ion-item>
+ </ion-list>
+ </ion-content>
</ion-view>
diff --git a/www/templates/timeline-modal.html b/www/templates/timeline-modal.html
index a728541f..64b854ff 100644
--- a/www/templates/timeline-modal.html
+++ b/www/templates/timeline-modal.html
@@ -1,46 +1,50 @@
<!-- 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>
- </div>
- <center>
- <h5>{{'kEvent' | translate}} {{graphType}} {{'kFrames' | translate}} </h5>
- <p>{{'kTimelineMessage' | translate}}</p>
- {{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>
- <div style="height:190px;">
- <!-- <ion-scroll direction="x" class="wide-as-needed">-->
- <span ng-repeat="alarm in alarm_images">
-
-
- <figure style="display:inline-block">
- <figcaption class="smallnote">f:{{alarm.fid}} scr:{{alarm.score}} @ {{alarm.time}}</figcaption>
- <img image-spinner-src="{{constructFrames(event,alarm)}}" style="width: auto; height: auto;max-width: 100%;max-height: 170px" on-tap="showImage(event.Event.baseURL,event.Event.relativePath,alarm.fname, alarm.fid, event.Event.Id, event.Event.imageMode, alarm.id)" image-spinner-loader="lines"/>
-
-
- </figure>
-
- </span>
- <!--</ion-scroll>-->
- </div>
- </div>
-
-
- </ion-content>
-
- <nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse'|translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up" toggling-method="click">
- <a mfb-button icon="ion-close" label="{{'kExit' | translate}}" ng-click="closeModal()"> </a>
-
- </nav>
+ <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>
+ </div>
+ <center>
+ <h5>{{'kEvent' | translate}} {{graphType}} {{'kFrames' | translate}} </h5>
+ <p>{{'kTimelineMessage' | translate}}</p>
+ {{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>
+ <div style="height:190px;">
+ <!-- <ion-scroll direction="x" class="wide-as-needed">-->
+ <span ng-repeat="alarm in alarm_images">
+
+
+ <figure style="display:inline-block">
+ <figcaption class="smallnote">f:{{alarm.fid}} scr:{{alarm.score}} @ {{alarm.time}}</figcaption>
+ <img image-spinner-src="{{constructFrames(event,alarm)}}" style="width: auto; height: auto;max-width: 100%;max-height: 170px"
+ on-tap="showImage(event.Event.baseURL,event.Event.relativePath,alarm.fname, alarm.fid, event.Event.Id, event.Event.imageMode, alarm.id)"
+ image-spinner-loader="lines" />
+
+
+ </figure>
+
+ </span>
+ <!--</ion-scroll>-->
+ </div>
+ </div>
+
+
+ </ion-content>
+
+ <nav mfb-menu position="br" effect="zoomin" label="{{'kCollapse'|translate}}" active-icon="ion-chevron-down" resting-icon="ion-chevron-up"
+ toggling-method="click">
+ <a mfb-button icon="ion-close" label="{{'kExit' | translate}}" ng-click="closeModal()"> </a>
+
+ </nav>
</ion-modal-view>
diff --git a/www/templates/timeline-popover.html b/www/templates/timeline-popover.html
index 373ea09e..b1bd802e 100644
--- a/www/templates/timeline-popover.html
+++ b/www/templates/timeline-popover.html
@@ -1,21 +1,21 @@
<ion-popover-view class="fit">
- <ion-content>
+ <ion-content>
- <div class="list" ng-click="popover.hide()">
-
+ <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();buttonClicked(0);">{{'kMonth' | translate}}</a>
- <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);">
- {{'kCustomRange' | translate}}
- </a>
- </div>
- </ion-content>
+
+ <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();buttonClicked(0);">{{'kMonth' | translate}}</a>
+ <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);">
+ {{'kCustomRange' | translate}}
+ </a>
+ </div>
+ </ion-content>
</ion-popover-view>
diff --git a/www/templates/timeline.html b/www/templates/timeline.html
index 80f83e8a..34847eea 100644
--- a/www/templates/timeline.html
+++ b/www/templates/timeline.html
@@ -38,9 +38,9 @@
<br/>
<div style="padding-left:15px; font-size:10px; color:grey">
- <button ng-click="toggleTap()" class="button button-small button-dark">
- {{'kTimelineTap' | translate}}:{{onTap}}
- </button>
+ <button ng-click="toggleTap()" class="button button-small button-dark">
+ {{'kTimelineTap' | translate}}:{{onTap}}
+ </button>
<button ng-click="toggleFollowTime()" ng-class="follow.time? 'button button-small button-balanced':'button button-small button-assertive'">
{{'kUpdateTimeline' | translate}}:&nbsp;{{follow.time? ('kTrue' | translate) : ('kFalse' | translate)}}
diff --git a/www/templates/wizard.html b/www/templates/wizard.html
index 7c6dc887..c7b3694b 100644
--- a/www/templates/wizard.html
+++ b/www/templates/wizard.html
@@ -1,87 +1,100 @@
<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="{{'kPortalUrlExample' | translate}}" 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" toggle-class="toggle-calm">{{'kWizUseAuth' | translate}}</ion-toggle>
- <ion-toggle ng-show="wizard.useauth" ng-model="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" toggle-class="toggle-calm">{{'kWizBasicAuth' | translate}}<p ng-show="wizard.usebasicauth">{{'kWarningBasicAuth'|translate}}</p></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" ng-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" ng-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" ng-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-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="{{'kPortalUrlExample' | translate}}"
+ 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" toggle-class="toggle-calm">{{'kWizUseAuth' | translate}}</ion-toggle>
+ <ion-toggle ng-show="wizard.useauth" ng-model="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" toggle-class="toggle-calm">{{'kWizBasicAuth' | translate}}
+ <p ng-show="wizard.usebasicauth">{{'kWarningBasicAuth'|translate}}</p>
+ </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" ng-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" ng-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" ng-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>
diff --git a/www/templates/zm-portal-login.html b/www/templates/zm-portal-login.html
index 877dbb97..903ae7c6 100644
--- a/www/templates/zm-portal-login.html
+++ b/www/templates/zm-portal-login.html
@@ -1,26 +1,27 @@
<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/>
- <br/>
- <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>
- </center>
+ <ion-content class="pin-background" scroll="false">
+ <div style="margin-left:20px; margin-right:20px">
+ <center>
+ <br/>
+ <br/>
+ <div id="responsive-image">
+ <img src="img/authlogo.png">
</div>
- </ion-content>
+ <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>
+ </center>
+ </div>
+ </ion-content>
</ion-view>