123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- BemsWebApplication.Zone = function( params, viewInfo) {
- "use strict";
- var buildingDataSource = BemsWebApplication.db.createDataSource( 'CmBuilding', true ),
- floorDataSource = BemsWebApplication.db.createDataSource( 'CmFloor', true );
- var buildings = ko.observableArray(),
- floors = ko.observableArray();
- var buildingsForSearch = ko.observableArray(),
- floorsForSearch = ko.observableArray(),
- buildingIdForSerach = ko.observable(),
- floorIdForSerach = ko.observable();
- var deferredForSearch = new $.Deferred();
- function handleChangedBuildingInSearchView( e ) {
- if( e.value === 0 ) {
- floorsForSearch( getDefaultFloorForSearch() );
- }
- else {
- BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floorsForSearch, getDefaultFloorForSearch() );
- }
- floorIdForSerach( 0 );
- }
- var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmZone', {
- dataSourceOptions: {
- select: ['SiteId', 'FloorId', 'BuildingId', 'ZoneId', 'Name', 'CmBuilding/Name', 'CmFloor/Name', 'Target_temperature', 'Target_humidity'],
- expand: [ 'CmBuilding', 'CmFloor' ],
- extendOptions: {
- forceOriginalField: true,
- }
- },
- columns: [
- { dataField: 'ZoneId', caption: $G('number'), width: '15%', alignment: 'center' },
- { dataField: 'CmBuilding/Name', caption: $G('buildingName'), width: '22%', alignment: 'center' },
- { dataField: 'CmFloor/Name', caption: $G('floorName'), width: '23%', alignment: 'center' },
- { dataField: 'Name', caption: $G( 'zoneName' ), width: '40%', alignment: 'center' },
- { dataField: 'Target_temperature', caption: '목표온도', width: '40%', alignment: 'center' },
- { dataField: 'Target_humidity', caption: '목표습도', width: '40%', alignment: 'center' }
- //utils.datagrid.columnIsUse( '15%' )
- ],
- popupWidth: 480,
- promiseDataInSearchView: deferredForSearch.promise(),
- searchViewItems: [
- { id: 'BuildingId', ignoreValue: 0, defaultValue: 0, value: buildingIdForSerach, dataSource: buildingsForSearch, handleChangedValue: handleChangedBuildingInSearchView },
- { id: 'FloorId', ignoreValue: 0, defaultValue: 0, withCheckId: 'BuildingId', value: floorIdForSerach, dataSource: floorsForSearch },
- { id: 'Name' }
- ],
- handleViewShowing: function() {
- buildingDataSource.load().done( function( buildingResults ) {
- buildings( buildingResults );
- buildingsForSearch( $SearchView.createArrayOfSelectBox( 'BuildingId', buildings() ) );
- floorsForSearch( getDefaultFloorForSearch() );
- buildingIdForSerach( 0 );
- floorIdForSerach( 0 );
- deferredForSearch.resolve();
- });
- },
- handleDataGridRowClick: function (id,dataGrid,clickRow,popupVisible) {
- dataGrid.clearSelection();
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
- dataModel.BuildingName = $KoSet(dataModel.BuildingName, data['CmBuilding/Name']);
- dataModel.FloorName = $KoSet(dataModel.FloorName, data['CmFloor/Name']);
- popupVisible(true);
- },
- handleAfterLoadingModelByKey: function( data, dataViewModel, isNewInPopup ) {
- if( isNewInPopup() == false ) {
- BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', dataViewModel.BuildingId(), floors );
- }
- },
- handlePopupShowing: function (that) {
- }
- } );
- function getDefaultFloorForSearch() {
- return $SearchView.createDefaultArray( 'FloorId' );
- }
- viewModel.buildings = buildings;
- viewModel.buildingsForSearch = buildingsForSearch;
- viewModel.floors = floors;
- viewModel.floorsForSearch = floorsForSearch;
- viewModel.handleSelectBoxChangeBuilding = function( e ) {
- BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floors );
- viewModel.dataModel.FloorId( null );
- }
- return viewModel;
- };
|