Example usage for com.liferay.portal.kernel.servlet.taglib.ui URLMenuItem setData

List of usage examples for com.liferay.portal.kernel.servlet.taglib.ui URLMenuItem setData

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.servlet.taglib.ui URLMenuItem setData.

Prototype

public void setData(Map<String, Object> data) 

Source Link

Usage

From source file:com.liferay.asset.publisher.web.internal.portlet.toolbar.contributor.AssetPublisherPortletToolbarContributor.java

License:Open Source License

protected void addPortletTitleAddAssetEntryMenuItems(List<MenuItem> menuItems, PortletRequest portletRequest,
        PortletResponse portletResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    AssetPublisherCustomizer assetPublisherCustomizer = (AssetPublisherCustomizer) portletRequest
            .getAttribute(AssetPublisherWebKeys.ASSET_PUBLISHER_CUSTOMIZER);

    AssetPublisherDisplayContext assetPublisherDisplayContext = new AssetPublisherDisplayContext(
            assetPublisherCustomizer, portletRequest, portletResponse, portletRequest.getPreferences());

    if (!_isVisible(assetPublisherDisplayContext, portletRequest)) {
        return;/* w w w.j a v a  2 s .  co m*/
    }

    Map<Long, List<AssetPublisherAddItemHolder>> scopeAssetPublisherAddItemHolders = assetPublisherDisplayContext
            .getScopeAssetPublisherAddItemHolders(1);

    if (MapUtil.isEmpty(scopeAssetPublisherAddItemHolders)) {
        return;
    }

    if (scopeAssetPublisherAddItemHolders.size() == 1) {
        Set<Map.Entry<Long, List<AssetPublisherAddItemHolder>>> entrySet = scopeAssetPublisherAddItemHolders
                .entrySet();

        Iterator<Map.Entry<Long, List<AssetPublisherAddItemHolder>>> iterator = entrySet.iterator();

        Map.Entry<Long, List<AssetPublisherAddItemHolder>> scopeAddPortletURL = iterator.next();

        long groupId = scopeAddPortletURL.getKey();

        List<AssetPublisherAddItemHolder> assetPublisherAddItemHolders = scopeAddPortletURL.getValue();

        for (AssetPublisherAddItemHolder assetPublisherAddItemHolder : assetPublisherAddItemHolders) {

            URLMenuItem urlMenuItem = _getPortletTitleAddAssetEntryMenuItem(themeDisplay,
                    assetPublisherDisplayContext, groupId, assetPublisherAddItemHolder);

            menuItems.add(urlMenuItem);
        }

        return;
    }

    URLMenuItem urlMenuItem = new URLMenuItem();

    Map<String, Object> data = new HashMap<>();

    data.put("id", HtmlUtil.escape(portletDisplay.getNamespace()) + "editAsset");

    ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", themeDisplay.getLocale(),
            getClass());

    String title = LanguageUtil.get(resourceBundle, "add-content-select-scope-and-type");

    data.put("title", title);

    urlMenuItem.setData(data);

    urlMenuItem.setLabel(title);

    LiferayPortletResponse liferayPortletResponse = _portal.getLiferayPortletResponse(portletResponse);

    PortletURL portletURL = liferayPortletResponse.createRenderURL();

    portletURL.setParameter("mvcPath", "/add_asset_selector.jsp");
    portletURL.setParameter("redirect", themeDisplay.getURLCurrent());
    portletURL.setWindowState(LiferayWindowState.POP_UP);

    urlMenuItem.setURL(portletURL.toString());

    urlMenuItem.setUseDialog(true);

    menuItems.add(urlMenuItem);
}

From source file:com.liferay.asset.publisher.web.internal.portlet.toolbar.contributor.AssetPublisherPortletToolbarContributor.java

License:Open Source License

private URLMenuItem _getPortletTitleAddAssetEntryMenuItem(ThemeDisplay themeDisplay,
        AssetPublisherDisplayContext assetPublisherDisplayContext, long groupId,
        AssetPublisherAddItemHolder assetPublisherAddItemHolder) {

    URLMenuItem urlMenuItem = new URLMenuItem();

    Map<String, Object> data = new HashMap<>();

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    data.put("id", HtmlUtil.escape(portletDisplay.getNamespace()) + "editAsset");

    String message = assetPublisherAddItemHolder.getModelResource();

    String title = LanguageUtil.format(themeDisplay.getLocale(), "new-x", message, false);

    data.put("title", title);

    urlMenuItem.setData(data);

    urlMenuItem.setLabel(HtmlUtil.escape(message));

    long curGroupId = groupId;

    Group group = _groupLocalService.fetchGroup(groupId);

    if (!group.isStagedPortlet(assetPublisherAddItemHolder.getPortletId()) && !group.isStagedRemotely()) {

        curGroupId = group.getLiveGroupId();
    }//from  w w w. j  ava2 s. c o  m

    boolean addDisplayPageParameter = _assetPublisherWebUtil.isDefaultAssetPublisher(themeDisplay.getLayout(),
            portletDisplay.getId(), assetPublisherDisplayContext.getPortletResource());

    String url = _assetHelper.getAddURLPopUp(curGroupId, themeDisplay.getPlid(),
            assetPublisherAddItemHolder.getPortletURL(), addDisplayPageParameter, themeDisplay.getLayout());

    urlMenuItem.setURL(url);

    urlMenuItem.setUseDialog(true);

    return urlMenuItem;
}

From source file:com.liferay.journal.content.web.internal.portlet.toolbar.contributor.JournalContentPortletToolbarContributor.java

License:Open Source License

protected void addPortletTitleAddJournalArticleMenuItems(List<MenuItem> menuItems, ThemeDisplay themeDisplay,
        PortletRequest portletRequest) throws Exception {

    long plid = themeDisplay.getPlid();
    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
    long scopeGroupId = themeDisplay.getScopeGroupId();

    PortletURL portletURL = _portal.getControlPanelPortletURL(portletRequest, JournalPortletKeys.JOURNAL,
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("hideDefaultSuccessMessage", Boolean.TRUE.toString());
    portletURL.setParameter("groupId", String.valueOf(scopeGroupId));
    portletURL.setParameter("mvcPath", "/edit_article.jsp");
    portletURL.setParameter("portletResource", portletDisplay.getId());
    portletURL.setParameter("redirect", _getAddJournalArticleRedirectURL(themeDisplay, portletRequest));
    portletURL.setParameter("referringPlid", String.valueOf(plid));
    portletURL.setParameter("showHeader", Boolean.FALSE.toString());

    portletURL.setWindowState(LiferayWindowState.POP_UP);

    List<DDMStructure> ddmStructures = _journalFolderService.getDDMStructures(
            _portal.getCurrentAndAncestorSiteGroupIds(scopeGroupId),
            JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID, JournalFolderConstants.RESTRICTION_TYPE_INHERIT);

    for (DDMStructure ddmStructure : ddmStructures) {
        portletURL.setParameter("ddmStructureId", String.valueOf(ddmStructure.getStructureId()));

        URLMenuItem urlMenuItem = new URLMenuItem();

        String ddmStructureName = ddmStructure.getName(themeDisplay.getLocale());

        String title = LanguageUtil.format(themeDisplay.getLocale(), "new-x", ddmStructureName);

        Map<String, Object> data = new HashMap<>();

        data.put("id", HtmlUtil.escape(portletDisplay.getNamespace()) + "editAsset");

        data.put("title", HtmlUtil.escape(title));

        urlMenuItem.setData(data);

        String label = ddmStructure.getUnambiguousName(ddmStructures, themeDisplay.getScopeGroupId(),
                themeDisplay.getLocale());

        urlMenuItem.setLabel(label);//from w  w  w.  j a  v  a2  s  .com

        urlMenuItem.setURL(portletURL.toString());
        urlMenuItem.setUseDialog(true);

        menuItems.add(urlMenuItem);
    }
}