BemsWebApplication.ConfigData = function (params, viewInfo) { "use strict"; var BemsConfigDataDataSource = BemsWebApplication.db.createDataSource('BemsConfigData'), isEmptyData = true; var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'BemsConfigData', { dataSourceOptions: { select: [ 'SiteId', 'LoadDBIP', 'LoadDBName ', 'TargetDBIP', 'TargetDBName' ], filter: [ ['SiteId', '=', BWA.UserInfo.SiteId()] ], extendOptions: { forceOriginalField: true }, }, columns: [ { dataField: 'SiteId', caption: '번호', width: '8%', alignment: 'center', sortOder: 'desc' }, { dataField: 'LoadDBIP', caption: '데이터 로드 DB IP', width: '23%', alignment: 'center' }, { dataField: 'LoadDBName', caption: '데이터 로드 DB명', width: '23%', alignment: 'center' }, { dataField: 'TargetDBIP', caption: '결과 저장 DB IP', width: '23%', alignment: 'center' }, { dataField: 'TargetDBName', caption: '결과 저장 DB명', width: '23%', alignment: 'center' } ], popupWidth: 500, NoSearchView: true, // 2019.07.25 kgpark 검색버튼 삭제 handleViewShowing: function () { BemsConfigDataDataSource.filter([ ["SiteId", "=", BWA.UserInfo.SiteId()] ]); BemsConfigDataDataSource.load().done(function (BemsConfigData) { if (BemsConfigData.length == 0) { isEmptyData = true; $("#popupInsertButton").dxCommand("instance").option('disabled', false); } else { isEmptyData = false; $("#popupInsertButton").dxCommand("instance").option('disabled', true); } }); }, handleBeforeDelete: function () { isEmptyData = true; $("#popupInsertButton").dxCommand("instance").option('disabled', false); }, // 열을 클릭했을 때 실행되는 함수 handleDataGridRowClick: function () { viewModel.popupVisible(true); }, // 팝업 항목에 데이터가 정상적으로 입력되지 않을 경우 예외처리 beforeInsertingDataViewModel: function (dataModel, dbModelId) { var dfd = $.Deferred(); if (dataModel.LoadDBIP() == null || dataModel.TargetDBIP() == null) { return dfd.resolve(false, '필수 항목이 입력되지 않았습니다!'); } else { isEmptyData = ko.observable(false); $("#popupInsertButton").dxCommand("instance").option('disabled', true); return dfd.resolve(true); } }, beforeUpdateDataViewModel: function (dataModel) { // if (_.isEmpty(dataModel.LoadDBIP()) || _.isEmpty(dataModel.TargetDBIP()) || _.isEmpty(dataModel.InitialDate())) { if (dataModel.LoadDBIP() == null || dataModel.TargetDBIP() == null) { utils.toast.show('필수 항목이 입력되지 않았습니다.', 'error'); return 0; } else { return 2; // 2016 01 19 BaseClass 에서 update한다. } }, // 팝업 항목에 데이터가 정상적으로 들어가지 않을 경우 예외처리 }); function InsertButtonClickAction() { if (!isEmptyData) { utils.toast.show('관리자 계정은 하나만 생성할 수 있습니다.', 'error'); } else { viewModel.popupInsertView(); } } viewModel.popupInsertButtonOptions = { icon: 'add', id: 'create', title: '등록', action: InsertButtonClickAction, disabled: !isEmptyData }; return viewModel; };