Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

sensors.controller.js 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. angular.module('camotion')
  2. .controller('SensorsController', ['$scope', 'SensorsService', '$timeout',
  3. function($scope, SensorsService, $timeout) {
  4. $scope.values = {};
  5. $scope.interval = 1000;
  6. $scope.luTable = {
  7. columns: [
  8. {
  9. name: "Name",
  10. width: 3,
  11. getValue: function (item) {
  12. return item.Name;
  13. }
  14. },{
  15. name: "Description",
  16. width: 7,
  17. getValue: function (item) {
  18. return item.Description;
  19. }
  20. },{
  21. name: "Value",
  22. width: 2,
  23. getValue: function (item) {
  24. return $scope.values[item.Id].value.Value;
  25. }
  26. }
  27. ],
  28. getLoadPagePromise: function (page, perPage, query, promise) {
  29. return SensorsService.getAll({page: page, perPage: perPage, query: query}, promise);
  30. },
  31. onPageChanged: function()
  32. {
  33. for (var i in $scope.values) {
  34. $timeout.cancel($scope.values[i].timerId);
  35. }
  36. $scope.values = {};
  37. var items = $scope.luTable.luBasicTableScope.items.Data;
  38. for (i = 0; i < items.length; ++i) {
  39. var item = angular.copy(items[i]);
  40. $scope.values[item.Id] = {
  41. value: 0,
  42. timerId: 0
  43. };
  44. $scope.updateSensor(item);
  45. }
  46. }
  47. };
  48. $scope.updateSensor = function(sensor)
  49. {
  50. if (typeof $scope.values[sensor.Id] != 'undefined') {
  51. SensorsService.getValue({sensor_id: sensor.Id})
  52. .then(function (value) {
  53. if (typeof $scope.values[sensor.Id] != 'undefined') {
  54. $scope.values[sensor.Id] = {
  55. value: value,
  56. timerId: $timeout(function () {
  57. $scope.updateSensor(sensor);
  58. }, $scope.interval)
  59. }
  60. }
  61. });
  62. }
  63. };
  64. $scope.$on('$destroy', function(){
  65. $scope.values = {};
  66. });
  67. }]);