bde425bdcf634aa5ebc0bcb8232b49d9d6b5840b.svn-base 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. 
  2. $(function() {
  3. 'use strict';
  4. BWA.Popup = BWA.Popup || {};
  5. BWA.Popup.Point = {
  6. create: function(viewModel, selectedTreeItem) {
  7. var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType'),
  8. serviceTypeDataSource = BemsWebApplication.db.createDataSource('BemsServiceType'),
  9. fuelTypeDataSource = BemsWebApplication.db.createDataSource('BemsFuelType'),
  10. pointBaseDataDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPointBaseData'),
  11. serviceTypes = ko.observableArray(),
  12. fuelTypes = ko.observableArray(),
  13. properties = ko.observableArray(),
  14. valueTypes = $G.ValueTypes,
  15. eq = BWA.DataUtil.constructEqualFilter,
  16. and = BWA.DataUtil.andFilter,
  17. dataModel = viewModel.dataModel
  18. ;
  19. dataModel.FacilityTypeName = ko.observable();
  20. dataModel.ServiceTypeName = ko.observable();
  21. dataModel.ValueTypeName = ko.observable();
  22. dataModel.FuelTypeName = ko.observable();
  23. dataModel.FacilityName = ko.observable();
  24. function getDoneFunc(koObservableArray) {
  25. return function(dbArray) {
  26. koObservableArray(dbArray);
  27. };
  28. }
  29. function handleInitializeDataModelValue(dataModel) {
  30. var item = selectedTreeItem();
  31. if (item == null) return;
  32. if (item.depth !== 3) return;
  33. var facility = item.data;
  34. dataModel.SiteId(facility.SiteId());
  35. //dataModel.SiteId(BWA.UserInfo.SiteId()); // hcLee 2016 06 03
  36. dataModel.FacilityCode(facility.FacilityCode());
  37. dataModel.FacilityTypeId(facility.FacilityTypeId());
  38. dataModel.FacilityTypeName(facility['BemsFacilityType/Name']());
  39. dataModel.FacilityName(facility.Name());
  40. //dataModel.PropertyId(100);
  41. //dataModel.IsAccumulated(true);
  42. pointBaseDataDataSource.filter([
  43. eq('FacilityTypeId', dataModel.FacilityTypeId())
  44. ]);
  45. pointBaseDataDataSource.load().done(getDoneFunc(properties));
  46. }
  47. function handleSelectBoxChangeProperty(e) {
  48. var property = _.find(properties(), function(x) {
  49. return x.PropertyId() === e.value;
  50. });
  51. if (property) {
  52. dataModel.Name(property.Name());
  53. }
  54. }
  55. function handleDataGridRowClick(id, dataGrid, clickRow, popupVisible) {
  56. var data = clickRow.data;
  57. var valueType = _.find(valueTypes, function(x) {
  58. return x.ValueType === data.ValueType();
  59. });
  60. dataModel.FacilityName(data['CmFacility/Name']());
  61. dataModel.FacilityTypeName(data['BemsFacilityType/Name']());
  62. dataModel.ServiceTypeName(data['BemsServiceType/Name']());
  63. dataModel.FuelTypeName(data['BemsFuelType/Name']());
  64. dataModel.ValueTypeName(valueType.Name);
  65. popupVisible(true);
  66. }
  67. function handleViewShown() {
  68. serviceTypeDataSource.load().done(getDoneFunc(serviceTypes));
  69. fuelTypeDataSource.load().done(getDoneFunc(fuelTypes));
  70. }
  71. return {
  72. serviceTypes: serviceTypes,
  73. fuelTypes: fuelTypes,
  74. properties: properties,
  75. valueTypes: valueTypes,
  76. handleViewShown: handleViewShown,
  77. handleDataGridRowClick: handleDataGridRowClick,
  78. handleSelectBoxChangeProperty: handleSelectBoxChangeProperty,
  79. handleInitializeDataModelValue: handleInitializeDataModelValue,
  80. };
  81. }
  82. }
  83. });