UNPKG

hw-server

Version:
685 lines (682 loc) 27.6 kB
<html> <head> <title>Homework</title> <meta name="viewport" content="width=device-width, initial-scale=1"></meta> <script src="node_modules/jquery/dist/jquery.min.js"></script> <script src="node_modules/angular/angular.min.js"></script> <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script> <script src="node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js"></script> <script src="node_modules/wolfy87-eventemitter/EventEmitter.min.js"></script> <script src="node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js"></script> <script src="node_modules/angular-bootstrap-switch/dist/angular-bootstrap-switch.min.js"></script> <script src="node_modules/bootstrap-slider/dist/bootstrap-slider.min.js"></script> <script src="node_modules/angular-bootstrap-colorpicker/js/bootstrap-colorpicker-module.min.js"></script> <script src="sub/angular-bootstrap-slider/slider.js"></script> <script src="sub/ngDraggable/ngDraggable.js"></script> <script src="index.js"></script> <link type="text/css" rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css"></link> <link type="text/css" rel="stylesheet" href="node_modules/bootstrap-slider/dist/css/bootstrap-slider.min.css"></link> <link type="text/css" rel="stylesheet" href="node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css"></link> <link type="text/css" rel="stylesheet" href="node_modules/font-awesome/css/font-awesome.min.css"></link> <link type="text/css" rel="stylesheet" href="node_modules/font-awesome-animation/dist/font-awesome-animation.min.css"></link> <link type="text/css" rel="stylesheet" href="node_modules/angular-bootstrap-colorpicker/css/colorpicker.min.css"></link> <link type="text/css" rel="stylesheet" href="sub/animate.css/animate.min.css"></link> <link type="text/css" rel="stylesheet" href="index.css"></link> </head> <body ng-app="app" ng-controller="mainController"> <div class="navbar navbar-inverse navbar-fixed-top" role="navigation" id="slide-nav"> <div class="container"> <div class="navbar-header"> <a class="navbar-toggle"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <a class="navbar-brand" href="#">Homework</a> </div> <div id="slidemenu"> <div class="hw-spacer navbar-right"></div> <ul class="nav navbar-nav"> <li ng-class="activeClass('devices')"><a href="#devices">Devices</a></li> <li ng-class="activeClass('scenes')"><a href="#scenes">Scenes</a></li> <li ng-class="activeClass('rules')"><a href="#rules">Rules</a></li> <li ng-class="activeClass('variables')"><a href="#variables">Variables</a></li> <li ng-class="activeClass('timers')"><a href="#timers">Timers</a></li> <li ng-class="activeClass('zwave')"><a href="#zwave">Z-Wave</a></li> <li ng-class="activeClass('logs')"><a href="#logs">Logs</a></li> </ul> </div> </div> </div> <div id="page-content"> <div ng-if="isActive('devices')" class="container" ng-controller="devicesController"> <h2>Devices</h2> <div> <ul class="nav nav-pills pull-left"> <li role="presentation" ng-class="activeGroup('all')"><a href="#devices/all">All</a></li> <li role="presentation" ng-repeat="group in groups" ng-class="activeGroup(group)" ng-drop="true" ng-drop-success="onDropDevice($data, $event, group)"><a href="#devices/{{group}}">{{group}}</a></li> <li role="presentation"><a href="#devices/add">+</a></li> </ul> <button class="pull-right btn btn-success" ng-click="addDevice()">Add</button> <button class="pull-right btn btn-primary" ng-click="restoreDevices()">Restore</button> <div class="hw-clear"></div> </div> <div id="restoreDevicesModal" class="modal fade" role="dialog" ng-controller="restoreDevicesController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Restore devices</h4> </div> <div class="modal-body"> <div class="container-fluid"> <div class="row" ng-repeat="device in deviceCandidates"> <button class="btn btn-default col-xs-12 col-sm-12 col-md-12 col-lg-12 center-block text-center" ng-click="restoreDevice(device.sha256)">{{device.date}}</button> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> <div id="addDeviceModal" class="modal fade" role="dialog" ng-controller="addDeviceController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add virtual device</h4> </div> <div class="modal-body"> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div class="hw-clear container-fluid"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Name </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="name"> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> <div class="container-fluid"> <div class="row"> <div class="col-xs-6 col-sm-4 col-md-4 col-lg-3 center-block text-center" ng-repeat="(uuid, dev) in currentDevices"> <div class="hw-frame" ng-drag="true" ng-drag-data="{{dev}}"> <div class="hw-pointer" ng-click="setLocation('#device/' + dev.safeuuid)"> {{dev.fullName}} </div> <div ng-if="dev.type == 'Dimmer'" class="hw-margin center-block"> <slider ng-attr-id="{{'slider-'+dev.safeuuid}}" ng-model="dev.level" min="0" step="1" max="dev.max"></slider> <button class="btn btn-default" ng-click="dev.level = 0">Off</button> <button class="btn btn-default" ng-click="dev.level = dev.max">On</button> </div> <div ng-if="dev.type == 'Light' || dev.type == 'Fan'" class="hw-margin center-block"> <input bs-switch ng-model="dev.value" type="checkbox"></input> </div> <div ng-if="dev.type == 'RGBWLed'" class="hw-margin center-block"> <div tooltip-placement="top" uib-tooltip="{{dev.colorRGBW}}"><i colorpicker ng-model="dev.color" class="fa fa-tint hw-big" ng-style="{'color': dev.color}"></i></div> <slider ng-model="dev.white" min="0" step="1" max="255"></slider> </div> <div ng-if="dev.type == 'Sensor'" class="hw-margin center-block"> <div><i class="fa fa-hand-paper-o hw-big ng-class:{'faa-shake animated': dev.motion} "></i></div> </div> <div ng-if="dev.type == 'GarageDoor'" class="hw-margin center-block"> <div> <div>{{dev.state}}</div> <button class="btn btn-default" ng-click="dev.mode = 1">Open</button> <button class="btn btn-default" ng-click="dev.mode = 0">Close</button> </div> </div> </div> </div> </div> </div> <div id="addGroupModal" class="modal fade" role="dialog" ng-controller="addGroupController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add group</h4> </div> <div class="modal-body"> <div class="hw-clear container-fluid"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Name </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="name"> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> </div> <div ng-if="isActive('device')" class="container" ng-controller="deviceController"> <div> <h2 class="pull-left">{{dev.name}}</h2> <button ng-if="dev.virtual" class="pull-right btn btn-danger h2" type="button" ng-click="removeDevice()">Delete</button> <button ng-if="dev.virtual" class="pull-right btn btn-success h2" type="button" ng-click="addValue()">Add value</button> </div> <div class="container hw-alternate hw-clear"> <div class="row hw-vcenter"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> name </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> <form ng-submit="setName(dev)"> <input type="text" ng-model="dev.name" class="form-control"> </form> </div> </div> <div class="row hw-vcenter"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> floor </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> <form ng-submit="setFloor(dev)"> <div class="input-group"> <input type="text" ng-model="dev.floor" class="form-control" aria-label="..."> <div class="input-group-btn"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Select <span class="caret"></span></button> <ul ng-if="floors && floors.length > 0" class="dropdown-menu dropdown-menu-right"> <li ng-repeat="floor in floors"><a href="" ng-click="setFloor(dev, floor)">{{floor}}</a></li> </ul> </div> </div> </form> </div> </div> <div class="row hw-vcenter"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> room </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> <form ng-submit="setRoom(dev)"> <div class="input-group"> <input type="text" ng-model="dev.room" class="form-control" aria-label="..."> <div class="input-group-btn"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Select <span class="caret"></span></button> <ul ng-if="rooms && rooms.length > 0" class="dropdown-menu dropdown-menu-right"> <li ng-repeat="room in rooms"><a href="" ng-click="setRoom(dev, room)">{{room}}</a></li> </ul> </div> </div> </form> </div> </div> <div class="row hw-vcenter"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> uuid </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> {{dev.uuid}} </div> </div> <div class="row hw-vcenter"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> type </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> <div class="dropdown"><button ng-attr-id="drop-hw-type" class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{dev.type}}<span class="caret"></span></button> <ul class="dropdown-menu" aria-labelledby="drop-hw-type"> <li ng-repeat="tn in deviceTypes"> <a href="" class="btn default" ng-click="setType(dev, tn)"> {{tn}} </a> </li> </ul> </div> </div> </div> <div class="row hw-vcenter" ng-repeat="val in vals"> <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"> {{val.name}} </div> <div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"> <div class="pull-left"> <div ng-if="val.readOnly"> {{val.value}} {{val.units}} </div> <div ng-if="!val.readOnly"> <div ng-switch on="val.type"> <div ng-switch-when="range" style="float: left; margin-right: 1em"> <slider class="hw-slider-width" ng-model="val.value" min="1" step="1" max="100"></slider> </div> <div ng-switch-default> <div ng-if="val.type !== 'array'" style="float: left; margin-right: 1em"> <input type="text" ng-model="val.value" class="form-control"> </div> </div> </div> <div style="margin-right: 1em; float: left" ng-if="val.values"> <div class="dropdown"><button ng-attr-id="drop-{{val.name}}" class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{val.value}}<span class="caret"></span></button> <ul class="dropdown-menu" aria-labelledby="drop-{{val.name}}"> <li ng-repeat="(valn, valv) in val.values"> <a href="" class="btn default" ng-click="setValue(val, valv)"> {{valn}} </a> </li> </ul> </div> </div> <div style="float: left"> {{val.units}} </div> </div> </div> <div class="pull-right"> <button ng-if="dev.virtual" class="pull-right btn btn-danger" type="button" ng-click="removeValue(val.name)">Delete</button> </div> </div> </div> </div> <div id="addDeviceValueModal" class="modal fade" role="dialog" ng-controller="addDeviceValueController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add value</h4> </div> <div class="modal-body"> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div class="hw-clear container-fluid"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Name </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="name"> </div> </div> <div class="hw-clear container-fluid"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Template </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="template" placeholder="e.g. 'foo;bar' or '0-100'"> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> </div> <div ng-if="isActive('scenes')" class="container" ng-controller="sceneController"> <div> <div> <h2 class="pull-left">Scenes</h2> <button class="pull-right btn btn-success h2" type="button" ng-click="addScene()">Add</button> <button class="pull-right btn btn-primary h2" type="button" ng-click="restoreScenes()">Restore</button> </div> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div ng-if="success" class="alert alert-success"> {{success}} </div> <div class="hw-clear btn-group-vertical hw-expand-horizontal" role="group"> <div ng-repeat="scene in scenes" class="btn-group" role="group"> <a type="button" class="btn btn-default" ng-href="#scenes/{{scene.name}}"> {{scene.name}} </a> <div ng-if="activeScene(scene.name)" ng-controller="editSceneController"> <div ng-attr-id="edit-{{scene.name}}" class="hw-modifyrule hw-pad" compile="generate(scene)"></div> </div> </div> </div> </div> <div id="addSceneModal" class="modal fade" role="dialog" ng-controller="addSceneController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add scene</h4> </div> <div class="modal-body" compile="generate()"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> <div id="restoreScenesModal" class="modal fade" role="dialog" ng-controller="restoreScenesController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Restore scenes</h4> </div> <div class="modal-body"> <div class="container-fluid"> <div class="row" ng-repeat="scene in sceneCandidates"> <button class="btn btn-default col-xs-12 col-sm-12 col-md-12 col-lg-12 center-block text-center" ng-click="restoreScene(scene.sha256)">{{scene.date}}</button> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> </div> <div ng-if="isActive('rules')" class="container" ng-controller="ruleController"> <div ng-class="ruleClass()"> <div> <h2 class="pull-left">Rules</h2> <button class="pull-right btn btn-success h2" type="button" ng-click="addRule()">Add</button> <button class="pull-right btn btn-primary h2" type="button" ng-click="restoreRules()">Restore</button> </div> <div class="hw-clear btn-group-vertical hw-expand-horizontal" role="group"> <div ng-repeat="rule in rules" class="btn-group" role="group"> <a type="button" class="btn btn-default" ng-href="#rules/{{rule.safename}}"> {{rule.name}} </a> <div ng-if="activeRule(rule.safename)" ng-controller="editRuleController"> <div ng-attr-id="edit-{{rule.safename}}" class="hw-modifyrule hw-pad" compile="generate(rule)"></div> </div> </div> </div> </div> <div id="addRuleModal" class="modal fade" role="dialog" ng-controller="addRuleController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add rule</h4> </div> <div class="modal-body" compile="generate()"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> <div id="restoreRulesModal" class="modal fade" role="dialog" ng-controller="restoreRulesController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Restore rules</h4> </div> <div class="modal-body"> <div class="container-fluid"> <div class="row" ng-repeat="rule in ruleCandidates"> <button class="btn btn-default col-xs-12 col-sm-12 col-md-12 col-lg-12 center-block text-center" ng-click="restoreRule(rule.sha256)">{{rule.date}}</button> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> </div> <div ng-if="isActive('variables')" class="container" ng-controller="variableController"> <div> <h2 class="pull-left">Variables</h2> <button class="pull-right btn btn-success h2" type="button" ng-click="addVariable()">Add</button> </div> <div class="hw-clear container-fluid"> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div ng-if="success" class="alert alert-success"> {{success}} </div> <div class="row" ng-repeat="(name, val) in variables"> <div ng-attr-id="key-{{name}}" class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> {{name}} </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input ng-attr-id="val-{{name}}" type="text" ng-model="variables[name]"> <button type="button" class="btn btn-default btn-xs" ng-click="clear(name)">&times;</button> </div> </div> <div class="row"> <div class="pull-right"><button type="button" class="btn btn-primary" ng-click="save()">Save</button></div> </div> </div> <div id="addVariableModal" class="modal fade" role="dialog" ng-controller="addVariableController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add variable</h4> </div> <div class="modal-body"> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div class="hw-clear container-fluid"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Name </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="name"> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> </div> <div ng-if="isActive('timers')" class="container" ng-controller="timerController"> <h2>Timers</h2> <div class="hw-clear container-fluid"> <div ng-if="error" class="row alert alert-danger"> <strong>Error</strong> {{error}} </div> <div ng-if="success" class="row alert alert-success"> {{success}} </div> <div class="row"> <div class="hw-col hw-col-12"> <div> <h4 class="pull-left">Timeouts</h4> <button class="pull-right btn btn-success h4" type="button" ng-click="add('timeout')">Add</button> </div> <div class="hw-clear container-fluid"> <div class="row" ng-repeat="(name, val) in timeout"> <div ng-attr-id="timeout-{{name}}" class="hw-col hw-col-3"> {{name}} </div> <div class="hw-col hw-col-3"> {{val.timeout || val.state}} </div> <div class="hw-col hw-col-3"> {{val.now}} </div> <div class="hw-col hw-col-3"> <button class="btn btn-default" type="button" ng-click="restart(name, 'timeout')">Start</button> <button class="btn btn-default" type="button" ng-click="stop(name, 'timeout')">Stop</button> </div> </div> </div> </div> </div> <div class="row"> <div class="hw-col hw-col-12"> <div> <h4 class="pull-left">Intervals</h4> <button class="pull-right btn btn-success h4" type="button" ng-click="add('interval')">Add</button> </div> <div class="hw-clear container-fluid"> <div class="row" ng-repeat="(name, val) in interval"> <div ng-attr-id="interval-{{name}}" class="hw-col hw-col-3"> {{name}} </div> <div class="hw-col hw-col-3"> {{val.timeout || val.state}} </div> <div class="hw-col hw-col-3"> {{val.now}} </div> <div class="hw-col hw-col-3"> <button class="btn btn-default" type="button" ng-click="restart(name, 'interval')">Start</button> <button class="btn btn-default" type="button" ng-click="stop(name, 'interval')">Stop</button> </div> </div> </div> </div> </div> <div class="row"> <div class="hw-col hw-col-12"> <div> <h4 class="pull-left">Schedules</h4> <button class="pull-right btn btn-success h4" type="button" ng-click="add('schedule')">Add</button> </div> <div class="hw-clear container-fluid"> <div class="row" ng-repeat="(name, val) in schedule"> <div class="hw-col hw-col-6"> {{name}} </div> <div class="hw-col hw-col-6"> <input type="text" ng-model="schedule[name]"> </div> </div> </div> </div> </div> <div class="row"> <div class="hw-col hw-col-12 hw-pad-1"> <div class="pull-right"><button type="button" class="btn btn-primary" ng-click="saveSchedules()">Save</button></div> </div> </div> </div> <div id="addTimerModal" class="modal fade" role="dialog" ng-controller="addTimerController"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Add {{adding}}</h4> </div> <div class="modal-body"> <div ng-if="error" class="alert alert-danger"> <strong>Error</strong> {{error}} </div> <div class="hw-clear container-fluid"> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Name </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="timername"> </div> </div> <div class="row" ng-if="adding=='schedule'"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Value </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="$parent.timervalue"> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="save()">Save</button> </div> </div> </div> </div> <div id="restartTimerModal" class="modal fade" role="dialog"> <div class="modal-dialog hw-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Start {{restarting.name}}</h4> </div> <div class="modal-body"> <div class="hw-clear container-fluid"> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 center-block text-center"> Value </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> <input type="text" ng-model="restarting.value"> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" ng-click="restart()">Start</button> </div> </div> </div> </div> </div> <div ng-if="isActive('zwave')" class="container" ng-controller="zwaveController"> <h2>Z-Wave</h2> <div class="hw-clear container-fluid"> <div ng-if="error" class="row alert alert-danger"> <strong>Error</strong> {{error}} </div> <div ng-if="success" class="row alert alert-success"> {{success}} </div> <div> <div class="row"> <div class="col-xs-12 col-sm-8 col-md-4 col-lg-3"> <button type="button" ng-click="action('pair')" class="btn btn-default hw-expand-horizontal">Pair</button> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-8 col-md-4 col-lg-3"> <button type="button" ng-click="action('depair')" class="btn btn-default hw-expand-horizontal">Depair</button> </div> </div> </div> </div> </div> <div ng-if="isActive('logs')" class="container" ng-controller="logsController"> <h2>Logs</h2> <div class="hw-clear container-fluid"> <div ng-if="error" class="row alert alert-danger"> <strong>Error</strong> {{error}} </div> <div ng-if="success" class="row alert alert-success"> {{success}} </div> <div> <div class="row hw-vcenter" ng-repeat="log in logs"> {{log}} </div> </div> </div> </div> </div> </body> </html>