ilscipio/scipio-erp

View on GitHub
applications/cms/widget/CMSMenus.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd">
    <menu name="MainAppBar" items-sort-mode="off" title="${uiLabelMap.CMSApplication}" extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="pages" title="${uiLabelMap.CommonPages}">
            <link target="pages"/>
        </menu-item>
        <menu-item name="templates" title="${uiLabelMap.CmsTemplates}">
            <link target="templates"/>
        </menu-item>
        <menu-item name="media" title="${uiLabelMap.CmsMedia}">
            <link target="media"/>
        </menu-item>
        <menu-item name="menus" title="${uiLabelMap.CmsMenus}">
            <link target="menus"/>
        </menu-item>
        <menu-item name="importExport" title="${uiLabelMap.WebtoolsImportExport}">
            <link target="CmsDataExport"/>
        </menu-item>
        <menu-item name="contentLibrary" title="${uiLabelMap.CmsContentLibrary}">
            <link target="contentAssets"/>
        </menu-item>
        <menu-item name="settings" title="${uiLabelMap.CommonSettings}">
            <link target="settings" title="${uiLabelMap.CommonSettings}">
                <parameter param-name="editSettings"/>
            </link>
        </menu-item>
    </menu>
    <menu name="MainAppSideBar" items-sort-mode="off" title="${uiLabelMap.CMSApplication}" extends="CommonAppSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" 
         always-expand-selected-or-ancestor="true">
        <!-- NOTE: when sort is off, the order of appear is controller by the included elements from MainAppBar above.
            to change this for MainAppSideBar only (but not MainAppBar), you must either remove the include-elements and redefine them all, or play with the override-mode="" attrib 
            easier just let MainAppBar define the order. -->
        <include-elements menu-name="MainAppBar" recursive="includes-only" />
        <menu-item name="pages" >
            <sub-menu name="Pages" include="PageSideBar"/>
        </menu-item>
        <menu-item name="templates">
            <sub-menu name="Templates" include="TemplateSideBar"/>
        </menu-item>
        <menu-item name="media">
            <sub-menu name="Media" include="MediaSideBar"/>
        </menu-item>
        <menu-item name="menus">
            <sub-menu name="Menus" include="MenuSideBar"/>
        </menu-item>
        <menu-item name="contentLibrary">
            <sub-menu name="ContentAsset" include="ContentAssetSideBar"/>
        </menu-item>
        <menu-item name="importExport">
            <sub-menu name="ImportExport" include="ImportExportSideBar"/>
        </menu-item>
        <menu-item name="settings">
            <sub-menu name="Settings" include="SettingsSideBar"/>
        </menu-item>
    </menu>
    
    <!-- SCIPIO: new Sidebar menus  -->
    <menu name="PageTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <actions>
            <set field="pageId" from-field="parameters.pageId"/>
            <set field="path" from-field="parameters.path"/>
            <set field="webSiteId" from-field="parameters.webSiteId"/>
            <if>
                <condition><not><if-empty field="pageId"/></not></condition>
                <then><set field="webSiteId" value="" set-if-null="true"/></then>
            </if>
        </actions>
        <menu-item name="listPages" title="${uiLabelMap.CmsListPages}">
            <link target="pages"/>
        </menu-item>
        <menu-item name="editPage" title="${uiLabelMap.CmsEditPage}" always-expand-selected-or-ancestor="false">
            <condition>
                <or>
                    <not><if-empty field="pageId"/></not>
                    <and>
                        <not><if-empty field="path"/></not>
                        <not><if-empty field="webSiteId"/></not>
                    </and>
                </or>
            </condition>
            <link target="editPage">
                <parameter param-name="pageId" from-field="pageId"/>
                <parameter param-name="path" from-field="path"/>
                <parameter param-name="webSiteId" from-field="webSiteId"/>
            </link>
        </menu-item>
    </menu>
        
    <menu name="PageSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="PageTabBar" recursive="includes-only" />
    </menu>
    
    <menu name="TemplateTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="templates" title="${uiLabelMap.CmsListTemplates}">
            <link target="templates"/>
        </menu-item>
        <menu-item name="editTemplate" title="${uiLabelMap.CmsEditTemplate}" always-expand-selected-or-ancestor="false">
            <condition>
                <not>
                    <if-empty field="parameters.pageTemplateId"/>
                </not>
            </condition>
            <link target="editTemplate">
                <parameter param-name="pageTemplateId" from-field="parameters.pageTemplateId"/>
            </link>
        </menu-item>
        <menu-item name="assets" title="${uiLabelMap.CmsListAssets}">
            <link target="assets"/>
        </menu-item>
        <menu-item name="editAsset" title="${uiLabelMap.CmsEditAsset}" always-expand-selected-or-ancestor="false">
            <condition>
                <not>
                    <if-empty field="parameters.assetTemplateId"/>
                </not>
            </condition>
            <link target="editAsset">
                <parameter param-name="assetTemplateId" from-field="parameters.assetTemplateId"/>
            </link>
        </menu-item>
        <menu-item name="scripts" title="${uiLabelMap.CmsListScripts}">
            <link target="scripts"/>
        </menu-item>
        <menu-item name="editScript" title="${uiLabelMap.CmsEditScript}" always-expand-selected-or-ancestor="false">
            <condition>
                <not>
                    <if-empty field="parameters.scriptTemplateId"/>
                </not>
            </condition>
            <link target="editScript">
                <parameter param-name="scriptTemplateId" from-field="parameters.scriptTemplateId"/>
            </link>
        </menu-item>
    </menu>
        
    <menu name="TemplateSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="TemplateTabBar" recursive="includes-only" />
    </menu>

    <menu name="MediaTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="media" title="${uiLabelMap.CmsListMedia}">
            <link target="media"/>
        </menu-item>
        <menu-item name="customImageSizePresets" title="${uiLabelMap.CmsCustomImageSizePresets}">
            <link target="customImageSizePresets"/>
        </menu-item>
    </menu>
        
    <menu name="MediaSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="MediaTabBar" recursive="includes-only" />
    </menu>
    
    <menu name="MenuSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <menu-item name="menus" title="${uiLabelMap.CmsMenus}">
            <link target="menus"/>
        </menu-item>
    </menu>
     
    <menu name="ImportExportSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <menu-item name="dataExport" title="${uiLabelMap.WebtoolsDataExport}">
            <link target="CmsDataExport"/>
        </menu-item>
        <menu-item name="dataImport" title="${uiLabelMap.WebtoolsDataImport}">
            <link target="CmsDataImport"/>
        </menu-item>
    </menu>

    <menu name="RedirectsTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="redirects" title="${uiLabelMap.CommonRedirects}">
            <link target="redirects"/>
        </menu-item>
    </menu>

    <menu name="RedirectsSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="RedirectsTabBar" recursive="includes-only" />
    </menu>

    <menu name="RobotsTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="robots" title="${uiLabelMap.CommonRobots}">
            <link target="robots"/>
        </menu-item>
    </menu>

    <menu name="RobotsSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="RobotsTabBar" recursive="includes-only" />
    </menu>

    <menu name="ContentAssetTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="contentAssets" title="${uiLabelMap.CmsAllContentAssets}">
            <link target="contentAssets"/>
        </menu-item>
        <menu-item name="editContentAsset" title="${uiLabelMap.CmsEditContentAsset}" always-expand-selected-or-ancestor="false">
            <condition>
                <not>
                    <if-empty field="parameters.assetTemplateId"/>
                </not>
            </condition>
            <link target="editContentAsset">
                <parameter param-name="assetTemplateId" from-field="parameters.assetTemplateId"/>
            </link>
        </menu-item>
    </menu>

    <menu name="ContentAssetSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <include-elements menu-name="ContentAssetTabBar" recursive="includes-only" />
    </menu>

    <menu name="SettingsSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          default-menu-item-name="settings" always-expand-selected-or-ancestor="true">
        <actions>
            <script><![CDATA[groovy:
                context.wordpressAvailable = org.ofbiz.base.component.ComponentConfig.isComponentPresent("wordpress");
                context.maileonAvailable = org.ofbiz.base.component.ComponentConfig.isComponentPresent("maileon");
            ]]></script>
        </actions>
        <menu-item name="robots" title="${uiLabelMap.CommonRobots}">
            <link target="robots"/>
        </menu-item>
        <menu-item name="redirects" title="${uiLabelMap.CommonRedirects}">
            <link target="redirects"/>
        </menu-item>
        <menu-item name="wordpress" title="Wordpress">
            <condition>
                <if-compare field="wordpressAvailable" operator="equals" value="true"/>
            </condition>
            <link target="wordpress" />
        </menu-item>
        <menu-item name="maileon" title="Maileon">
            <condition>
                <if-compare field="maileonAvailable" operator="equals" value="true"/>
            </condition>
            <link target="maileon" />
            <sub-menu name="Maileon" include="MaileonSideBar"/>
        </menu-item>
    </menu>

    <menu name="MaileonSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
        <menu-item name="maileonCustomFields" title="Maileon Custom Fields">
            <condition>
                <if-compare field="maileonAvailable" operator="equals" value="true"/>
            </condition>
            <link target="maileonCustomFields" />
        </menu-item>
        <menu-item name="maileonContactSync" title="Maileon Contact Sync">
            <condition>
                <if-compare field="maileonAvailable" operator="equals" value="true"/>
            </condition>
            <link target="maileonContactSync" />
        </menu-item>
    </menu>
</menus>