$(function () { 'use strict'; BWA.Popup.PurchaseRequestSearch = BWA.Popup.PurchaseRequestSearch || {}; BWA.Popup.PurchaseRequestSearch.create = function (viewModel, options) { options = options || {}; options.datagridId = options.datagridId || 'purchaseRequestDataGridForSearch'; var onSelectedPurchaseRequest = options.onSelectedPurchaseRequest; var dataViewModel = new BemsWebApplication.FmsMaterialPurchaseRequestViewModel(), initialized = false, gridView, popupVisible = ko.observable(false), purchaseRequestFactory = BemsWebApplication.Factory.PurchaseRequest, dataSource = BWA.DataUtil.createDataSource({ dataSourceOptions: purchaseRequestFactory.getDataSourceForDataGrid() }, 'FmsMaterialPurchaseRequest'); dataSource.filter(options.filter); var dataGridOptions = utils.datagrid.defaultOptions({ dxDataSource: dataSource, selectedSourceItem: dataViewModel, datagridId: options.datagridId, dbId: 'FmsPurchaseRequest', handleDataGridRowClick: function () { }, columns: purchaseRequestFactory.getColumns([ { dataField: 'PurchaseRequestId', width: '15%' }, { dataField: 'RequestDate', width: '20%' }, { dataField: 'Title', width: '60%' }, { dataField: 'CmUser/Name', width: '15%' } ]), wordWrapEnabled: true }); dataGridOptions.handleDataGridRowClick = function (id, dataGrid, clickRow) { var data = clickRow.data; if (!_.isUndefined(onSelectedPurchaseRequest)) { onSelectedPurchaseRequest({ SiteId: data.SiteId(), BusinessFieldId: data.BusinessFieldId(), PurchaseRequestId: data.PurchaseRequestId(), Title: data.Title(), Reason: data.Reason(), }); } popupVisible(false); }; function handlePopupShown() { $("#purchaseRequestDataGridForSearch").dxDataGrid({ paging: { pageSize: 14, enabled: true }, pager: { allowedPageSizes: false, visible: true } }); if (initialized === false) { gridView = $('#purchaseRequestDataGridForSearch').dxDataGrid('instance'); initialized = true; } gridView.refresh(); // refreshList(); searchView.show(); } function handlePopupButtonClose() { popupVisible(false); } var toolbarItems = [ { location: 'before', text: '구매요청 선택' }, { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: handlePopupButtonClose } } ]; var popupOptions = { width: '680px', height: '580px', visible: popupVisible, closeOnOutsideClick: true, //showingAction: handlePopupShowing, shownAction: handlePopupShown, animation: window.utils.popup.createAnimation() }; var searchView = BWA.Popup.SearchView.create({ parentPopupId: 'popupSearchPurchaseRequest', parentPopupVisible: popupVisible, searchItems: [ { id: 'RequestDate', type: 'dateRange', isOnlyDate: true }, { id: 'Title' }, { id: 'CmUser/Name' }, //{ id: 'FmsMaterial/Name', filterFormatString: 'FmsMaterialPurchaseRequestMaterial/any(c: substringof(\'{0}\', c/FmsMaterial/Name))', type: 'formatting' }, ], handleInitializeUpdate: function () { }, handleSearch: function (filter, searchItems) { var eq = BWA.DataUtil.constructEqualFilter; var and = BWA.DataUtil.andFilter; filter = [ eq('SiteId', BWA.UserInfo.SiteId()), and, eq('ProgressId', $Code.PurchaseProgress.PURCHASE_REQUEST_APPROVAL) ].concat(filter); gridView.filter(filter); } }); return { dataModel: dataViewModel, dataSource: dataSource, popupOptions: popupOptions, toolbarItems: toolbarItems, dataGridOptions: dataGridOptions, searchView: searchView, show: function () { popupVisible(true); } }; }; });