BemsWebApplication.License = function(params, viewInfo) { "use strict"; var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true), businessFields = ko.observableArray(), businessFieldsForSearch = ko.observableArray(); var deferredForSearch = new $.Deferred(); var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsLicense', { dataSourceOptions: { select: ['SiteId', 'LicenseId', 'CmBusinessField/Name', 'Name', 'IssuingOffice', 'EducationalInstitute', 'IsUse'], expand: ["CmBusinessField"] }, columns: [ { dataField: 'Number', caption: '번호', width: '10%', alignment: 'center' }, { dataField: 'CmBusinessField_Name', caption: $G('businessFieldName'), width: '15%', alignment: 'center' }, { dataField: 'Name', caption: $G('licenseName'), width: '25%', alignment: 'center' }, { dataField: 'IssuingOffice', caption: $G('issuingOffice'), width: '25%', alignment: 'center' }, { dataField: 'EducationalInstitute', caption: $G('educationalInstitute'), width: '15%', alignment: 'center' }, utils.datagrid.columnIsUse('10%') ], promiseDataInSearchView: deferredForSearch.promise(), searchViewItems: [ { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: businessFieldsForSearch }, { id: 'Name' }], handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) { dataGrid.clearSelection(); var data = clickRow.data; var dataModel = viewModel.dataModel; dataModel.BusinessFieldName = $KoSet(dataModel.OrderName, data.CmBusinessField_Name); popupVisible(true); }, handleViewShowing: function() { businessFieldDataSource.load().done(function(result) { businessFields(result); businessFieldsForSearch($SearchView.createDefaultArray('BusinessFieldId').concat(businessFields())); deferredForSearch.resolve(); }); }, handleViewShown: function() { } }); viewModel.businessFields = businessFields; return viewModel; };