HansHammel/watchmen

View on GitHub
webserver/views/service-edit.html

Summary

Maintainability
Test Coverage
<div ng-include="'header.html'"></div>

<div class="service-edition container-fluid" ng-show="!loading">
    <div class="row">

        <h2>{{editServiceTitle}}</h2>

        <div ng-if="serviceAddErrors" class="alert alert-danger" role="alert">
            <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
            <span>Validation errors:</span>
            <ul ng-repeat="error in serviceAddErrors">
                <li>{{error.error}}</li>
            </ul>
        </div>

        <form class="form-horizontal" ng-submit="save()">
            <div class="form-group">
                <label for="service-name" class="col-sm-2 control-label">Name</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.name" type="text" class="form-control" id="service-name" placeholder="Enter service name (i.e: Apple Inc)">
                </div>
                <div class="descr col-sm-4">How would you call your service</div>
            </div>
            <div class="form-group">
                <label for="url" class="col-sm-2 control-label">URL</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.url" type="text" class="form-control" id="url" placeholder="Enter URL">
                </div>
                <div class="descr col-sm-4">Service URL</div>
            </div>
            <div class="form-group">
                <label for="service-port" class="col-sm-2 control-label">Port</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.port" type="number" class="form-control" id="service-port" placeholder="80">
                </div>
                <div class="descr col-sm-4">Service Port</div>
            </div>
            <br/>
            <div class="form-group">
                <label for="service-interval" class="col-sm-2 control-label">Interval (ms)</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.interval" type="number" class="form-control" id="service-interval" placeholder="60000">
                </div>
                <div class="descr col-sm-4">How often to poll if service is up</div>
            </div>
            <div class="form-group">
                <label for="service-failure-interval" class="col-sm-2 control-label">Failure interval (ms)</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.failureInterval" type="number" class="form-control" id="service-failure-interval" placeholder="20000">
                </div>
                <div class="descr col-sm-4">How often to poll if service is down</div>
            </div>
            <div class="form-group">
                <label for="service-failure-threshold" class="col-sm-2 control-label">Failure threshold</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.failuresToBeOutage" type="number" class="form-control" id="service-failure-threshold" placeholder="1">
                </div>
                <div class="descr col-sm-4">Number of failed pings to be considered outage</div>
            </div>
            <div class="form-group">
                <label for="service-timeout" class="col-sm-2 control-label">Timeout (ms)</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.timeout" type="number" class="form-control" id="service-timeout" placeholder="10000">
                </div>
                <div class="descr col-sm-4">Timeout</div>
            </div>
            <div class="form-group">
                <label for="service-warning-latency" class="col-sm-2 control-label">Latency alarm</label>
                <div class="col-sm-6">
                    <input ng-required="true" ng-model="service.warningThreshold" type="number" class="form-control" id="service-warning-latency" placeholder="2000">
                </div>
                <div class="descr col-sm-4">What is considered a warning threshold for latency?</div>
            </div>
            <div class="form-group">
                <label for="service-pingService-name" class="col-sm-2 control-label">Ping service</label>
                <div class="col-sm-6">
                    <select ng-options="service.name as service.name for service in pingServices"
                            id="service-pingService-name"
                            ng-model="service.pingServiceName" class="form-control">
                    </select>
                    <div ping-service-options ng-model="selectedPingServiceOptions"></div>
                </div>
                <div class="descr col-sm-4">Ping service to use</div>
            </div>
            <br/>
            <div class="form-group">
                <label for="service-restrictedTo" class="col-sm-2 control-label">Restricted to</label>
                <div class="col-sm-6">
                    <input type="text" ng-model="service.restrictedTo" type="checkbox" class="form-control" id="service-restrictedTo" placeholder="myemail@mydomain.com, admin@myotherdomain.com">
                </div>
                <div class="descr col-sm-4">List of restricted emails to have access to this service stats</div>
            </div>
            <div class="form-group">
                <label for="service-alertTo" class="col-sm-2 control-label">Alert to</label>
                <div class="col-sm-6">
                    <input type="text" ng-model="service.alertTo" type="checkbox" class="form-control" id="service-alertTo" placeholder="myemail@mydomain.com, admin@myotherdomain.com">
                </div>
                <div class="descr col-sm-4">List of emails to alert to</div>
            </div>
            <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button type="submit" class="btn btn-primary">Save</button>
                    <button class="btn btn-default" ng-click="cancel()">Cancel</button>
                </div>
            </div>
        </form>
    </div>
</div>