Update filtering capability. Still errors in html/angular.

This commit is contained in:
Admin
2015-11-30 16:43:14 -06:00
parent 1e7bdc560b
commit 4b4d4e36c7
6 changed files with 76 additions and 20 deletions

View File

@@ -5,7 +5,7 @@
<groupId>com.bwssystems.HABridge</groupId> <groupId>com.bwssystems.HABridge</groupId>
<artifactId>ha-bridge</artifactId> <artifactId>ha-bridge</artifactId>
<version>1.1.0e</version> <version>1.1.0f</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>HA Bridge</name> <name>HA Bridge</name>

View File

@@ -246,9 +246,9 @@ app.service('bridgeService', function ($http, $window, BridgeSettings) {
); );
}; };
this.findDeviceByMapId = function(id) { this.findDeviceByMapId = function(id, type) {
for(var i = 0; i < this.state.devices.length; i++) { for(var i = 0; i < this.state.devices.length; i++) {
if(this.state.devices[i].mapId == id) if(this.state.devices[i].mapId == id && this.state.devices[i].mapType == type)
return true; return true;
} }
return false; return false;
@@ -328,9 +328,9 @@ app.service('bridgeService', function ($http, $window, BridgeSettings) {
); );
}; };
this.deleteDeviceByMapId = function (id) { this.deleteDeviceByMapId = function (id, type) {
for(var i = 0; i < this.state.devices.length; i++) { for(var i = 0; i < this.state.devices.length; i++) {
if(this.state.devices[i].mapId == id) if(this.state.devices[i].mapId == id && this.state.devices[i].mapType == type)
return self.deleteDevice(this.state.devices[i].id); return self.deleteDevice(this.state.devices[i].id);
} }
}; };
@@ -502,7 +502,7 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer
} }
$scope.device.deviceType = "scene"; $scope.device.deviceType = "scene";
$scope.device.name = verascene.name; $scope.device.name = verascene.name;
$scope.devoce.mapType = "veraScene"; $scope.device.mapType = "veraScene";
$scope.device.mapId = verascene.id; $scope.device.mapId = verascene.id;
$scope.device.onUrl = $scope.vera.base + ":" + $scope.vera.port $scope.device.onUrl = $scope.vera.base + ":" + $scope.vera.port
+ "/data_request?id=action&output_format=json&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=" + "/data_request?id=action&output_format=json&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum="
@@ -593,13 +593,13 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer
}); });
app.filter('availableId', function(bridgeService) { app.filter('availableHarmonyActivityId', function(bridgeService) {
return function(input) { return function(input) {
var out = []; var out = [];
if(input == null) if(input == null)
return out; return out;
for (var i = 0; i < input.length; i++) { for (var i = 0; i < input.length; i++) {
if(!bridgeService.findDeviceByMapId(input[i].id)){ if(!bridgeService.findDeviceByMapId(input[i].id, "harmonyActivity")){
out.push(input[i]); out.push(input[i]);
} }
} }
@@ -607,13 +607,13 @@ app.filter('availableId', function(bridgeService) {
} }
}); });
app.filter('unavailableId', function(bridgeService) { app.filter('unavailableHarmonyActivityId', function(bridgeService) {
return function(input) { return function(input) {
var out = []; var out = [];
if(input == null) if(input == null)
return out; return out;
for (var i = 0; i < input.length; i++) { for (var i = 0; i < input.length; i++) {
if(bridgeService.findDeviceByMapId(input[i].id)){ if(bridgeService.findDeviceByMapId(input[i].id, "harmonyActivity")){
out.push(input[i]); out.push(input[i]);
} }
} }
@@ -621,6 +621,62 @@ app.filter('unavailableId', function(bridgeService) {
} }
}); });
app.filter('availableVeraDeviceId', function(bridgeService) {
return function(input) {
var out = [];
if(input == null)
return out;
for (var i = 0; i < input.length; i++) {
if(!bridgeService.findDeviceByMapId(input[i].id, "veraDevice")){
out.push(input[i]);
}
}
return out;
}
});
app.filter('unavailableVeraDeviceId', function(bridgeService) {
return function(input) {
var out = [];
if(input == null)
return out;
for (var i = 0; i < input.length; i++) {
if(bridgeService.findDeviceByMapId(input[i].id, "veraDevice")){
out.push(input[i]);
}
}
return out;
}
});
app.filter('availableVeraSceneId', function(bridgeService) {
return function(input) {
var out = [];
if(input == null)
return out;
for (var i = 0; i < input.length; i++) {
if(!bridgeService.findDeviceByMapId(input[i].id, "veraScene")){
out.push(input[i]);
}
}
return out;
}
});
app.filter('unavailableVeraSceneId', function(bridgeService) {
return function(input) {
var out = [];
if(input == null)
return out;
for (var i = 0; i < input.length; i++) {
if(bridgeService.findDeviceByMapId(input[i].id, "veraScene")){
out.push(input[i]);
}
}
return out;
}
});
app.filter('configuredButtons', function() { app.filter('configuredButtons', function() {
return function(input) { return function(input) {
var out = []; var out = [];

View File

@@ -30,7 +30,7 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="harmonyactivity in bridge.harmonyactivities | availableId | orderBy:predicate:reverse"> <tr ng-repeat="harmonyactivity in bridge.harmonyactivities | availableHarmonyActivityId | orderBy:predicate:reverse">
<td>{{harmonyactivity.label}}</td> <td>{{harmonyactivity.label}}</td>
<td>{{harmonyactivity.id}}</td> <td>{{harmonyactivity.id}}</td>
<td> <td>
@@ -61,11 +61,11 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="harmonyactivity in bridge.harmonyactivities | unavailableId | orderBy:predicate:reverse"> <tr ng-repeat="harmonyactivity in bridge.harmonyactivities | unavailableHarmonyActivityId | orderBy:predicate:reverse">
<td>{{harmonyactivity.label}}</td> <td>{{harmonyactivity.label}}</td>
<td>{{harmonyactivity.id}}</td> <td>{{harmonyactivity.id}}</td>
<td><button class="btn btn-danger" type="submit" <td><button class="btn btn-danger" type="submit"
ng-click="deleteDeviceByMapId(harmonyactivity.id)">Delete</button></td> ng-click="deleteDeviceByMapId(harmonyactivity.id, harmonyActivity)">Delete</button></td>
</tr> </tr>
</table> </table>
</li> </li>

View File

@@ -87,7 +87,7 @@
<td>{{device.mapId}}</td> <td>{{device.mapId}}</td>
<td> <td>
<button class="btn btn-danger" type="submit" <button class="btn btn-danger" type="submit"
ng-click="deleteDeviceByMapId(device.mapId)">Delete</button> ng-click="deleteDeviceByMapId(device.mapId, device.mapType)">Delete</button>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -45,7 +45,7 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="veradevice in bridge.veradevices | availableId | orderBy:predicate:reverse"> <tr ng-repeat="veradevice in bridge.veradevices | availableVeraDeviceId | orderBy:predicate:reverse">
<td>{{veradevice.name}}</td> <td>{{veradevice.name}}</td>
<td>{{veradevice.id}}</td> <td>{{veradevice.id}}</td>
<td>{{veradevice.category}}</td> <td>{{veradevice.category}}</td>
@@ -86,14 +86,14 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="veradevice in bridge.veradevices | unavailableId | orderBy:predicate:reverse"> <tr ng-repeat="veradevice in bridge.veradevices | unavailableVeraDeviceId | orderBy:predicate:reverse">
<td>{{veradevice.name}}</td> <td>{{veradevice.name}}</td>
<td>{{veradevice.id}}</td> <td>{{veradevice.id}}</td>
<td>{{veradevice.category}}</td> <td>{{veradevice.category}}</td>
<td>{{veradevice.room}}</td> <td>{{veradevice.room}}</td>
<td> <td>
<button class="btn btn-danger" type="submit" <button class="btn btn-danger" type="submit"
ng-click="deleteDeviceByMapId(harmonyactivity.id)">Delete</button> ng-click="deleteDeviceByMapId(veradevice.id, "veraDevice")">Delete</button>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -34,7 +34,7 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="verascene in bridge.verascenes | availableId | orderBy:predicate:reverse"> <tr ng-repeat="verascene in bridge.verascenes | availableVeraSceneId | orderBy:predicate:reverse">
<td>{{verascene.name}}</td> <td>{{verascene.name}}</td>
<td>{{verascene.id}}</td> <td>{{verascene.id}}</td>
<td>{{verascene.room}}</td> <td>{{verascene.room}}</td>
@@ -70,13 +70,13 @@
<th>Actions</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tr ng-repeat="verascene in bridge.verascenes | unavailableId | orderBy:predicate:reverse"> <tr ng-repeat="verascene in bridge.verascenes | unavailableVeraSceneId | orderBy:predicate:reverse">
<td>{{verascene.name}}</td> <td>{{verascene.name}}</td>
<td>{{verascene.id}}</td> <td>{{verascene.id}}</td>
<td>{{verascene.room}}</td> <td>{{verascene.room}}</td>
<td> <td>
<button class="btn btn-danger" type="submit" <button class="btn btn-danger" type="submit"
ng-click="deleteDeviceByMapId(harmonyactivity.id)">Delete</button> ng-click="deleteDeviceByMapId(verascene.id, "veraScene")">Delete</button>
</td> </td>
</tr> </tr>
</table> </table>