Archive for April, 2015

Select folder from document library in custom portlet

Version : Liferay 6.2

Step 1:

<%
    long rootFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;
    String rootFolderName = StringPool.BLANK;
    String portletId = PortletKeys.DOCUMENT_LIBRARY;
%>

Step 2:

<liferay-portlet:renderURL portletName="<%=portletId%>" var="selectFolderURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
    <portlet:param name="struts_action" value='/document_library/select_folder' />
</liferay-portlet:renderURL>

Step 3:

<aui:form name="fm2" action="">
    <aui:input name="rootFolderId" type="hidden" value="<%= rootFolderId %>" />
        <aui:field-wrapper label="root-folder">
            <div class="input-append">
                <liferay-ui:input-resource id="rootFolderName" url="<%=rootFolderName%>" />
        
                <aui:button name="openFolderSelectorButton" value="select" />
        
                <%
                String taglibRemoveFolder = "Liferay.Util.removeFolderSelection('rootFolderId', 'rootFolderName', '" + renderResponse.getNamespace() + "');";
                %>
        
                <aui:button disabled="<%= rootFolderId <= 0 %>" name="removeFolderButton" onClick="<%= taglibRemoveFolder %>" value="remove" />
            </div>
        </aui:field-wrapper>
</aui:form>

Step 4:

<aui:script>
    A.one('#<portlet:namespace />openFolderSelectorButton').on(
        'click',
        function(event) {
            Liferay.Util.selectEntity(
                {
                    dialog: {
                        constrain: true,
                        modal: true
                    },
                    id: '_<%= HtmlUtil.escapeJS(portletId) %>_selectFolder',
                    title: '<liferay-ui:message arguments="folder" key="select-x" />',
                    uri: '<%= selectFolderURL.toString() %>'
                },
                function(event) {
                    var folderData = {
                        idString: 'rootFolderId',
                        idValue: event.folderid,
                        nameString: 'rootFolderName',
                        nameValue: event.foldername
                    };
                    Liferay.Util.selectFolder(folderData, '<portlet:namespace />');
                }
            );
        });
</aui:script>
Advertisements

Select file from document liberay

Version : Liferay 6.2

Step 1 :

<liferay-portlet:renderURL 
portletName="<%=PortletKeys.DYNAMIC_DATA_MAPPING %>" 
var="selectFileURL" windowState="<%= 
LiferayWindowState.POP_UP.toString() %>">
    <portlet:param name="struts_action" value='/dynamic_data_mapping/select_document_library' />
</liferay-portlet:renderURL>

Step 2 :

 <aui:form action="" name="fm">
    <aui:field-wrapper>
        <div class="input-append">
            <aui:input name="fileId" type="hidden"/>
            <aui:input name="fileName" type="text" readonly="true" label=""/>
            <aui:button name="openFileSelectorButton" value="select"/>
        </div>
    </aui:field-wrapper>
</aui:form>

Step 3 :

    <aui:script use="aui-base">
        A.one('#<portlet:namespace />openFileSelectorButton').on(
                'click',
                function(event) {
                    Liferay.Util.selectEntity(
                        {
                            dialog: {
                                constrain: true,
                                modal: true
                            },
                            id: '<portlet:namespace />selectFileFromDocumentLibrary',
                            title: '<liferay-ui:message arguments="file" key="select-x" />',
                            uri: '<%= selectFileURL.toString() %>'
                        },
                        _166_selectDocumentLibrary = function(url, uuid, groupId, fileName, version){
                             document.getElementById("<portlet:namespace/>fileName").value = fileName;
                             document.getElementById("<portlet:namespace/>fileId").value = uuid;
                        }
                    );
                }
        );
    </aui:script>