social-dockbar-hook/src/main/webapp/custom_jsps/html/portlet/dockbar/view_resources.jsp

195 lines
6.9 KiB
Plaintext

<%--
/**
* Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
--%>
<%@ include file="/html/portlet/dockbar/init.jsp" %>
<%
boolean viewEntries = ParamUtil.getBoolean(request, "viewEntries");
boolean viewPreview = ParamUtil.getBoolean(request, "viewPreview");
%>
<c:choose>
<c:when test="<%= viewEntries %>">
<div id="<portlet:namespace />entries">
<%
String displayStyleDefault = GetterUtil.getString(SessionClicks.get(request, "liferay_addpanel_displaystyle", "descriptive"));
String displayStyle = ParamUtil.getString(request, "displayStyle", displayStyleDefault);
String keywords = ParamUtil.getString(request, "keywords");
String panelTitle = "recent";
if (Validator.isNotNull(keywords)) {
panelTitle = "search-results";
}
String navListCssClass = "add-content nav-list ";
if (displayStyle.equals("icon")) {
navListCssClass += "add-content-icon";
}
else if (displayStyle.equals("descriptive")) {
navListCssClass += "add-content-descriptive";
}
else if (displayStyle.equals("icon")) {
navListCssClass += "add-content-list";
}
%>
<liferay-ui:panel collapsible="<%= false %>" cssClass="clearfix lfr-component panel-page-category recent" extended="<%= true %>" id="manageRecentPanel" persistState="<%= true %>" title="<%= panelTitle %>">
<aui:nav cssClass="<%= navListCssClass %>">
<%
int deltaDefault = GetterUtil.getInteger(SessionClicks.get(request, "liferay_addpanel_numitems", "10"));
int delta = ParamUtil.getInteger(request, "delta", deltaDefault);
long[] availableClassNameIds = AssetRendererFactoryRegistryUtil.getClassNameIds(company.getCompanyId());
for (long classNameId : availableClassNameIds) {
AssetRendererFactory assetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(PortalUtil.getClassName(classNameId));
if (!assetRendererFactory.isSelectable()) {
availableClassNameIds = ArrayUtil.remove(availableClassNameIds, classNameId);
}
}
AssetEntryQuery assetEntryQuery = new AssetEntryQuery();
assetEntryQuery.setClassNameIds(availableClassNameIds);
assetEntryQuery.setEnd(delta);
assetEntryQuery.setGroupIds(new long[] {scopeGroupId});
assetEntryQuery.setKeywords(keywords);
assetEntryQuery.setOrderByCol1("modifiedDate");
assetEntryQuery.setOrderByCol2("title");
assetEntryQuery.setOrderByType1("DESC");
assetEntryQuery.setOrderByType2("ASC");
assetEntryQuery.setStart(0);
List<AssetEntry> results = null;
if (PropsValues.ASSET_PUBLISHER_SEARCH_WITH_INDEX && (assetEntryQuery.getLinkedAssetEntryId() == 0)) {
Hits hits = AssetUtil.search(request, assetEntryQuery, 0, delta);
results = AssetUtil.getAssetEntries(hits);
}
else {
results = AssetEntryServiceUtil.getEntries(assetEntryQuery);
}
for (AssetEntry assetEntry : results) {
String className = PortalUtil.getClassName(assetEntry.getClassNameId());
long classPK = assetEntry.getClassPK();
AssetRendererFactory assetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(className);
if (assetRendererFactory == null) {
continue;
}
AssetRenderer assetRenderer = null;
try {
assetRenderer = assetRendererFactory.getAssetRenderer(classPK);
}
catch (Exception e) {
}
if ((assetRenderer == null) || !assetRenderer.isDisplayable()) {
continue;
}
String title = HtmlUtil.escape(StringUtil.shorten(assetRenderer.getTitle(themeDisplay.getLocale()), 60));
Map<String, Object> data = new HashMap<String, Object>();
data.put("class-name", assetEntry.getClassName());
data.put("class-pk", assetEntry.getClassPK());
data.put("draggable", true);
data.put("instanceable", true);
data.put("portlet-id", assetRenderer.getAddToPagePortletId());
data.put("title", title);
String navItemCssClass="content-shortcut drag-content-item lfr-content-item ";
if (!displayStyle.equals("icon")) {
navItemCssClass += "has-preview";
}
%>
<aui:nav-item cssClass='<%= navItemCssClass %>'
data="<%= data %>"
href=""
iconCssClass='<%= displayStyle.equals("list") ? "icon-file" : StringPool.BLANK %>'
label='<%= displayStyle.equals("list") ? title : "" %>'
>
<c:choose>
<c:when test='<%= !displayStyle.equals("list") %>' >
<div class="add-content-thumbnail <%= displayStyle.equals("descriptive") ? "span4" : StringPool.BLANK %>">
<img alt="<liferay-ui:message key="thumbnail" />" src="<%= HtmlUtil.escapeAttribute(assetRenderer.getThumbnailPath(liferayPortletRequest)) %>" />
</div>
<div class="add-content-details <%= displayStyle.equals("descriptive") ? "span8" : StringPool.BLANK %>">
<div class="add-content-title">
<%= title %>
</div>
<div class="add-content-description">
<%= HtmlUtil.escape(StringUtil.shorten(assetRenderer.getSummary(themeDisplay.getLocale()), 120)) %>
</div>
</div>
</c:when>
<c:otherwise >
<div <%= AUIUtil.buildData(data) %> class="add-content-item">
<liferay-ui:message key="add" />
</div>
</c:otherwise>
</c:choose>
</aui:nav-item>
<%
}
%>
</aui:nav>
</liferay-ui:panel>
</div>
</c:when>
<c:when test="<%= viewPreview %>">
<%
long classPK = ParamUtil.getLong(request, "classPK");
String className = ParamUtil.getString(request, "className");
%>
<c:if test="<%= (classPK > 0) && Validator.isNotNull(className) %>">
<%
AssetEntry assetEntry = AssetEntryLocalServiceUtil.getEntry(className, classPK);
AssetRendererFactory assetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(className);
AssetRenderer assetRenderer = assetRendererFactory.getAssetRenderer(classPK);
request.setAttribute("add_panel.jsp-assetEntry", assetEntry);
request.setAttribute("add_panel.jsp-assetRendererFactory", assetRendererFactory);
request.setAttribute("add_panel.jsp-assetRenderer", assetRenderer);
%>
<div id="<portlet:namespace />preview">
<liferay-util:include page="<%= assetRenderer.getPreviewPath(liferayPortletRequest, liferayPortletResponse) %>" portletId="<%= assetRendererFactory.getPortletId() %>" servletContext="<%= application %>" />
</div>
</c:if>
</c:when>
</c:choose>