From 4b4d4e36c7989d31c63c545409a9dcb94a1467d1 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 30 Nov 2015 16:43:14 -0600 Subject: [PATCH] Update filtering capability. Still errors in html/angular. --- pom.xml | 2 +- src/main/resources/public/scripts/app.js | 74 ++++++++++++++++--- .../public/views/harmonyactivity.html | 6 +- .../resources/public/views/harmonydevice.html | 2 +- .../resources/public/views/veradevice.html | 6 +- .../resources/public/views/verascene.html | 6 +- 6 files changed, 76 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 26498f1..2bc19ed 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.bwssystems.HABridge ha-bridge - 1.1.0e + 1.1.0f jar HA Bridge diff --git a/src/main/resources/public/scripts/app.js b/src/main/resources/public/scripts/app.js index 5a6428d..4cdd4f6 100644 --- a/src/main/resources/public/scripts/app.js +++ b/src/main/resources/public/scripts/app.js @@ -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++) { - if(this.state.devices[i].mapId == id) + if(this.state.devices[i].mapId == id && this.state.devices[i].mapType == type) return true; } 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++) { - 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); } }; @@ -502,7 +502,7 @@ app.controller('AddingController', function ($scope, $location, $http, bridgeSer } $scope.device.deviceType = "scene"; $scope.device.name = verascene.name; - $scope.devoce.mapType = "veraScene"; + $scope.device.mapType = "veraScene"; $scope.device.mapId = verascene.id; $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=" @@ -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) { var out = []; if(input == null) return out; 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]); } } @@ -607,13 +607,13 @@ app.filter('availableId', function(bridgeService) { } }); -app.filter('unavailableId', function(bridgeService) { +app.filter('unavailableHarmonyActivityId', 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)){ + if(bridgeService.findDeviceByMapId(input[i].id, "harmonyActivity")){ 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() { return function(input) { var out = []; diff --git a/src/main/resources/public/views/harmonyactivity.html b/src/main/resources/public/views/harmonyactivity.html index 25fcaad..eb8e9da 100644 --- a/src/main/resources/public/views/harmonyactivity.html +++ b/src/main/resources/public/views/harmonyactivity.html @@ -30,7 +30,7 @@ Actions - + {{harmonyactivity.label}} {{harmonyactivity.id}} @@ -61,11 +61,11 @@ Actions - + {{harmonyactivity.label}} {{harmonyactivity.id}} + ng-click="deleteDeviceByMapId(harmonyactivity.id, harmonyActivity)">Delete diff --git a/src/main/resources/public/views/harmonydevice.html b/src/main/resources/public/views/harmonydevice.html index aa8a8e9..b10c325 100644 --- a/src/main/resources/public/views/harmonydevice.html +++ b/src/main/resources/public/views/harmonydevice.html @@ -87,7 +87,7 @@ {{device.mapId}} + ng-click="deleteDeviceByMapId(device.mapId, device.mapType)">Delete diff --git a/src/main/resources/public/views/veradevice.html b/src/main/resources/public/views/veradevice.html index d9ed6e8..e62ec45 100644 --- a/src/main/resources/public/views/veradevice.html +++ b/src/main/resources/public/views/veradevice.html @@ -45,7 +45,7 @@ Actions - + {{veradevice.name}} {{veradevice.id}} {{veradevice.category}} @@ -86,14 +86,14 @@ Actions - + {{veradevice.name}} {{veradevice.id}} {{veradevice.category}} {{veradevice.room}} + ng-click="deleteDeviceByMapId(veradevice.id, "veraDevice")">Delete diff --git a/src/main/resources/public/views/verascene.html b/src/main/resources/public/views/verascene.html index c9d8ce4..d39e2c3 100644 --- a/src/main/resources/public/views/verascene.html +++ b/src/main/resources/public/views/verascene.html @@ -34,7 +34,7 @@ Actions - + {{verascene.name}} {{verascene.id}} {{verascene.room}} @@ -70,13 +70,13 @@ Actions - + {{verascene.name}} {{verascene.id}} {{verascene.room}} + ng-click="deleteDeviceByMapId(verascene.id, "veraScene")">Delete