| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 | 
							- 
 
- $(function () {
 
-     'use strict';
 
-     BWA.Popup = BWA.Popup || {};
 
-     BWA.Popup.VirtualFacility = {
 
-         create: function (viewModel, selectedTreeItem) {
 
-             var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType'),
 
-                 CmfacilityTypeDataSource = BemsWebApplication.db.createDataSource('CmFacility'),
 
-                 facilityTypes = ko.observableArray(),
 
-                 FacilityTypeInfo = ko.observableArray(),
 
-                 isNew = ko.observable(false),
 
-                 popupVisible = ko.observable(),
 
-                 isEditMode = ko.observable(false),
 
-                 isViewMode = ko.observable(true),
 
-                 cancelButtonVisible = ko.observable(true),
 
-                 facilityDataModel = new BWA.CmFacilityViewModel(),
 
-                 popupOptions = {
 
-                     position: { offset: '-450 0' },
 
-                     width: '520px',
 
-                     height: 'auto',
 
-                     //shading: false,
 
-                     shadingColor: 'rgba(0,0,0,0.0)',
 
-                     visible: popupVisible,
 
-                     closeOnOutsideClick: false,
 
-                     animation: utils.popup.createAnimation(),
 
-                     shownAction: function () {
 
-                     },
 
-                 },
 
-                 toolbarItems = [
 
-                     { location: 'before', text: $G('detailInfo') },
 
-                     { location: 'after', widget: 'button', options: { text: $G('edit'), icon: 'edit', visible: isViewMode, disabled: viewModel.hasnotModificationPermission, clickAction: handlePopupButtonEdit } },
 
-                     { location: 'after', widget: 'button', options: { text: $G('delete'), type: 'danger', icon: 'remove', visible: isViewMode, disabled: viewModel.hasnotModificationPermission, clickAction: handlePopupButtonDelete } },
 
-                     { location: 'after', widget: 'button', options: { text: $G('cancel'), icon: 'cancel', visible: cancelButtonVisible, clickAction: handlePopupButtonCancel } },
 
-                     { location: 'after', widget: 'button', options: { text: $G('save'), icon: 'save', visible: isEditMode, disabled: viewModel.hasnotModificationPermission, clickAction: handlePopupButtonSave } },
 
-                     { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: handlePopupButtonClose } }
 
-                 ]
 
-             ;
 
-             facilityDataModel.FacilityTypeName = ko.observable();
 
-             isEditMode.subscribe(function (isEdit) {
 
-                 isViewMode(!isEdit);
 
-             });
 
-             var facilityTempName = ko.observable();
 
-             var EditNameDev;
 
-             function handlePopupButtonEdit() {
 
-                 isEditMode(true);
 
-                 cancelButtonVisible(true);
 
-                 facilityTempName(facilityDataModel.toJS().Name);
 
-             }
 
-             function handlePopupButtonCancel() {
 
-                 facilityDataModel.Name(facilityTempName());
 
-                 isEditMode(false);
 
-                 cancelButtonVisible(false);
 
-             }
 
-             function handlePopupButtonClose() {
 
-                 facilityDataModel.Name(undefined);      // 팝업에 기존 이름 보이기 방지
 
-                 popupVisible(false);
 
-             }
 
-             function refreshList() {
 
-                 CmfacilityTypeDataSource.filter([
 
-                     ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-                 ]);
 
-                 CmfacilityTypeDataSource.load().done(function (result) {
 
-                     FacilityTypeInfo(result);
 
-                 });
 
-                 if (selectedTreeItem())
 
-                     $('#facilityTreeView').cwTreeView('reload', selectedTreeItem().parentData);
 
-             }
 
-             function getDoneFunc(messageId) {
 
-                 return function () {
 
-                     refreshList();
 
-                     popupVisible(false);
 
-                     utils.toast.show($G(messageId));
 
-                 };
 
-             }
 
-             function handlePopupButtonDelete() {
 
-                 BWA.db.CmFacility.remove(
 
-                     BWA.DataUtil.pickKeys(facilityDataModel, 'CmFacility')
 
-                 ).done(getDoneFunc('successDatabaseDeleteMsg'));
 
-                 facilityDataModel.Name(undefined);      // 팝업에 기존 이름 보이기 방지
 
-             }
 
-             function handlePopupButtonSave() {
 
-                 var dfd = $.Deferred();
 
-                 var isDuplicated = false;
 
-                 for (var i = 0; i < FacilityTypeInfo().length; i++) {
 
-                     if (facilityDataModel.toJS().Name == FacilityTypeInfo()[i].Name() && EditNameDev != FacilityTypeInfo()[i].Name()) {
 
-                         isDuplicated = true;
 
-                         break;
 
-                     }
 
-                 }
 
-                 if (!BWA.DataUtil.isValidInputValue(facilityDataModel.toJS().Name)) {
 
-                     utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
 
-                     return 0;
 
-                 }
 
-                 else {
 
-                     if (isDuplicated) {
 
-                         utils.toast.show('이미 동일 명칭이 존재합니다.', 'error');
 
-                         return 0;
 
-                     }
 
-                     else {
 
-                         if (isNew()) {
 
-                             facilityDataModel.SiteId(BWA.UserInfo.SiteId());
 
-                             BWA.db.CmFacility.insert(facilityDataModel.toJS()).done(getDoneFunc('successDatabaseInsertionMsg'));
 
-                         }
 
-                         else {
 
-                             BWA.db.CmFacility.update(
 
-                                 BWA.DataUtil.pickKeys(facilityDataModel, 'CmFacility'),
 
-                                 facilityDataModel.toJS()
 
-                             ).done(getDoneFunc('successDatabaseUpdateMsg'));
 
-                         }
 
-                     }
 
-                 }
 
-                 facilityDataModel.Name(undefined);      // 팝업에 기존 이름 보이기 방지
 
-             }
 
-             function handleViewShown() {
 
-                 refreshList();
 
-                 facilityDataModel.SiteId(BWA.UserInfo.SiteId());
 
-                 facilityTypeDataSource.load().done(function (dbFacilityTypes) {
 
-                     facilityTypes(dbFacilityTypes);
 
-                 });
 
-             }
 
-             return {
 
-                 facilityTypes: facilityTypes,
 
-                 dataModel: facilityDataModel,
 
-                 isNew: isNew,
 
-                 isEditMode: isEditMode,
 
-                 options: popupOptions,
 
-                 toolbarItems: toolbarItems,
 
-                 handleViewShown: handleViewShown,
 
-                 show: function (facilityJson, EditName) {
 
-                     if (_.isUndefined(facilityJson)) {
 
-                         // 등록
 
-                         isNew(true);
 
-                         isEditMode(true);
 
-                         cancelButtonVisible(false);
 
-                         facilityDataModel.FacilityTypeId(99);
 
-                         facilityDataModel.IsVirtualFacility(true);
 
-                     }
 
-                     else {
 
-                         isNew(false);
 
-                         isEditMode(false);
 
-                         cancelButtonVisible(false);
 
-                         facilityDataModel.fromJS(facilityJson);
 
-                         facilityDataModel.FacilityTypeName(facilityJson['BemsFacilityType/Name']);
 
-                     }
 
-                     EditNameDev = EditName;
 
-                     popupVisible(true);
 
-                 }
 
-             };
 
-         }
 
-     }
 
- });
 
 
  |