portal.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. layout.addReady(function(){
  2. (function(layout){
  3. var uri = new URI(window.location.href);
  4. var appNames = "portal.Portal";
  5. var id = uri.getData("id");
  6. var page = uri.getData("page");
  7. var widget = uri.getData("widget");
  8. var parameters = uri.getData("parameters");
  9. var statusObj = null;
  10. var options = {"portalId": id, "pageId": page, "parameters": parameters, "widgetId":widget };
  11. var _load = function(){
  12. //o2.require("MWF.xDesktop.MessageMobile", function(){
  13. // layout.message = new MWF.xDesktop.MessageMobile();
  14. // layout.message.load();
  15. //}.bind(this));
  16. layout.apps = [];
  17. layout.node = $("layout");
  18. var appName=appNames, m_status=statusObj, option=options;
  19. var topWindow = window.opener;
  20. if (topWindow){
  21. try{
  22. if (!appName) appName = topWindow.layout.desktop.openBrowserApp;
  23. if (!m_status && !option) m_status = topWindow.layout.desktop.openBrowserStatus;
  24. if (!option && !m_status) option = topWindow.layout.desktop.openBrowserOption;
  25. }catch(e){}
  26. }
  27. layout.openApplication(null, appName, option||{}, m_status);
  28. };
  29. // if (layout.session && layout.session.user){
  30. // _load();
  31. // }else{
  32. // if (layout.sessionPromise){
  33. // layout.sessionPromise.then(function(){
  34. // _load();
  35. // });
  36. // }
  37. // }
  38. _load();
  39. window.addEventListener('popstate', function (event) {
  40. uri = new URI(document.location.href);
  41. id = uri.getData("id");
  42. page = uri.getData("page");
  43. if (event.state){
  44. id = event.state.id;
  45. page = event.state.page;
  46. }
  47. // var appName = "portal.Portal";
  48. // var option = {"portalId": id, "pageId": page, "widgetId":widget };
  49. layout.app.toPortal(id, page, null, true);
  50. }.bind(this));
  51. })(layout);
  52. });