$(function () { BWA.CommonView = BWA.CommonView || {}; BWA.CommonView.create = function (params, viewInfo, options, popupSearchViewVisible, handleViewShown, defaultFilter, handleSearchInSearchView, handleSearchViewInitializeUpdate, chartLayout) { var initialized = false, promiseSearchEvent = new $.Deferred(), hasnotModificationPermission = ko.observable(true), isModifiableBusinessField = ko.observable(), viewModel; defaultFilter = defaultFilter || null; //popupSearchViewVisible = false; viewModel = { promiseSearchEvent: promiseSearchEvent.promise(), isModifiableBusinessField: isModifiableBusinessField, hasnotModificationPermission: hasnotModificationPermission, viewShown: function () { hasnotModificationPermission(!BWA.UserInfo.hasPermissionOfModification(viewInfo.viewName)); isModifiableBusinessField(BWA.UserInfo.isDependBusinessField(viewInfo.viewName) === false); // 2018 02 22 hcLee 위치 이동 전 원래 위치 ............ if (_.isNull(handleViewShown) === false && _.isUndefined(handleViewShown) === false) { handleViewShown(); // 상속하여 사용하는쪽에서 처리 해봐야 2015 03 04 } // 2018 02 22 hcLee 위치 이동 ................ 이것 때문에 2틀 소요함, 차트 div를 확대 축소하기 위해서는 차트를 동적으로 생성한 후 (div가 생성된 후) // chartLayout.initialize(); 를 불러줘야 이벤트바인딩이 가능하다. if (initialized === false) { if (_.isUndefined(chartLayout) === false) { chartLayout.initialize(); } initialized = true; } if (options != null) { if (options.NoSearchView == true) // 2019.07.25 kgpark 검색버튼 삭제 popupSearchViewVisible(null); } $SearchView.setPopupVisibleObservable(popupSearchViewVisible); // 여기서 처리되기 때문에 의미가 없었다. (검색버튼이 다시 보이는 현상) 2015 03 04 $SideMenu.showSideMenuIfWill(params.view); if (_.isUndefined(chartLayout) === false) { chartLayout.onShown(); } }, viewHidden: function () { if (_.isUndefined(chartLayout) === false) { chartLayout.onHidden(); } } }; //viewModel.popupSearchViewVisible = popupSearchViewVisible; if (_.has(options, 'searchViewItems')) { var handler = _.isFunction(handleSearchInSearchView) ? handleSearchInSearchView : function (filter) { promiseSearchEvent.notify(filter); }; $SearchView.setupInView(viewModel, options, popupSearchViewVisible, defaultFilter, handler, handleSearchViewInitializeUpdate); } /*else { // hcLee 2015 03 02 alert('sdfs'); }*/ return viewModel; }; });