/** * Checks if is edits the portlet in create page wizard. * * @return true, if is edits the portlet in create page wizard */ public static boolean isEditPortletInCreatePageWizard() { UIPortalApplication portalApplication = Util.getUIPortalApplication(); UIMaskWorkspace uiMaskWS = portalApplication.getChildById(UIPortalApplication.UI_MASK_WS_ID); // show maskworkpace is being in Portal page edit mode if (uiMaskWS.getWindowWidth() > 0 && uiMaskWS.getWindowHeight() < 0) return true; return false; }
public void execute(final Event<UIPortletForm> event) throws Exception { UIPortletForm uiPortletForm = event.getSource(); UIPortlet uiPortlet = uiPortletForm.getUIPortlet(); UIFormInputIconSelector uiIconSelector = uiPortletForm.getChild(UIFormInputIconSelector.class); uiPortletForm.invokeSetBindingBean(uiPortlet); if (uiIconSelector.getSelectedIcon().equals("Default")) { uiPortlet.setIcon("PortletIcon"); } else { uiPortlet.setIcon(uiIconSelector.getSelectedIcon()); } UIFormInputThemeSelector uiThemeSelector = uiPortletForm.getChild(UIFormInputThemeSelector.class); uiPortlet.putSuitedTheme( null, uiThemeSelector.getChild(UIItemThemeSelector.class).getSelectedTheme()); uiPortletForm.savePreferences(); UIMaskWorkspace uiMaskWorkspace = uiPortletForm.getParent(); PortalRequestContext pcontext = (PortalRequestContext) event.getRequestContext(); uiMaskWorkspace.createEvent("Close", Phase.DECODE, pcontext).broadcast(); if (uiPortletForm.hasEditMode()) { uiPortlet.setCurrentPortletMode(PortletMode.VIEW); } String width = uiPortletForm.getUIStringInput("width").getValue(); if (width == null || width.length() == 0) { uiPortlet.setWidth(null); } else { if (!width.endsWith("px")) { width.concat("px"); } uiPortlet.setWidth(width); } String height = uiPortletForm.getUIStringInput("height").getValue(); if (height == null || height.length() == 0) { uiPortlet.setHeight(null); } else { if (!height.endsWith("px")) { height.concat("px"); } uiPortlet.setHeight(height); } pcontext .getJavascriptManager() .addJavascript("eXo.portal.PortalComposer.toggleSaveButton();"); UIPortalApplication uiPortalApp = uiPortlet.getAncestorOfType(UIPortalApplication.class); UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID); pcontext.addUIComponentToUpdateByAjax(uiWorkingWS); pcontext.ignoreAJAXUpdateOnPortlets(true); }
public void execute(final Event<UIPortletForm> event) throws Exception { UIPortletForm uiPortletForm = event.getSource(); UIPortlet uiPortlet = uiPortletForm.getUIPortlet(); if (uiPortletForm.hasEditMode()) { uiPortlet.setCurrentPortletMode(PortletMode.VIEW); } UIPortalApplication uiPortalApp = Util.getUIPortalApplication(); PortalRequestContext pcontext = (PortalRequestContext) event.getRequestContext(); // add by Pham Dinh Tan UIMaskWorkspace uiMaskWorkspace = uiPortalApp.getChildById(UIPortalApplication.UI_MASK_WS_ID); uiMaskWorkspace.broadcast(event, Phase.DECODE); pcontext.ignoreAJAXUpdateOnPortlets(true); }
public void execute(Event<UIPortlet> event) throws Exception { UIPortlet uiPortlet = event.getSource(); UIPortalApplication uiApp = Util.getUIPortalApplication(); UIMaskWorkspace uiMaskWS = uiApp.getChildById(UIPortalApplication.UI_MASK_WS_ID); UIPortletForm uiPortletForm = uiMaskWS.createUIComponent(UIPortletForm.class, null, null); if (uiPortletForm.setValues(uiPortlet) == false) { uiMaskWS.setUIComponent(null); WebuiRequestContext context = WebuiRequestContext.getCurrentInstance(); context .getUIApplication() .addMessage( (new ApplicationMessage( "UIPortlet.message.portletDeleted", null, ApplicationMessage.ERROR))); } else { uiMaskWS.setUpdated(true); uiMaskWS.setWindowSize(800, -1); event.getRequestContext().addUIComponentToUpdateByAjax(uiMaskWS); } }
/** * Add Application to UiPage * * @param event * @throws Exception */ private static void addApplicationToPage(Event<UIAddNewApplication> event, boolean atStartup) throws Exception { UIPortalApplication uiPortalApp = Util.getUIPortalApplication(); UIPortal uiPortal = uiPortalApp.getShowedUIPortal(); PortalRequestContext pcontext = Util.getPortalRequestContext(); UIDesktopPage uiDesktopPage = uiPortal.findFirstComponentOfType(UIDesktopPage.class); if (uiDesktopPage == null) { pcontext.addUIComponentToUpdateByAjax( uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID)); UIMaskWorkspace maskWorkspace = uiPortalApp.getChildById(UIPortalApplication.UI_MASK_WS_ID); maskWorkspace.createEvent("Close", Event.Phase.DECODE, event.getRequestContext()).broadcast(); pcontext.setFullRender(true); return; } String applicationId = event.getRequestContext().getRequestParameter(UIComponent.OBJECTID); Application application = event.getSource().getApplication(applicationId); ApplicationType appType = application.getType(); UIPortlet uiPortlet = uiDesktopPage.createUIComponent(UIPortlet.class, null, null); ApplicationState appState; // TODO: Check if there 's already a portlet window of this portlet. A CloneApplicationState // should be created in such case appState = new TransientApplicationState<Object>(application.getContentId()); uiPortlet.setState(new PortletState(appState, appType)); uiPortlet.setPortletInPortal(false); if (atStartup) { uiPortlet.getProperties().setProperty("appStatus", "HIDE"); } String portletName = application.getApplicationName(); String displayName = application.getDisplayName(); if (displayName != null) { uiPortlet.setTitle(displayName); } else if (portletName != null) { uiPortlet.setTitle(portletName); } uiPortlet.setDescription(application.getDescription()); List<String> accessPers = application.getAccessPermissions(); String[] accessPermissions = accessPers.toArray(new String[accessPers.size()]); uiPortlet.setAccessPermissions(accessPermissions); // Add portlet to page uiDesktopPage.addChild(uiPortlet); if (uiDesktopPage.isModifiable()) { Page page = (Page) PortalDataMapper.buildModelObject(uiDesktopPage); if (page.getChildren() == null) { page.setChildren(new ArrayList<ModelObject>()); } DataStorage dataService = uiPortalApp.getApplicationComponent(DataStorage.class); dataService.save(page); // Rebuild the uiPage to synchronize (storageId, storageName) mapping page = dataService.getPage(page.getPageId()); page.setModifiable(true); uiDesktopPage.getChildren().clear(); PortalDataMapper.toUIPage(uiDesktopPage, page); } UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID); pcontext.setFullRender(true); pcontext.addUIComponentToUpdateByAjax(uiWorkingWS); }
public void execute(Event<UIPageForm> event) throws Exception { UIPageForm uiPageForm = event.getSource(); UIPortalApplication uiPortalApp = uiPageForm.getAncestorOfType(UIPortalApplication.class); PortalRequestContext pcontext = Util.getPortalRequestContext(); UIMaskWorkspace uiMaskWS = uiPortalApp.getChildById(UIPortalApplication.UI_MASK_WS_ID); uiMaskWS.setUIComponent(null); uiMaskWS.setShow(false); pcontext.addUIComponentToUpdateByAjax(uiMaskWS); UIPage uiPage = uiPageForm.getUIPage(); if (uiPage == null) return; String storageId = uiPage.getStorageId(); Page page = new Page(); page.setPageId(uiPage.getPageId()); uiPageForm.invokeSetBindingBean(page); page.setOwnerType(uiPage.getOwnerType()); List<UIPortlet> uiPortlets = new ArrayList<UIPortlet>(); findAllPortlet(uiPortlets, uiPage); ArrayList<ModelObject> applications = new ArrayList<ModelObject>(); for (UIPortlet uiPortlet : uiPortlets) { applications.add(PortalDataMapper.buildModelObject(uiPortlet)); } if (Page.DESKTOP_PAGE.equals(uiPage.getFactoryId()) && !Page.DESKTOP_PAGE.equals(page.getFactoryId())) { page.setShowMaxWindow(false); uiPage.getChildren().clear(); page.setChildren(applications); PortalDataMapper.toUIPage(uiPage, page); // if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ; if (page.getChildren() == null) page.setChildren(new ArrayList<ModelObject>()); // uiEditBar.setUIPage(uiPage); // Class<?> [] childrenToRender = {UIPageEditBar.class, // UIPageNodeSelector.class, UIPageNavigationControlBar.class}; // uiManagement.setRenderedChildrenOfTypes(childrenToRender); pcontext.setFullRender(true); UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID); pcontext.addUIComponentToUpdateByAjax(uiWorkingWS); return; } if (Page.DESKTOP_PAGE.equals(page.getFactoryId())) { uiPage.getChildren().clear(); page.setChildren(applications); PortalDataMapper.toUIPage(uiPage, page); // if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ; if (page.getChildren() == null) page.setChildren(new ArrayList<ModelObject>()); UIPortalToolPanel toolPanel = Util.getUIPortalToolPanel(); toolPanel.setShowMaskLayer(true); pcontext.setFullRender(true); UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID); pcontext.addUIComponentToUpdateByAjax(uiWorkingWS); DataStorage dataService = uiPageForm.getApplicationComponent(DataStorage.class); dataService.save(page); return; } List<UIComponent> uiChildren = uiPage.getChildren(); if (uiChildren == null) { PortalDataMapper.toUIPage(uiPage, page); return; } ArrayList<ModelObject> children = new ArrayList<ModelObject>(); for (UIComponent child : uiChildren) { ModelObject component = PortalDataMapper.buildModelObject(child); if (component != null) children.add(component); } page.setChildren(children); uiPage.getChildren().clear(); try { PortalDataMapper.toUIPage(uiPage, page); } catch (NoSuchDataException de) { uiPortalApp.addMessage( new ApplicationMessage( "UIPageForm.msg.notExistOrDeleted", null, ApplicationMessage.ERROR)); UIPortalComposer uiPortalComposer = (UIPortalComposer) uiPortalApp.findComponentById("UIPageEditor"); if (uiPortalComposer != null) { Event aboutEvent = new Event<UIPortalComposer>(uiPortalComposer, "Abort", event.getRequestContext()); uiPortalComposer.broadcast(aboutEvent, event.getExecutionPhase()); } } uiPage.setStorageId(storageId); // if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ; if (page.getChildren() == null) page.setChildren(new ArrayList<ModelObject>()); }