Initial setup of mycontroller
This commit is contained in:
540
www/partials/settings/settings-metrics.html
Normal file
540
www/partials/settings/settings-metrics.html
Normal file
@@ -0,0 +1,540 @@
|
||||
<!--
|
||||
|
||||
Copyright (C) 2015-2016 Jeeva Kandasamy (jkandasa@gmail.com)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<div class="container mc-top-space-1x">
|
||||
|
||||
<!-- Loading icon disaplay -->
|
||||
<div ng-hide="metricsSettings.$resolved">
|
||||
<div ng-include src="'partials/common-html/loading.html'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="metricsSettings.$resolved"> <!-- Settings -->
|
||||
|
||||
<!-- Units -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div >
|
||||
<ul ng-init="tabSelection='graph'" class="nav nav-tabs nav-tabs-pf">
|
||||
<li ng-class="{'active' : tabSelection==='graph'}"><a ng-click="tabSelection='graph'" href=""><i class="fa fa-area-chart fa-lg"></i> {{ 'GRAPHS_SETTINGS' | translate }}</i></a></li>
|
||||
<li ng-class="{'active' : tabSelection==='engine'}"><a ng-click="tabSelection='engine'" href=""><i class="fa fa-database fa-lg"></i> {{ 'METRIC_ENGINE' | translate }}</i></a></li>
|
||||
<li ng-class="{'active' : tabSelection==='retention'}"><a ng-click="tabSelection='retention'" href=""><i class="fa fa-database fa-lg"></i> {{ 'DATA_RETENTION_SETTINGS' | translate }}</i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div ng-if="tabSelection==='graph'"> <!-- Metrics Graph settings -->
|
||||
<div class="card-pf-body">
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.metrics" ng-click="editEnable.metrics = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.metrics" ng-click="updateSettingsMetrics();editEnable.metrics = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveMetrics()" ng-show="editEnable.metrics" ng-disabled="saveProgress.metrics">
|
||||
<div ng-show="saveProgress.metrics" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.metrics ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
<form class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ENABLE_MIN_MAX' | translate }}</label>
|
||||
<div class="col-sm-10">
|
||||
<input ng-change="editEnable.metrics = true" bs-switch ng-change="updateChart()" ng-model="metricsSettings.enabledMinMax" type="checkbox"
|
||||
switch-animate="true" switch-off-color="default" switch-on-color="primary" switch-size="60px" switch-label-width="5px"
|
||||
ng-true-value="true" ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'DEFAULT_TIME_RANGE' | translate }}</label>
|
||||
<div class="col-sm-10">
|
||||
<select ng-disabled="!editEnable.metrics" pf-select ng-model="metricsSettings.defaultTimeRange">
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="300000">{{ 'LAST_5_MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'LAST_HOUR' | translate }}</option>
|
||||
<option value="21600000">{{ 'LAST_6_HOURS' | translate }}</option>
|
||||
<option value="43200000">{{ 'LAST_12_HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'LAST_DAY' | translate }}</option>
|
||||
<option value="604800000">{{ 'LAST_WEEK' | translate }}</option>
|
||||
<option value="2419200000">{{ 'LAST_MONTH' | translate }}</option>
|
||||
<option value="31536000000">{{ 'LAST_YEAR' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Battery -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'BATTERY' | translate }}</label>
|
||||
<div class="col-sm-3">
|
||||
<select ng-disabled="!editEnable.metrics" pf-select ng-model="metricsSettings.battery.type">
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="lineChart">{{ 'LINE_CHART' | translate }}</option>
|
||||
<option value="historicalBarChart">{{ 'HISTORICAL_BAR_CHART' | translate }}</option>
|
||||
<option value="stackedAreaChart">{{ 'STACKED_AREA_CHART' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<select ng-disabled="!editEnable.metrics" pf-select ng-model="metricsSettings.battery.interpolate">
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="linear">{{ 'LINEAR' | translate }}</option>
|
||||
<option value="basis">{{ 'BASIS' | translate }}</option>
|
||||
<option value="cardinal">{{ 'CARDINAL' | translate }}</option>
|
||||
<option value="monotone">{{ 'MONOTONE' | translate }}</option>
|
||||
<option value="bundle">{{ 'BUNDLE' | translate }}</option>
|
||||
<option value="step-before">{{ 'STEP_BEFORE' | translate }}</option>
|
||||
<option value="step-after">{{ 'STEP_AFTER' | translate }}</option>
|
||||
<option value="basis-open">{{ 'BASIS_OPEN' | translate }}</option>
|
||||
<option value="basis-closed">{{ 'BASIS_CLOSED' | translate }}</option>
|
||||
<option value="cardinal-open">{{ 'CARDINAL_OPEN' | translate }}</option>
|
||||
<option value="cardinal-closed">{{ 'CARDINAL_CLOSED' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<button ng-show="editEnable.metrics" style="background-color:{{metricsSettings.battery.color}};width:70px;color:white;" class="btn btn-sm" colorpicker="hex" colorpicker-position="top" ng-model="metricsSettings.battery.color">{{metricsSettings.battery.color || "-"}}</button>
|
||||
<span ng-hide="editEnable.metrics" style="background-color:{{metricsSettings.battery.color}};width:70px;color:white;" class="btn btn-sm">{{metricsSettings.battery.color}}</span>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="area-{{item.id}}" type="radio" value="line" ng-model="metricsSettings.battery.subType" /> {{ 'LINE' | translate }}
|
||||
</label>
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="area-{{item.id}}" type="radio" value="area" ng-model="metricsSettings.battery.subType" /> {{ 'AREA' | translate }}
|
||||
</label>
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="bar-{{item.id}}"type="radio" value="bar" ng-model="metricsSettings.battery.subType" /> {{ 'BAR' | translate }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<legend>{{ 'INDIVIDUAL_SETTINGS' | translate }}</legend>
|
||||
|
||||
<div ng-repeat="item in metricsSettings.metrics">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{item.metricName}}</label>
|
||||
<div class="col-sm-3">
|
||||
<select ng-disabled="!editEnable.metrics" pf-select ng-model="item.type">
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="lineChart">{{ 'LINE_CHART' | translate }}</option>
|
||||
<option value="historicalBarChart">{{ 'HISTORICAL_BAR_CHART' | translate }}</option>
|
||||
<option value="stackedAreaChart">{{ 'STACKED_AREA_CHART' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<select ng-disabled="!editEnable.metrics" pf-select ng-model="item.interpolate">
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="linear">{{ 'LINEAR' | translate }}</option>
|
||||
<option value="basis">{{ 'BASIS' | translate }}</option>
|
||||
<option value="cardinal">{{ 'CARDINAL' | translate }}</option>
|
||||
<option value="monotone">{{ 'MONOTONE' | translate }}</option>
|
||||
<option value="bundle">{{ 'BUNDLE' | translate }}</option>
|
||||
<option value="step-before">{{ 'STEP_BEFORE' | translate }}</option>
|
||||
<option value="step-after">{{ 'STEP_AFTER' | translate }}</option>
|
||||
<option value="basis-open">{{ 'BASIS_OPEN' | translate }}</option>
|
||||
<option value="basis-closed">{{ 'BASIS_CLOSED' | translate }}</option>
|
||||
<option value="cardinal-open">{{ 'CARDINAL_OPEN' | translate }}</option>
|
||||
<option value="cardinal-closed">{{ 'CARDINAL_CLOSED' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<button ng-show="editEnable.metrics" id="color-{{item.id}}" style="background-color:{{item.color}};width:70px;color:white;" class="btn btn-sm" colorpicker="hex" colorpicker-position="top" ng-model="item.color">{{item.color || "-"}}</button>
|
||||
<span ng-hide="editEnable.metrics" style="background-color:{{item.color}};width:70px;color:white;" class="btn btn-sm">{{item.color}}</span>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="area-{{item.id}}" type="radio" value="line" ng-model="item.subType" /> {{ 'LINE' | translate }}
|
||||
</label>
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="area-{{item.id}}" type="radio" value="area" ng-model="item.subType" /> {{ 'AREA' | translate }}
|
||||
</label>
|
||||
<label class="mc-padding">
|
||||
<input ng-disabled="!editEnable.metrics" id="bar-{{item.id}}"type="radio" value="bar" ng-model="item.subType" /> {{ 'BAR' | translate }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.metrics" ng-click="editEnable.metrics = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.metrics" ng-click="updateSettingsMetrics();editEnable.metrics = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveMetrics()" ng-show="editEnable.metrics" ng-disabled="saveProgress.metrics">
|
||||
<div ng-show="saveProgress.metrics" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.metrics ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Metrics Graph settings -->
|
||||
|
||||
|
||||
<div ng-if="tabSelection==='engine'"> <!-- Metrics engine settings -->
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormEngine">
|
||||
|
||||
<!-- engine type -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TYPE' | translate }}</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control" pf-select ng-disabled="!editEnable.metricsEngine"
|
||||
ng-options="type.id as type.displayName for type in engineTypes | orderBy:'displayName'" ng-model="metricsEngine.type" required >
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Influxdb server -->
|
||||
<div ng-if="metricsEngine.type === 'InfluxDB'">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TRUST_HOST' | translate }}</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control" ng-disabled="!editEnable.metricsEngine"
|
||||
pf-select ng-options="type.id as type.displayName for type in trustHostTypes | orderBy:'displayName'" ng-model="metricsEngine.trustHostType" required >
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'URL' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.url}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'URL' | translate }}" ng-model="metricsEngine.url" pf-validation="cs.isContainsSpace(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NO_SPACE_ALLOWED' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'USERNAME' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.username}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'USERNAME' | translate }}" ng-model="metricsEngine.username" pf-validation="cs.isContainsSpace(input)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'PASSWORD' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.password ? "******" : ""}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input type="password" class="form-control" placeholder="{{ 'PASSWORD' | translate }}" ng-model="metricsEngine.password" pf-validation="cs.isContainsSpace(input)" ng-required="metricsEngine.username"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'DATABASE' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.database}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'DATABASE' | translate }}" ng-model="metricsEngine.database" pf-validation="cs.isContainsSpace(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NO_SPACE_ALLOWED' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- InfluxDb settings -->
|
||||
|
||||
|
||||
<!-- Hawkular server -->
|
||||
<div ng-if="metricsEngine.type === 'Hawkular'">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TRUST_HOST' | translate }}</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control" ng-disabled="!editEnable.metricsEngine"
|
||||
pf-select ng-options="type.id as type.displayName for type in trustHostTypes | orderBy:'displayName'" ng-model="metricsEngine.trustHostType" required >
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'URL' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.url}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'URL' | translate }}" ng-model="metricsEngine.url" pf-validation="cs.isContainsSpace(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NO_SPACE_ALLOWED' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'USERNAME' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.username}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'USERNAME' | translate }}" ng-model="metricsEngine.username" pf-validation="cs.isContainsSpace(input)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'PASSWORD' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.password ? "******" : ""}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input type="password" class="form-control" placeholder="{{ 'PASSWORD' | translate }}" ng-model="metricsEngine.password" pf-validation="cs.isContainsSpace(input)" ng-required="metricsEngine.username"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TENANT' | translate }}</label>
|
||||
<div ng-if="!editEnable.metricsEngine" class="col-sm-8">
|
||||
<div>{{metricsEngine.tenant}}</div>
|
||||
</div>
|
||||
<div class="col-sm-8" ng-show="editEnable.metricsEngine">
|
||||
<input class="form-control" placeholder="{{ 'DATABASE' | translate }}" ng-model="metricsEngine.tenant" pf-validation="cs.isContainsSpace(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NO_SPACE_ALLOWED' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Hawkular settings -->
|
||||
|
||||
<!-- Purge everything -->
|
||||
<div class="form-group" ng-if="editEnable.metricsEngine">
|
||||
<label class="col-sm-2 control-label">{{ 'PURGE_EXISTING_DATA' | translate }}</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="checkbox" ng-model="metricsEngine.purgeEveryThing">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.metricsEngine" ng-click="engineChnageWarning()">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.metricsEngine" ng-click="updateSettingsMetricsEngine();editEnable.metricsEngine = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveMetricsEngine()" ng-show="editEnable.metricsEngine" ng-disabled="saveProgress.metricsEngine || mcFormEngine.$invalid">
|
||||
<div ng-show="saveProgress.metricsEngine" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.metricsEngine ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Metrics engine settings -->
|
||||
|
||||
|
||||
<div ng-if="tabSelection==='retention'"> <!-- Metrics data retention settings -->
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormRetention">
|
||||
<legend>{{ 'DATA' | translate }}: {{ 'DOUBLE' | translate }}, {{ 'COUNTER' | translate }}</legend>
|
||||
<!-- retain raw data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RAW_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'RAW_DATA' | translate }}" ng-model="$parent.rRawData.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rRawData.timestamp}} {{$parent.rRawData.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rRawData.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain one minute data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ONE_MINUTE_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'ONE_MINUTE_DATA' | translate }}" ng-model="$parent.rOneMinute.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rOneMinute.timestamp}} {{$parent.rOneMinute.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rOneMinute.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain five minutes data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'FIVE_MINUTES_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'FIVE_MINUTES_DATA' | translate }}" ng-model="$parent.rFiveMinutes.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rFiveMinutes.timestamp}} {{$parent.rFiveMinutes.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rFiveMinutes.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain one hour data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ONE_HOUR_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'ONE_HOUR_DATA' | translate }}" ng-model="$parent.rOneHour.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rOneHour.timestamp}} {{$parent.rOneHour.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rOneHour.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain six hours data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'SIX_HOURS_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'SIX_HOURS_DATA' | translate }}" ng-model="$parent.rSixHours.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rSixHours.timestamp}} {{$parent.rSixHours.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rSixHours.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain twelve hours data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TWELVE_HOURS_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'TWELVE_HOURS_DATA' | translate }}" ng-model="$parent.rTwelveHours.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rTwelveHours.timestamp}} {{$parent.rTwelveHours.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rTwelveHours.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain twelve hours data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ONE_DAY_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'ONE_DAY_DATA' | translate }}" ng-model="$parent.rOneDay.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rOneDay.timestamp}} {{$parent.rOneDay.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rOneDay.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain binary data -->
|
||||
<legend>{{ 'OTHERS' | translate }}</legend>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'BINARY_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'BINARY_DATA' | translate }}" ng-model="$parent.rBinary.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rBinary.timestamp}} {{$parent.rBinary.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rBinary.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- retain gps data -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'GPS_DATA' | translate }}</label>
|
||||
<div class="col-sm-4" ng-show="editEnable.metricsDataRetention">
|
||||
<input ng-show="editEnable.metricsDataRetention" class="form-control mc-form-fixer" placeholder="{{ 'GPS_DATA' | translate }}" ng-model="$parent.rGPS.timestamp" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div ng-if="!editEnable.metricsDataRetention" class="col-sm-6">
|
||||
<div>{{$parent.rGPS.timestamp}} {{$parent.rGPS.timeConstantString}}</div>
|
||||
</div>
|
||||
<div class="col-sm-2 mc-form-fixer" ng-show="editEnable.metricsDataRetention" >
|
||||
<select class="form-control" pf-select ng-model="$parent.rGPS.timeConstant" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="60000">{{ 'MINUTES' | translate }}</option>
|
||||
<option value="3600000">{{ 'HOURS' | translate }}</option>
|
||||
<option value="86400000">{{ 'DAYS' | translate }}</option>
|
||||
<option value="31536000000">{{ 'YEARS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.metricsDataRetention" ng-click="retentionWarning()">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.metricsDataRetention" ng-click="updateSettingsMetricsRetention();editEnable.metricsDataRetention = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveMetricsRetention()" ng-show="editEnable.metricsDataRetention" ng-disabled="saveProgress.metricsDataRetention || mcFormRetention.$invalid">
|
||||
<div ng-show="saveProgress.metricsDataRetention" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.metricsDataRetention ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Metrics retention settings -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- Settings -->
|
||||
|
||||
</div> <!-- Container -->
|
||||
99
www/partials/settings/settings-mqtt-broker.html
Normal file
99
www/partials/settings/settings-mqtt-broker.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!--
|
||||
|
||||
Copyright (C) 2015-2016 Jeeva Kandasamy (jkandasa@gmail.com)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<div class="container mc-top-space-1x">
|
||||
|
||||
<!-- Loading icon disaplay -->
|
||||
<div ng-hide="mqttBrokerSettings.$resolved">
|
||||
<div ng-include src="'partials/common-html/loading.html'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="mqttBrokerSettings.$resolved"> <!-- Main Message -->
|
||||
|
||||
<!-- MySensors -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-star-o fa-lg"></i> {{ 'MQTT_BROKER' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormMqttBroker">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'STATUS' | translate }}</label>
|
||||
<div class="col-sm-10">
|
||||
<div ng-if="!mqttBrokerSettings.enabledOnBackend" class="text-warning" ng-bind-html="'MQTT_BROKER_DISABLED_BACKEND' | translate"></div>
|
||||
<input ng-if="mqttBrokerSettings.enabledOnBackend" bs-switch ng-change="editEnable.mqttBroker = true" ng-model="mqttBrokerSettings.enabled" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="primary" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ALLOW_ANONYMOUS' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-if="!mqttBrokerSettings.enabledOnBackend">{{ mqttBrokerSettings.allowAnonymous ? 'YES' : 'NO' | translate }}</div>
|
||||
<input ng-if="mqttBrokerSettings.enabledOnBackend" bs-switch ng-change="editEnable.mqttBroker = true" ng-model="mqttBrokerSettings.allowAnonymous" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="danger" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'YES' | translate }}" switch-off-text="{{ 'NO' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'BIND_ADDRESS' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.mqttBroker" class="form-control" ng-model="mqttBrokerSettings.bindAddress" pf-validation="cs.isContainsSpace(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NO_SPACE_ALLOWED' | translate }}</span>
|
||||
<div ng-hide="editEnable.mqttBroker">{{ mqttBrokerSettings.bindAddress }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'MQTT_PORT' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.mqttBroker" class="form-control" ng-model="mqttBrokerSettings.mqttPort" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
<div ng-hide="editEnable.mqttBroker">{{ mqttBrokerSettings.mqttPort }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'WEBSOCKET_PORT' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.mqttBroker" class="form-control" ng-model="mqttBrokerSettings.websocketPort" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
<div ng-hide="editEnable.mqttBroker">{{mqttBrokerSettings.websocketPort}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.mqttBroker" ng-click="editEnable.mqttBroker = true" ng-disabled="!mqttBrokerSettings.enabledOnBackend">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.mqttBroker" ng-click="updateSettingsMqttBroker();editEnable.mqttBroker = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveSettings()" ng-show="editEnable.mqttBroker" ng-disabled="saveProgress.mqttBroker || mcFormMqttBroker.$invalid">
|
||||
<div ng-show="saveProgress.mqttBroker" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.mqttBroker ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- Main Message -->
|
||||
|
||||
</div> <!-- Container -->
|
||||
72
www/partials/settings/settings-mysensors.html
Normal file
72
www/partials/settings/settings-mysensors.html
Normal file
@@ -0,0 +1,72 @@
|
||||
<!--
|
||||
|
||||
Copyright (C) 2015-2016 Jeeva Kandasamy (jkandasa@gmail.com)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<div class="container mc-top-space-1x">
|
||||
|
||||
<!-- Loading icon disaplay -->
|
||||
<div ng-hide="mySensorsSettings.$resolved">
|
||||
<div ng-include src="'partials/common-html/loading.html'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="mySensorsSettings.$resolved"> <!-- Main Message -->
|
||||
|
||||
<!-- MySensors -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-star-o fa-lg"></i> {{ 'MY_SENSORS' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'DEFAULT_FIRMWARE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<span ng-hide="editEnable.mySensors">{{defaultFirmware || 'NOT_SET' | translate }}</span>
|
||||
<div ng-show="editEnable.mySensors">
|
||||
<select class="form-control" pf-select data-live-search="true" ng-options="firmware.id as firmware.displayName for firmware in firmwares" ng-model="mySensorsSettings.defaultFirmware">
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label" uib-tooltip="{{ 'ENABLE_DEFAULT_ON_NO_FIRMWARE_TOOLTIP' | translate }}" tooltip-placement="bottom">{{ 'ENABLE_DEFAULT_ON_NO_FIRMWARE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input bs-switch ng-change="editEnable.mySensors = true" ng-model="mySensorsSettings.enbaledDefaultOnNoFirmware" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="primary" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.mySensors" ng-click="editEnable.mySensors = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.mySensors" ng-click="updateSettingsMySensors();editEnable.mySensors = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveMySensors()" ng-show="editEnable.mySensors" ng-disabled="saveProgress.mySensors">
|
||||
<div ng-show="saveProgress.mySensors" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.mySensors ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- Main Message -->
|
||||
|
||||
</div> <!-- Container -->
|
||||
292
www/partials/settings/settings-notifications.html
Normal file
292
www/partials/settings/settings-notifications.html
Normal file
@@ -0,0 +1,292 @@
|
||||
<!--
|
||||
|
||||
Copyright (C) 2015-2016 Jeeva Kandasamy (jkandasa@gmail.com)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<div class="container mc-top-space-1x">
|
||||
|
||||
<!-- Loading icon disaplay -->
|
||||
<div ng-hide="smsSettings.$resolved">
|
||||
<div ng-include src="'partials/common-html/loading.html'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="smsSettings.$resolved"> <!-- Main Message -->
|
||||
|
||||
<!-- Email settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-envelope-o fa-lg"></i> {{ 'EMAIL' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormEmailNotification">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'SMTP_HOST' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.email" class="form-control" ng-model="emailSettings.smtpHost" required />
|
||||
<span ng-hide="editEnable.email">{{emailSettings.smtpHost}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'SMTP_PORT' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.email" class="form-control" ng-model="emailSettings.smtpPort" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
<div ng-hide="editEnable.email">{{emailSettings.smtpPort}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'FROM_ADDRESS' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.email" class="form-control" ng-model="emailSettings.fromAddress" required />
|
||||
<span ng-hide="editEnable.email">{{emailSettings.fromAddress}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ENABLE_SSL' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input bs-switch ng-change="editEnable.email = true" ng-model="emailSettings.enableSsl" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="primary" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="emailSettings.enableSsl">
|
||||
<label class="col-sm-2 control-label">{{ 'USE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<label class="mc-margin-right"><input ng-disabled="!editEnable.email" type="radio" ng-model="emailSettings.useStartTLS"data-ng-value="false"> SSL</label>
|
||||
<label><input ng-disabled="!editEnable.email" type="radio" ng-model="emailSettings.useStartTLS" data-ng-value="true"> STARTTLS</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'SMTP_USERNAME' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.email" class="form-control" ng-model="emailSettings.smtpUsername"/>
|
||||
<span ng-hide="editEnable.email">{{emailSettings.smtpUsername}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'SMTP_PASSWORD' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input type="password" ng-show="editEnable.email" class="form-control" ng-model="emailSettings.smtpPassword"/>
|
||||
<span ng-hide="editEnable.email">**********</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.email" ng-click="editEnable.email = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.email" ng-click="updateSettingsEmail();editEnable.email = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.email" ng-click="sendTestEmail()"
|
||||
ng-disabled="saveProgress.email || mcFormEmailNotification.$invalid">
|
||||
<div ng-if="testing.email" class="spinner spinner-xs"></div>
|
||||
{{testing.email ? 'TESTING' : 'TEST_CONNECTION' | translate}}
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveEmail()" ng-show="editEnable.email" ng-disabled="saveProgress.email || mcFormEmailNotification.$invalid">
|
||||
<div ng-show="saveProgress.email" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.email ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Pushbullet settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-mobile fa-lg"></i> {{ 'PUSHBULLET' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormPushbulletNotification">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ACCESS_TOKEN' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<input ng-show="editEnable.pushbullet" class="form-control" ng-model="pushbulletSettings.accessToken" required />
|
||||
<span ng-hide="editEnable.pushbullet">**********</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'IDEN' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{pushbulletSettings.iden}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ACTIVE' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{pushbulletSettings.active}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'NAME' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{pushbulletSettings.name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'EMAIL' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{pushbulletSettings.email}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.pushbullet" ng-click="editEnable.pushbullet = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.pushbullet" ng-click="updateSettingsPushbullet();editEnable.pushbullet = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="savePushbullet()" ng-show="editEnable.pushbullet" ng-disabled="saveProgress.pushbullet || mcFormPushbulletNotification.$invalid">
|
||||
<div ng-show="saveProgress.pushbullet" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.pushbullet ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- TelegramBot settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-telegram fa-lg"></i> {{ 'TELEGRAM_BOT' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormTelegramBotNotification">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TOKEN' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<input ng-show="editEnable.telegramBot" class="form-control" ng-model="telegramBotSettings.token" required />
|
||||
<span ng-hide="editEnable.telegramBot">**********</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'ID' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{telegramBotSettings.id}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'IS_BOT' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{telegramBotSettings.isBot}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'FIRST_NAME' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{telegramBotSettings.firstName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'USERNAME' | translate }}</label>
|
||||
<div class="col-sm-7">
|
||||
<span>{{telegramBotSettings.username}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.telegramBot" ng-click="editEnable.telegramBot = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.telegramBot" ng-click="updateSettingsTelegramBot();editEnable.telegramBot = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveTelegramBot()" ng-show="editEnable.telegramBot" ng-disabled="saveProgress.telegramBot || mcFormTelegramBotNotification.$invalid">
|
||||
<div ng-show="saveProgress.telegramBot" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.telegramBot ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SMS settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-mobile fa-lg"></i> {{ 'SMS' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormSMSNotification">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'VENDOR' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-show="editEnable.sms">
|
||||
<select class="form-control" pf-select ng-model="smsSettings.vendor" required>
|
||||
<option value="" ng-hide="true"></option>
|
||||
<option value="Plivo">{{ 'PLIVO' | translate }}</option>
|
||||
<option value="Twilio">{{ 'TWILIO' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<span ng-hide="editEnable.sms">{{smsSettings.vendor}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'AUTH_ID_SID' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.sms" class="form-control" ng-model="smsSettings.authSid" required />
|
||||
<span ng-hide="editEnable.sms">{{smsSettings.authSid}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'AUTH_TOKEN' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.sms" class="form-control" ng-model="smsSettings.authToken" required />
|
||||
<span ng-hide="editEnable.sms">**********</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'FROM_PHONE_NUMBER' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.sms" class="form-control" ng-model="smsSettings.fromNumber" required />
|
||||
<span ng-hide="editEnable.sms">{{smsSettings.fromNumber}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.sms" ng-click="editEnable.sms = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.sms" ng-click="updateSettingsSms();editEnable.sms = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveSms()" ng-show="editEnable.sms" ng-disabled="saveProgress.sms || mcFormSMSNotification.$invalid">
|
||||
<div ng-show="saveProgress.sms" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.sms ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- Main Message -->
|
||||
|
||||
</div> <!-- Container -->
|
||||
361
www/partials/settings/settings-system.html
Normal file
361
www/partials/settings/settings-system.html
Normal file
@@ -0,0 +1,361 @@
|
||||
<!--
|
||||
|
||||
Copyright (C) 2015-2016 Jeeva Kandasamy (jkandasa@gmail.com)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<div class="container mc-top-space-1x">
|
||||
|
||||
<!-- Loading icon disaplay -->
|
||||
<div ng-hide="controllerSettings.$resolved">
|
||||
<div ng-include src="'partials/common-html/loading.html'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="controllerSettings.$resolved"> <!-- Main Message -->
|
||||
|
||||
<!-- Location settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-map-marker fa-lg"></i> {{ 'LOCATION' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcForm">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><i class="wi wi-sunrise mc-icon-2x" uib-tooltip="{{ 'SUNRISE' | translate }}" tooltip-placement="left"></i></label>
|
||||
<div class="col-sm-10">
|
||||
<span class="mc-icon">{{locationSettings.sunriseTime | date:mchelper.cfg.timeFormatWithoutSeconds : mchelper.cfg.timezone}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><i class="wi wi-sunset mc-icon-2x" uib-tooltip="{{ 'SUNSET' | translate }}" tooltip-placement="left"></i></label>
|
||||
<div class="col-sm-10">
|
||||
<span class="mc-icon">{{locationSettings.sunsetTime | date:mchelper.cfg.timeFormatWithoutSeconds : mchelper.cfg.timezone}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="editEnable.location">
|
||||
<label class="col-sm-2 control-label">{{ 'LOCATION' | translate }}</label>
|
||||
<div class="col-sm-2">
|
||||
<button type="button" class="btn btn-default" class="button" ng-click="updateGeoLocation()"><i class="fa fa-map-marker fa-lg"></i> {{ 'UPDATE' | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'LATITUDE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.location" class="form-control" ng-model="locationSettings.latitude" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
<div ng-hide="editEnable.location">{{locationSettings.latitude}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'LONGITUDE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.location" class="form-control" ng-model="locationSettings.longitude" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
<div ng-hide="editEnable.location">{{locationSettings.longitude}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'LOCATION_NAME' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.location" class="form-control" ng-model="locationSettings.name" required />
|
||||
<div ng-hide="editEnable.location">{{locationSettings.name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.location" ng-click="editEnable.location = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.location" ng-click="updateSettingsLocation();editEnable.location = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveLocation()" ng-show="editEnable.location" ng-disabled="saveProgress.location || mcForm.$invalid">
|
||||
<div ng-show="saveProgress.location" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.location ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Controller settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-star-o fa-lg"></i> {{ 'MY_CONTROLLER' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcFormController">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'NODES_ALIVE_CHECK_INTERVAL' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{aliveCheckMinutes}} {{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="aliveCheckMinutes" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div class="col-sm-3 mc-form-fixer">
|
||||
<span>{{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'EXECUTE_DISCOVER_INTERVAL' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{executeDiscoverMinutes}} {{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="executeDiscoverMinutes" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div class="col-sm-3 mc-form-fixer">
|
||||
<span>{{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'UNITS_CONFIGURATION' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-show="editEnable.controller">
|
||||
<select class="form-control" pf-select ng-model="controllerSettings.unitConfig">
|
||||
<option value="Metric">{{ 'METRIC' | translate }}</option>
|
||||
<option value="Imperial">{{ 'IMPERIAL' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<span ng-hide="editEnable.controller">{{controllerSettings.unitConfig.toUpperCase() | translate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RESOURCES_LOG_LEVEL' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-show="editEnable.controller">
|
||||
<select class="form-control" pf-select ng-options="ll.displayName as ll.displayName for ll in logLevels" ng-model="controllerSettings.resourcesLogLevel">
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
<span ng-hide="editEnable.controller">{{controllerSettings.resourcesLogLevel}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RESOURCES_LOG_RETENTION_DURATION' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{resourcesLogsRetentionDurationMinutes}} {{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="resourcesLogsRetentionDurationMinutes" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div class="col-sm-3 mc-form-fixer">
|
||||
<span>{{ 'MINUTES' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'REGISTER_NODES_AUTOMATICALLY' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input bs-switch ng-change="editEnable.controller = true" ng-model="controllerSettings.autoNodeRegistration" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="primary" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<legend></legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'DASHBOARD_LIMIT' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{controllerSettings.dashboardLimit}}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="controllerSettings.dashboardLimit" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TABLE_ROWS_LIMIT' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{controllerSettings.tableRowsLimit}}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="controllerSettings.tableRowsLimit" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'GLOBAL_PAGE_REFRESH_TIME' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{globalPageRefreshTime}} {{ 'SECONDS' | translate }}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" ng-model="globalPageRefreshTime" pf-validation="cs.isNumber(input)" required />
|
||||
<span class="help-block">{{ 'VALIDATION_ERROR_NUMBER' | translate }}</span>
|
||||
</div>
|
||||
<div class="col-sm-3 mc-form-fixer">
|
||||
<span>{{ 'SECONDS' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'LANGUAGE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-show="editEnable.controller">
|
||||
<select class="form-control" pf-select ng-options="lg.displayName as lg.displayName for lg in languages" ng-model="controllerSettings.language">
|
||||
<option value="" ng-hide="true"></option>
|
||||
</select>
|
||||
</div>
|
||||
<span ng-hide="editEnable.controller">{{controllerSettings.language}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'TIME_FORMAT' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<div ng-show="editEnable.controller">
|
||||
<select class="form-control" pf-select ng-model="controllerSettings.timeFormat">
|
||||
<option value="12 hours">{{ '12_HOURS' | translate }}</option>
|
||||
<option value="24 hours">{{ '24_HOURS' | translate }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<span ng-hide="editEnable.controller">{{controllerSettings.timeFormat.toUpperCase().replace(" ", "_") | translate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'GRANT_ACCESS_TO_CHILD_RESOURCES_IN_ROLES' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input bs-switch ng-change="editEnable.controller = true" ng-model="controllerSettings.grantAccessToChildResources" type="checkbox"
|
||||
switch-animate="true" switch-handle-width="55px" switch-label-width="3px"
|
||||
switch-off-color="default" switch-on-color="primary" ng-true-value="true"
|
||||
ng-false-value="false" switch-on-text="{{ 'ENABLED' | translate }}" switch-off-text="{{ 'DISABLED' | translate }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'WIDGET_IMAGE_FILES_DISK_LOCATION' | translate }}</label>
|
||||
<div class="col-sm-5" ng-hide="editEnable.controller">
|
||||
<span>{{controllerSettings.widgetImageFilesLocation}}</span>
|
||||
</div>
|
||||
<div ng-show="editEnable.controller">
|
||||
<div class="col-sm-5">
|
||||
<input class="form-control" ng-model="controllerSettings.widgetImageFilesLocation" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'LOGIN_MESSAGE' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<textarea ng-show="editEnable.controller" class="form-control" ng-model="controllerSettings.loginMessage" placeholder="{{ 'LOGIN_MESSAGE' | translate }}" rows="4"></textarea>
|
||||
<p ng-hide="editEnable.controller" ng-bind-html="controllerSettings.loginMessage"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.controller" ng-click="editEnable.controller = true">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.controller" ng-click="updateSettingsController();editEnable.controller = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveController()" ng-show="editEnable.controller" ng-disabled="saveProgress.controller || mcFormController.$invalid">
|
||||
<div ng-show="saveProgress.controller" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.controller ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- System Jobs settings -->
|
||||
<div class="col-md-12">
|
||||
<div class="card-pf card-pf-accented">
|
||||
<div class="card-pf-heading"><h2 class="card-pf-title"><i class="fa fa-star-o fa-lg"></i> {{ 'SYSTEM_JOBS' | translate }}</h2></div>
|
||||
<div class="card-pf-body">
|
||||
<form class="form-horizontal" name="mcForm">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'METRICS_AGGREGATION_JOB' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.systemJobs" class="form-control" ng-model="systemJobs.metricsAggregation" required />
|
||||
<div ng-hide="editEnable.systemJobs">{{systemJobs.metricsAggregation}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RESOURCES_LOGS_AGGREGATION_JOB' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.systemJobs" class="form-control" ng-model="systemJobs.resourcesLogsAggregation" required />
|
||||
<div ng-hide="editEnable.systemJobs">{{systemJobs.resourcesLogsAggregation}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'DAILY_ONCE_JOB' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.systemJobs" class="form-control" ng-model="systemJobs.dailyOnce" required />
|
||||
<div ng-hide="editEnable.systemJobs">{{systemJobs.dailyOnce}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RULE_DEFINITION_ENGINE_JOB' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.systemJobs" class="form-control" ng-model="systemJobs.ruleDefinitionEngine" required />
|
||||
<div ng-hide="editEnable.systemJobs">{{systemJobs.ruleDefinitionEngine}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{{ 'RULE_DEFINITION_RE_ENABLE_JOB' | translate }}</label>
|
||||
<div class="col-sm-5">
|
||||
<input ng-show="editEnable.systemJobs" class="form-control" ng-model="systemJobs.ruleDefinitionReEnable" required />
|
||||
<div ng-hide="editEnable.systemJobs">{{systemJobs.ruleDefinitionReEnable}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-actions text-right">
|
||||
<button type="button" class="btn btn-default" class="button" ng-hide="editEnable.systemJobs" ng-click="systemJobsWarning()">{{ 'EDIT' | translate }}</button>
|
||||
<button type="button" class="btn btn-default" class="button" ng-show="editEnable.systemJobs" ng-click="updateSettingsSystemJobs();editEnable.systemJobs = false">{{ 'CANCEL' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="saveSystemJobsLocal()" ng-show="editEnable.systemJobs" ng-disabled="saveProgress.systemJobs || mcForm.$invalid">
|
||||
<div ng-show="saveProgress.systemJobs" class="spinner spinner-xs"></div>
|
||||
{{saveProgress.systemJobs ? 'SAVING' : 'SAVE' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- Main Message -->
|
||||
|
||||
</div> <!-- Container -->
|
||||
Reference in New Issue
Block a user