fe694de174c52167912a1b9eb81d6a1aa157abc1.svn-base 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. BemsWebApplication.AlarmGroup = function (params, viewInfo) {
  2. "use strict";
  3. var BemsAlarmGroupDataSource = BemsWebApplication.db.createDataSource('BemsAlarmGroup');
  4. var AlarmGroupInfo = ko.observableArray();
  5. var RowName;
  6. var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'BemsAlarmGroup', {
  7. columns: [
  8. { dataField: 'AlarmGroupId', caption: '번호', width: '20%', alignment: 'center' },
  9. { dataField: 'Name', caption: '알람 그룹 이름', width: '60%', alignment: 'center' }
  10. ],
  11. popupWidth: 480,
  12. NoSearchView: true, // 2019.07.25 kgpark 검색버튼 삭제
  13. handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
  14. dataGrid.clearSelection();
  15. var data = clickRow.data;
  16. RowName = data.Name;
  17. popupVisible(true);
  18. },
  19. // 이름 중복 방지
  20. handlePopupShowing: function (that) {
  21. BemsAlarmGroupDataSource.filter([
  22. ["SiteId", "=", BWA.UserInfo.SiteId()]
  23. ]);
  24. BemsAlarmGroupDataSource.load().done(function (result) {
  25. AlarmGroupInfo(result);
  26. });
  27. },
  28. beforeInsertingDataViewModel: function (dataModel, dbModelId) {
  29. var dfd = $.Deferred();
  30. var isDuplicated = false;
  31. for (var i = 0; i < AlarmGroupInfo().length; i++) {
  32. if (dataModel.Name() == AlarmGroupInfo()[i].Name()) {
  33. isDuplicated = true;
  34. break;
  35. }
  36. }
  37. if (!BWA.DataUtil.isValidInputValue(dataModel.Name()))
  38. return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
  39. else {
  40. if (isDuplicated)
  41. return dfd.resolve(false, '이미 동일 정보가 존재합니다.');
  42. else
  43. return dfd.resolve(true);
  44. }
  45. },
  46. beforeUpdateDataViewModel: function () {
  47. var isDuplicated = false;
  48. for (var i = 0; i < AlarmGroupInfo().length; i++) {
  49. if (viewModel.dataModel.Name() == AlarmGroupInfo()[i].Name() && RowName() != AlarmGroupInfo()[i].Name()) {
  50. isDuplicated = true;
  51. break;
  52. }
  53. }
  54. if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
  55. utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
  56. return 0;
  57. }
  58. else {
  59. if (isDuplicated) {
  60. utils.toast.show('이미 동일 정보가 존재합니다.', 'error');
  61. return 0;
  62. }
  63. else
  64. return 2;
  65. }
  66. }
  67. });
  68. return viewModel;
  69. };