63f47402a6950322782b430bf995abc0bb4c7b11.svn-base 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. $(function () {
  2. BWA.CommonView = BWA.CommonView || {};
  3. BWA.CommonView.create = function (params, viewInfo, options,
  4. popupSearchViewVisible, handleViewShown, defaultFilter,
  5. handleSearchInSearchView, handleSearchViewInitializeUpdate,
  6. chartLayout) {
  7. var initialized = false,
  8. promiseSearchEvent = new $.Deferred(),
  9. hasnotModificationPermission = ko.observable(true),
  10. isModifiableBusinessField = ko.observable(),
  11. viewModel;
  12. defaultFilter = defaultFilter || null;
  13. //popupSearchViewVisible = false;
  14. viewModel = {
  15. promiseSearchEvent: promiseSearchEvent.promise(),
  16. isModifiableBusinessField: isModifiableBusinessField,
  17. hasnotModificationPermission: hasnotModificationPermission,
  18. viewShown: function () {
  19. hasnotModificationPermission(!BWA.UserInfo.hasPermissionOfModification(viewInfo.viewName));
  20. isModifiableBusinessField(BWA.UserInfo.isDependBusinessField(viewInfo.viewName) === false);
  21. // 2018 02 22 hcLee 위치 이동 전 원래 위치 ............
  22. if (_.isNull(handleViewShown) === false && _.isUndefined(handleViewShown) === false) {
  23. handleViewShown(); // 상속하여 사용하는쪽에서 처리 해봐야 2015 03 04
  24. }
  25. // 2018 02 22 hcLee 위치 이동 ................ 이것 때문에 2틀 소요함, 차트 div를 확대 축소하기 위해서는 차트를 동적으로 생성한 후 (div가 생성된 후)
  26. // chartLayout.initialize(); 를 불러줘야 이벤트바인딩이 가능하다.
  27. if (initialized === false) {
  28. if (_.isUndefined(chartLayout) === false) {
  29. chartLayout.initialize();
  30. }
  31. initialized = true;
  32. }
  33. if (options != null) {
  34. if (options.NoSearchView == true) // 2019.07.25 kgpark 검색버튼 삭제
  35. popupSearchViewVisible(null);
  36. }
  37. $SearchView.setPopupVisibleObservable(popupSearchViewVisible); // 여기서 처리되기 때문에 의미가 없었다. (검색버튼이 다시 보이는 현상) 2015 03 04
  38. $SideMenu.showSideMenuIfWill(params.view);
  39. if (_.isUndefined(chartLayout) === false) {
  40. chartLayout.onShown();
  41. }
  42. },
  43. viewHidden: function () {
  44. if (_.isUndefined(chartLayout) === false) {
  45. chartLayout.onHidden();
  46. }
  47. }
  48. };
  49. //viewModel.popupSearchViewVisible = popupSearchViewVisible;
  50. if (_.has(options, 'searchViewItems')) {
  51. var handler = _.isFunction(handleSearchInSearchView) ? handleSearchInSearchView :
  52. function (filter) {
  53. promiseSearchEvent.notify(filter);
  54. };
  55. $SearchView.setupInView(viewModel, options, popupSearchViewVisible, defaultFilter, handler, handleSearchViewInitializeUpdate);
  56. }
  57. /*else { // hcLee 2015 03 02
  58. alert('sdfs');
  59. }*/
  60. return viewModel;
  61. };
  62. });