416b91337d2efea2288f39e2fafdd48ee6e9ca4e.svn-base 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. BemsWebApplication.ZoneTempHumiSet = function (params, viewInfo) {
  2. "use strict";
  3. var buildingDataSource = BemsWebApplication.db.createDataSource( 'CmBuilding', true ),
  4. floorDataSource = BemsWebApplication.db.createDataSource( 'CmFloor', true );
  5. var buildings = ko.observableArray(),
  6. floors = ko.observableArray();
  7. var buildingsForSearch = ko.observableArray(),
  8. floorsForSearch = ko.observableArray(),
  9. buildingIdForSerach = ko.observable(),
  10. floorIdForSerach = ko.observable();
  11. var deferredForSearch = new $.Deferred();
  12. function handleChangedBuildingInSearchView( e ) {
  13. if( e.value === 0 ) {
  14. floorsForSearch( getDefaultFloorForSearch() );
  15. }
  16. else {
  17. BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floorsForSearch, getDefaultFloorForSearch() );
  18. }
  19. floorIdForSerach( 0 );
  20. }
  21. var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmZoneTempHumiSet', {
  22. rowAlternationEnabled: true,
  23. editing: {
  24. //editMode: 'batch',
  25. //editMode: 'editcell',
  26. editMode: 'cell', // 14.1은 batch, row 두가지 밖에 없다. cell->row로 동작중이다. 2015 07 15 hcLee
  27. editEnabled: true,
  28. //removeEnabled:false,
  29. //visible:false,
  30. },
  31. dataSourceOptions: {
  32. select: ['SiteId', 'FloorId', 'BuildingId', 'ZoneId', 'CmZone/Name', 'CmBuilding/Name', 'CmFloor/Name', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12',
  33. 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12'],
  34. expand: [ 'CmBuilding', 'CmFloor', 'CmZone' ],
  35. extendOptions: {
  36. forceOriginalField: true,
  37. }
  38. },
  39. columns: [
  40. { dataField: 'ZoneId', caption: $G('number'), width: '4%', alignment: 'center' }, // ?
  41. { dataField: 'CmBuilding/Name', caption: $G('buildingName'), width: '10%', alignment: 'center', allowEditing: false },
  42. { dataField: 'CmFloor/Name', caption: $G('floorName'), width: '8%', alignment: 'center', allowEditing: false },
  43. { dataField: 'CmZone/Name', caption: $G('zoneName'), width: '12%', alignment: 'center', allowEditing: false },
  44. { dataField: 'T1', caption: '온도', width: '4%', alignment: 'center' },
  45. { dataField: 'H1', caption: '습도', width: '4%', alignment: 'center' },
  46. { dataField: 'T2', caption: '온도', width: '4%', alignment: 'center' },
  47. { dataField: 'H2', caption: '습도', width: '4%', alignment: 'center' },
  48. { dataField: 'T3', caption: '온도', width: '4%', alignment: 'center' },
  49. { dataField: 'H3', caption: '습도', width: '4%', alignment: 'center' },
  50. { dataField: 'T4', caption: '온도', width: '4%', alignment: 'center' },
  51. { dataField: 'H4', caption: '습도', width: '4%', alignment: 'center' },
  52. { dataField: 'T5', caption: '온도', width: '4%', alignment: 'center' },
  53. { dataField: 'H5', caption: '습도', width: '4%', alignment: 'center' },
  54. { dataField: 'T6', caption: '온도', width: '4%', alignment: 'center' },
  55. { dataField: 'H6', caption: '습도', width: '4%', alignment: 'center' },
  56. { dataField: 'T7', caption: '온도', width: '4%', alignment: 'center' },
  57. { dataField: 'H7', caption: '습도', width: '4%', alignment: 'center' },
  58. { dataField: 'T8', caption: '온도', width: '4%', alignment: 'center' },
  59. { dataField: 'H8', caption: '습도', width: '4%', alignment: 'center' },
  60. { dataField: 'T9', caption: '온도', width: '4%', alignment: 'center' },
  61. { dataField: 'H9', caption: '습도', width: '4%', alignment: 'center' },
  62. { dataField: 'T10', caption: '온도', width: '4%', alignment: 'center' },
  63. { dataField: 'H10', caption: '습도', width: '4%', alignment: 'center' },
  64. { dataField: 'T11', caption: '온도', width: '4%', alignment: 'center' },
  65. { dataField: 'H11', caption: '습도', width: '4%', alignment: 'center' },
  66. { dataField: 'T12', caption: '온도', width: '4%', alignment: 'center' },
  67. { dataField: 'H12', caption: '습도', width: '4%', alignment: 'center' }
  68. /* { dataField: 'T4', caption: '2월', width: '6%', alignment: 'center' },
  69. { dataField: 'T5', caption: '2월', width: '6%', alignment: 'center' },
  70. { dataField: 'T6', caption: '2월', width: '6%', alignment: 'center' },
  71. { dataField: 'T7', caption: '2월', width: '6%', alignment: 'center' },
  72. { dataField: 'T8', caption: '2월', width: '6%', alignment: 'center' },
  73. { dataField: 'T9', caption: '2월', width: '6%', alignment: 'center' },
  74. { dataField: 'T10', caption: '2월', width: '6%', alignment: 'center' },
  75. { dataField: 'T11', caption: '2월', width: '6%', alignment: 'center' },
  76. { dataField: 'T12', caption: '2월', width: '6%', alignment: 'center' }, */
  77. //{ dataField: 'Target_humidity', caption: '목표습도', width: '40%', alignment: 'center' }
  78. //utils.datagrid.columnIsUse( '15%' )
  79. ],
  80. popupWidth: 480,
  81. promiseDataInSearchView: deferredForSearch.promise(),
  82. searchViewItems: [
  83. { id: 'BuildingId', ignoreValue: 0, defaultValue: 0, value: buildingIdForSerach, dataSource: buildingsForSearch, handleChangedValue: handleChangedBuildingInSearchView },
  84. { id: 'FloorId', ignoreValue: 0, defaultValue: 0, withCheckId: 'BuildingId', value: floorIdForSerach, dataSource: floorsForSearch },
  85. { id: 'CmZone/Name' }
  86. ],
  87. handleViewShowing: function() {
  88. buildingDataSource.load().done( function( buildingResults ) {
  89. buildings( buildingResults );
  90. buildingsForSearch( $SearchView.createArrayOfSelectBox( 'BuildingId', buildings() ) );
  91. floorsForSearch( getDefaultFloorForSearch() );
  92. //buildingIdForSerach( 0 );
  93. //floorIdForSerach( 0 );
  94. deferredForSearch.resolve();
  95. });
  96. },
  97. handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
  98. /*
  99. dataGrid.clearSelection();
  100. var data = clickRow.data;
  101. var dataModel = viewModel.dataModel;
  102. dataModel.BuildingName = $KoSet(dataModel.BuildingName, data['CmBuilding/Name']);
  103. dataModel.FloorName = $KoSet(dataModel.FloorName, data['CmFloor/Name']);
  104. popupVisible(true);*/
  105. },
  106. handleAfterLoadingModelByKey: function( data, dataViewModel, isNewInPopup ) {
  107. if( isNewInPopup() == false ) {
  108. // BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', dataViewModel.BuildingId(), floors );
  109. }
  110. },
  111. handlePopupShowing: function (that) {
  112. },
  113. } );
  114. function getDefaultFloorForSearch() {
  115. return $SearchView.createDefaultArray( 'FloorId' );
  116. }
  117. viewModel.buildings = buildings;
  118. viewModel.buildingsForSearch = buildingsForSearch;
  119. viewModel.floors = floors;
  120. viewModel.floorsForSearch = floorsForSearch;
  121. viewModel.handleSelectBoxChangeBuilding = function( e ) {
  122. BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floors );
  123. // viewModel.dataModel.FloorId( null );
  124. }
  125. return viewModel;
  126. };