$ElecPeakFacilityPopup = function (viewModel, selectPatrolPosData, isMultipleSelect, onSelectedPatrolPoss, datagridId) { //var isMultipleSelect = isMultipleSelect; //var onSelectedPatrolPoss = onSelectedPatrolPoss; //var datagridId = datagridId; var dataViewModel = new BemsWebApplication.FmsWorkRequestToFacilityViewModel(), gridView, popupVisible = ko.observable(false), dataView = ko.observableArray(), //dataSource; findKey = ko.observable(new Date()), // // _Name 작업을 original로 수정해야 한다. dataSource = BWA.DataUtil.createDataSource({ dataSourceOptions: { select: ['SiteId', 'MaxDateTime', 'FacilityCode', 'CmFacility/Name', ], expand: ["CmFacility"], extendOptions: { forceOriginalField: true } } }, 'BemsPeakFacility'); var dataGridOptions = utils.datagrid.defaultOptions({ //dxDataSource: dataView, dataSource: dataView, selectedSourceItem: dataViewModel, datagridId: 'gridFacility', dbId: 'BemsPeakFacility', useNumberColumn: true, columns: [ { dataField: 'FacilityCode', caption: $G('number'), width: '10%', alignment: 'center', allowFiltering: false }, { dataField: 'CmFacility/Name', caption: '설비', width: '20%', alignment: 'center' }, ], searchPanelPlaceHolder: '설비명칭 검색', }); if (isMultipleSelect) { //dataGridOptions.selection = { mode: 'multiple', allowSelectAll: true }; dataGridOptions.handleDataGridRowClick = function (id, dataGrid, clickRow) { /* var data = clickRow.data; if (!_.isUndefined(onSelectedUsers)) { onSelectedUsers([BWA.DataUtil.convertViewModelToJS(data)]); }*/ }; } else { /* dataGridOptions.handleDataGridRowClick = function (id, dataGrid, clickRow) { var data = clickRow.data; selectUserData({ SiteId: data.SiteId(), UserId: data.UserId(), CompanyId: data.CompanyId(), DepartmentId: data.DepartmentId(), CompanyName: data.CmCompany_Name(), MobilePhoneNo: data.MobilePhoneNo(), Name: data.Name() }); if (data.CmDepartment_Name !== undefined) selectUserData.DepartmentName = data.CmDepartment_Name(); popupVisible(false); }*/ } function handlePopupShowing(e) { var eq = BWA.DataUtil.constructEqualFilter; var and = BWA.DataUtil.andFilter; dataSource.filter([ eq('SiteId', BWA.UserInfo.SiteId()), and, eq('MaxDateTime', findKey()), // ]); dataSource.load().done(function (datas) { dataView(datas); $('#gridFacility').dxDataGrid('instance').refresh(); gridView = $('#gridFacility').dxDataGrid('instance'); }); } function handlePopupShown() { } function handlePopupButtonSelect() { /* var array = utils.datagrid.getSelectedRowsData('gridPatrolPosContainer'); if (!_.isUndefined(onSelectedPatrolPoss)) { onSelectedPatrolPoss(array); } $('#gridPatrolPosContainer').dxDataGrid('instance').clearSelection(); popupVisible(false);*/ } function handlePopupButtonClose() { //$('#gridPatrolPosContainer').dxDataGrid('instance').clearSelection(); popupVisible(false); } var toolbarItems = [ //{ location: 'before', text: '찾기' }, //{ location: 'after', widget: 'button', options: { text: $G('select'), icon: 'save', visible: isMultipleSelect, clickAction: handlePopupButtonSelect } }, { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: handlePopupButtonClose } } ]; var popupOptions = { //width: isMultipleSelect ? '800px' : '600px', width: '600px', height: 'auto', visible: popupVisible, closeOnOutsideClick: true, shading: false, showingAction: handlePopupShowing, shownAction: handlePopupShown, animation: { show: { type: "pop", duration: 200, from: { opacity: 1, scale: 0.4 }, to: { scale: 1 } }, hide: { type: "fade", duration: 200, from: 1, to: 0 } } }; return { dataModel: dataViewModel, dataSource: dataSource, popupOptions: popupOptions, toolbarItems: toolbarItems, dataGridOptions: dataGridOptions, show: function (MaxDateTime) { findKey(MaxDateTime()); popupVisible(true); } }; }