$SeniorSearchPopup = function( viewModel, selectSeniorData ) { var dataViewModel = new BemsWebApplication.FmsBusinessSeniorViewModel(), gridView, popupVisible = ko.observable(false), dataSource; var seniorFactory = BemsWebApplication.Factory.Senior; dataSource = new DevExpress.data.DataSource( { select: seniorFactory.dataSourceOptions.select, expand: seniorFactory.dataSourceOptions.expand, store: BemsWebApplication.db.FmsBusinessSenior, map: function( item ) { return BemsWebApplication.db.createViewModel( item ); } } ); var dataGridOptions = utils.datagrid.defaultOptions( $.extend( { dxDataSource: dataSource, selectedSourceItem: dataViewModel, datagridId: 'gridSeniorContainer', dbId: 'FmsBusinessSenior', handleDataGridRowClick: function( id, dataGrid, clickRow ) { var data = clickRow.data; selectSeniorData( { SiteId: data.SiteId(), SeniorId: data.SeniorId(), SeniorItemUserName: data.CmUser_Name(), SeniorItemName: data.FmsBusinessSeniorItem_Name(), SeniorItemPeopleCount: data.FmsBusinessSeniorItem_PeopleCount() } ); popupVisible( false ); }, searchPanelPlaceHolder: '선임이름 검색', }, seniorFactory ) ); function handlePopupShowing( e ) { } function handlePopupShown() { gridView = $('#gridSeniorForSearchContainer').dxDataGrid('instance'); gridView.columnOption( 0, 'visible', false ); gridView.columnOption( 1, 'width', '30%' ); gridView.columnOption( 2, 'width', '30%' ); gridView.columnOption( 3, 'width', '20%' ); gridView.columnOption( 4, 'width', '20%' ); gridView.columnOption( 5, 'visible', false ); } function handlePopupButtonClose() { popupVisible( false ); } var toolbarItems = [ { location: 'before', text: '찾기' }, { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: handlePopupButtonClose } } ]; var popupOptions = { width: '600px', height: 'auto', visible: popupVisible, shading: false, closeOnOutsideClick: true, showingAction: handlePopupShowing, shownAction: handlePopupShown, animation: { show: { type: "pop", duration: 150 , from: { opacity: 1, scale: 0.4 }, to: { scale: 1 } }, hide: { type: "fade", duration: 150, from: 1, to: 0 } } }; return { dataModel: dataViewModel, dataSource: dataSource, popupOptions: popupOptions, toolbarItems: toolbarItems, dataGridOptions: dataGridOptions, show: function() { popupVisible( true ); } }; }