Skip to content

Commit

Permalink
Fixed the harmony button to be a label and not the name. Implementation
Browse files Browse the repository at this point in the history
of multi batch add completed.
  • Loading branch information
bwssytems committed Jan 27, 2016
1 parent 4bc91be commit a6bb1ae
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 14 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.bwssystems.HABridge</groupId>
<artifactId>ha-bridge</artifactId>
<version>1.3.1b</version>
<version>1.3.1c</version>
<packaging>jar</packaging>

<name>HA Bridge</name>
Expand Down
38 changes: 31 additions & 7 deletions src/main/resources/public/scripts/app.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
var app = angular.module('habridge', [
'ngRoute'
]);
var app = angular.module('habridge', ['ngRoute']);

app.config(function ($routeProvider) {
$routeProvider.when('/#', {
Expand Down Expand Up @@ -557,7 +555,6 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer


$scope.clearDevice();
bridgeService.device = $scope.device;
$scope.vera = {base: "", port: "3480", id: ""};
$scope.vera.base = "http://" + BridgeSettings.veraaddress;
bridgeService.viewVeraDevices();
Expand All @@ -566,12 +563,12 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer
bridgeService.viewHarmonyDevices();
bridgeService.viewNestItems();
$scope.bridge = bridgeService.state;
$scope.device = bridgeService.state.device;
$scope.imgButtonsUrl = "glyphicon glyphicon-plus";
$scope.buttonsVisible = false;
$scope.predicate = '';
$scope.reverse = true;
$scope.device_dim_control = "";
$scope.bulk = { devices: [] };
$scope.order = function(predicate) {
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.predicate = predicate;
Expand Down Expand Up @@ -743,7 +740,7 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer
$scope.device.onUrl = "{\"name\":\"" + nestitem.id + "\",\"control\":\"fan-on\"}";
$scope.device.offUrl = "{\"name\":\"" + nestitem.id + "\",\"control\":\"fan-auto\"}";
};

$scope.testUrl = function (device, type) {
bridgeService.testUrl(device, type);
};
Expand All @@ -769,7 +766,34 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer
function (error) {
}
);
}

};

$scope.bulkAddDevices = function(dim_control) {
for(var i = 0; i < $scope.bulk.devices.length; i++) {
for(var x = 0; x < bridgeService.state.veradevices.length; x++) {
if(bridgeService.state.veradevices[x].id == $scope.bulk.devices[i]) {
$scope.buildDeviceUrls(bridgeService.state.veradevices[x],dim_control);
$scope.addDevice();
}
}
}
$scope.bulk = { devices: [] };
};

$scope.toggleSelection = function toggleSelection(deviceId) {
var idx = $scope.bulk.devices.indexOf(deviceId);

// is currently selected
if (idx > -1) {
$scope.bulk.devices.splice(idx, 1);
}

// is newly selected
else {
$scope.bulk.devices.push(deviceId);
}
};

$scope.toggleButtons = function () {
$scope.buttonsVisible = !$scope.buttonsVisible;
Expand Down
4 changes: 3 additions & 1 deletion src/main/resources/public/views/configuration.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,12 @@ <h2 ng-show='bridge.error != ""'>ERROR</h2>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">Current devices</h2>
<h2 class="panel-title">Current devices ({{bridge.devices.length}}) </h2>
</div>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>Row</th>
<th>
<a href="" ng-click="order('id')">ID</a>
<span class="sortorder" ng-show="predicate === 'id'" ng-class="{reverse:reverse}"></span></th>
Expand All @@ -45,6 +46,7 @@ <h2 class="panel-title">Current devices</h2>
</tr>
</thead>
<tr ng-repeat="device in bridge.devices | orderBy:predicate:reverse">
<td>{{$index+1}}</td>
<td>{{device.id}}</td>
<td>{{device.name}}</td>
<td>{{device.deviceType}}</td>
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/public/views/harmonydevice.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ <h2 class="panel-title">Harmony Device List</h2>
<td>
<select name="device-ctrlon" id="device-ctrlon" ng-model="devicectrlon">
<optgroup ng-repeat="ctrlon in harmonydevice.device.controlGroup" label="{{ctrlon.name}}">
<option ng-repeat="funcon in ctrlon.function">{{funcon.name}}</option>
<option ng-repeat="funcon in ctrlon.function" value="{{funcon.label}}">{{funcon.name}}</option>
</optgroup >
</select>
</td>
<td>
<select name="device-ctrloff" id="device-ctrloff" ng-model="devicectrloff">
<optgroup ng-repeat="ctrloff in harmonydevice.device.controlGroup" label="{{ctrloff.name}}">
<option ng-repeat="funcoff in ctrloff.function">{{funcoff.name}}</option>
<option ng-repeat="funcoff in ctrloff.function" value="{{funcoff.label}}">{{funcoff.name}}</option>
</optgroup >
</select>
</td>
Expand Down
16 changes: 13 additions & 3 deletions src/main/resources/public/views/veradevice.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@

<div class="panel panel-default bridgeServer" ng-if="!bridge.error">
<div class="panel-heading">
<h2 class="panel-title">Vera Device List</h2>
<h2 class="panel-title">Vera Device List ({{bridge.veradevices.length}})</h2>
</div>
<ul class="list-group">
<li class="list-group-item">
<p class="text-muted">For any Vera Device, use the action buttons to generate the device addition information below automatically.
Then you can modify the name to anything you want that will be the keyword for Alexa. Click the 'Add Bridge Device' to finish that selection setup.
The 'Already Configured Vera Devices' list below will show what is already setup for your Vera.</p><p>Also, use this select menu for which type of dim
The 'Already Configured Vera Devices' list below will show what is already setup for your Vera.</p>
<p>Also, use this select menu for which type of dim
control you would like to be generated:
<select name="device-dim-control" id="device-dim-control" ng-model="device_dim_control">
<option value="">none</option>
Expand All @@ -25,9 +26,13 @@ <h2 class="panel-title">Vera Device List</h2>
<option value="${intensity.math(X*1)}">Custom Math</option>
</select>
</p>
<p>Use the check boxes by the names to use the bulk addition feature. Select your items and dim control type if wanted, then click bulk add below.
Your items will be added with on and off or dim and off if selected with the name of the device from the Vera.
</p>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>Row</th>
<th>
<a href="" ng-click="order('name')">Name</a>
<span class="sortorder" ng-show="predicate === 'name'" ng-class="{reverse:reverse}"></span>
Expand All @@ -48,7 +53,8 @@ <h2 class="panel-title">Vera Device List</h2>
</tr>
</thead>
<tr ng-repeat="veradevice in bridge.veradevices | availableVeraDeviceId | orderBy:predicate:reverse">
<td>{{veradevice.name}}</td>
<td>{{$index+1}}</td>
<td><input type="checkbox" name="bulk.devices[]" value="{{veradevice.id}}" ng-checked="bulk.devices.indexOf(veradevice.id) > -1" ng-click="toggleSelection(veradevice.id)"> {{veradevice.name}}</td>
<td>{{veradevice.id}}</td>
<td>{{veradevice.category}}</td>
<td>{{veradevice.room}}</td>
Expand All @@ -59,6 +65,10 @@ <h2 class="panel-title">Vera Device List</h2>
</td>
</tr>
</table>
<p>
<button class="btn btn-success" type="submit"
ng-click="bulkAddDevices(device_dim_control)">Bulk Add ({{bulk.devices.length}})</button>
</p>
</li>
</ul>
<div class="panel-heading">
Expand Down

0 comments on commit a6bb1ae

Please sign in to comment.