| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd"> |
| <screen name="main-decorator"> |
| <section> |
| <actions> |
| <!-- base/top/specific map first, then more common map added for shared labels --> |
| <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/> |
| |
| <set field="layoutSettings.companyName" from-field="uiLabelMap.ProductCatalogCompanyName" global="true"/> |
| <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.ProductCompanySubtitle" global="true"/> |
| <!-- layoutSettings.headerImageUrl can be used to specify an application specific logo; if not set, |
| then the global layoutSettings.commonHeaderImageUrl (specified in GlobalDecorator) will be used. --> |
| <!--<set field="layoutSettings.headerImageUrl" value="/images/ofbiz_logo.gif" global="true"/>--> |
| <!-- <set field="layoutSettings.headerMiddleBackgroundUrl" value="" global="true"/> --> |
| <!-- <set field="layoutSettings.headerRightBackgroundUrl" value="" global="true"/> --> |
| <set field="activeApp" value="catalogmgr" global="true"/> |
| <set field="applicationMenuName" value="CatalogAppBar" global="true"/> |
| <set field="applicationMenuLocation" value="component://product/widget/catalog/CatalogMenus.xml" global="true"/> |
| <set field="applicationTitle" value="${uiLabelMap.ProductCatalogManagerApplication}" global="true"/> |
| <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/js/jquery.cookie-1.4.0.js" global="true"/> |
| <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/jsTree/jquery.jstree.js" global="true"/> |
| </actions> |
| <widgets> |
| <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="CommonCatalogDecorator"> |
| <section> |
| <actions> |
| <set field="headerItem" value="catalogs"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <condition> |
| <or> |
| <if-has-permission permission="CATALOG" action="_ADMIN"/> |
| <if-has-permission permission="CATALOG" action="_CREATE"/> |
| <if-has-permission permission="CATALOG" action="_UPDATE"/> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </or> |
| </condition> |
| <actions> |
| <set field="prodCatalogId" from-field="parameters.prodCatalogId"/> |
| <entity-one entity-name="ProdCatalog" value-field="prodCatalog"/> |
| </actions> |
| <widgets> |
| <section> |
| <condition> |
| <not><if-empty field="prodCatalog"/></not> |
| </condition> |
| <widgets> |
| <include-menu name="CatalogTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <include-menu name="CatalogSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <label style="h1">${uiLabelMap.ProductCatalog} ${uiLabelMap.CommonFor} "${prodCatalog.catalogName}" [${prodCatalogId}]</label> |
| </widgets> |
| <fail-widgets> |
| <section> |
| <condition> |
| <if-compare operator="not-equals" value="ProductCatalog" field="tabButtonItem"/> |
| </condition> |
| <widgets> |
| <include-menu name="CatalogSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| </widgets> |
| </section> |
| </fail-widgets> |
| </section> |
| <decorator-section-include name="body"/> |
| </widgets> |
| <fail-widgets> |
| <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label> |
| </fail-widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="CommonProductStoreDecorator"> |
| <section> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <condition> |
| <or> |
| <if-has-permission permission="CATALOG" action="_ADMIN"/> |
| <if-has-permission permission="CATALOG" action="_CREATE"/> |
| <if-has-permission permission="CATALOG" action="_UPDATE"/> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </or> |
| </condition> |
| <actions> |
| <set field="productStoreId" from-field="parameters.productStoreId"/> |
| <entity-one entity-name="ProductStore" value-field="productStore"/> |
| </actions> |
| <widgets> |
| <section> |
| <condition><not><if-empty field="productStore"/></not></condition> |
| <widgets> |
| <container> |
| <include-menu name="ProductStoreTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <label style="h1">${uiLabelMap[labelTitleProperty]} ${uiLabelMap.CommonFor}: ${productStore.storeName} [${uiLabelMap.CommonId}:${productStoreId}] ${${extraFunctionName}}</label> |
| </container> |
| <section> |
| <widgets> |
| <include-menu name="ProductStoreSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <container style="button-bar button-style-2"> |
| <link target="EditProductStore" text="${uiLabelMap.ProductNewProductStore}" style="buttontext create" url-mode="plain"/> |
| </container> |
| </widgets> |
| </section> |
| </widgets> |
| <fail-widgets> |
| <section> |
| <condition> |
| <if-compare operator="not-equals" value="EditProductStore" field="tabButtonItem"/> |
| </condition> |
| <widgets> |
| <container style="button-bar button-style-2"> |
| <link target="EditProductStore" text="${uiLabelMap.ProductNewProductStore}" style="buttontext create" url-mode="plain"/> |
| </container> |
| </widgets> |
| </section> |
| </fail-widgets> |
| </section> |
| <decorator-section-include name="body"/> |
| </widgets> |
| <fail-widgets> |
| <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label> |
| </fail-widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="CommonProductStoreGroupDecorator"> |
| <section> |
| <actions> |
| <set field="headerItem" value="storeGroup"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="ProductStoreGroupTree"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <condition> |
| <or> |
| <if-has-permission permission="CATALOG" action="_ADMIN"/> |
| <if-has-permission permission="CATALOG" action="_CREATE"/> |
| <if-has-permission permission="CATALOG" action="_UPDATE"/> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </or> |
| </condition> |
| <widgets> |
| <include-menu name="ProductStoreGroupButtonBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <decorator-section-include name="body"/> |
| </widgets> |
| <fail-widgets> |
| <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label> |
| </fail-widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="CommonShippingDecorator"> |
| <section> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <!--<decorator-section name="pre-body"> |
| <section> |
| <condition> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </condition> |
| <widgets> |
| <include-menu name="ShippingTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| </widgets> |
| </section> |
| </decorator-section>--> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <!-- do check for CATALOG, _VIEW permission --> |
| <condition> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </condition> |
| <widgets> |
| <include-menu name="ShippingTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <container> |
| <label style="h1">${uiLabelMap[labelTitleProperty]}</label> |
| </container> |
| <decorator-section-include name="body"/> |
| </widgets> |
| <fail-widgets> |
| <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label> |
| </fail-widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="leftbar"> |
| <section> |
| <widgets> |
| <include-screen name="keywordsearchbox"/> |
| <include-screen name="categorytree"/> |
| <include-screen name="miniproductlist"/> |
| </widgets> |
| </section> |
| </screen> |
| <screen name="keywordsearchbox"> |
| <section> |
| <actions> |
| <script location="component://product/groovyScripts/catalog/find/KeywordSearchBox.groovy"/> |
| </actions> |
| <widgets> |
| <screenlet id="ProductKeywordsPanel" title="${uiLabelMap.ProductSearchProducts}" collapsible="true"> |
| <platform-specific><html><html-template location="component://product/template/find/KeywordSearchBox.ftl"/></html></platform-specific> |
| </screenlet> |
| </widgets> |
| </section> |
| </screen> |
| <screen name="miniproductlist"> |
| <section> |
| <actions> |
| <script location="component://product/groovyScripts/catalog/find/MiniProductList.groovy"/> |
| </actions> |
| <widgets> |
| <screenlet id="ProductCategoryProductsPanel" title="${uiLabelMap.ProductCategoryProducts}" collapsible="true"> |
| <container id="miniproductlist"> |
| <platform-specific><html><html-template location="component://product/template/find/MiniProductList.ftl"/></html></platform-specific> |
| </container> |
| </screenlet> |
| </widgets> |
| </section> |
| </screen> |
| <screen name="ChooseTopCategory"> |
| <section> |
| <actions> |
| <set field="titleProperty" value="PageTitleChooseTopCategory"/> |
| <script location="component://product/groovyScripts/catalog/ChooseTopCategory.groovy"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <container style="button-bar"> |
| <link target="EditCategory" text="${uiLabelMap.ProductNewCategory}" style="buttontext create"/> |
| </container> |
| <screenlet title="${uiLabelMap.ProductCategoryWithNoParent}"> |
| <include-form name="ListTopCategory" location="component://product/widget/catalog/CategoryForms.xml"/> |
| </screenlet> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| <screen name="FastLoadCache"> |
| <section> |
| <actions> |
| <set field="titleProperty" value="ProductFastLoadCatalogIntoCache"/> |
| <script location="component://product/groovyScripts/catalog/FastLoadCache.groovy"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <platform-specific><html><html-template location="component://product/template/FastLoadCache.ftl"/></html></platform-specific> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="categorytree"> |
| <section> |
| <actions> |
| <script location="component://product/groovyScripts/catalog/category/CategoryTree.groovy"/> |
| </actions> |
| <widgets> |
| <screenlet id="ProductBrowseCategoriesPanel" title="${uiLabelMap.ProductBrowseCatalogeAndCategories}" collapsible="true"> |
| <container id="EditDocumentTree"/> |
| <platform-specific><html><html-template location="component://product/template/category/CategoryTree.ftl"/></html></platform-specific> |
| </screenlet> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="ProductStoreGroupTree"> |
| <section> |
| <actions> |
| <entity-one entity-name="ProductStoreGroup" value-field="parentProductStoreGroup"/> |
| <entity-condition entity-name="ProductStoreGroup" list="parentProductStoreGroups"> |
| <condition-expr field-name="primaryParentGroupId" from-field="nullField"/> |
| </entity-condition> |
| </actions> |
| <widgets> |
| <screenlet id="ProductStoreGroupPanel" title="${uiLabelMap.ProductParentProductStoreGroups}" collapsible="true"> |
| <container id="EditDocumentTree"/> |
| <platform-specific><html><html-template location="component://product/template/store/ProductStoreGroupTree.ftl"/></html></platform-specific> |
| </screenlet> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="main"> |
| <section> |
| <actions> |
| <set field="headerItem" value="main"/> |
| <set field="productId" from-field="parameters.productId"/> |
| <entity-one entity-name="Product" value-field="product"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <screenlet title="${uiLabelMap.ProductCatalogAdministrationMainPage}"> |
| <platform-specific> |
| <html><html-template location="component://product/template/Main.ftl"/></html> |
| </platform-specific> |
| </screenlet> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="ImageManagementDecorator"> |
| <section> |
| <actions> |
| <set field="headerItem" value="Imagemanagement"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <condition> |
| <if-has-permission permission="CATALOG" action="_VIEW"/> |
| </condition> |
| <widgets> |
| <include-menu name="ImageManagementTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <decorator-section-include name="body"/> |
| </widgets> |
| <fail-widgets> |
| <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label> |
| </fail-widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="listMiniproduct"> |
| <section> |
| <actions> |
| <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/> |
| <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/> |
| <script location="component://product/groovyScripts/catalog/find/MiniProductList.groovy"/> |
| </actions> |
| <widgets> |
| <platform-specific><html><html-template location="component://product/template/find/MiniProductList.ftl"/></html></platform-specific> |
| </widgets> |
| </section> |
| </screen> |
| |
| <screen name="ProductStoreFacilities"> |
| <section> |
| <actions> |
| <set field="productStoreId" from-field="parameters.productStoreId"/> |
| <entity-one entity-name="ProductStore" value-field="productStore"/> |
| <set field="tabButtonItem" value="EditProductStoreFacilities"/> |
| <set field="labelTitleProperty" value="ProductFacility"/> |
| <set field="headerItem" value="store"/> |
| </actions> |
| <widgets> |
| <decorator-screen name="main-decorator"> |
| <decorator-section name="left-column"> |
| <include-screen name="leftbar"/> |
| </decorator-section> |
| <decorator-section name="body"> |
| <section> |
| <condition><not><if-empty field="productStore"/></not></condition> |
| <widgets> |
| <container> |
| <include-menu name="ProductStoreTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <include-menu name="ProductStoreSubTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/> |
| <label style="h1">${uiLabelMap[labelTitleProperty]} ${uiLabelMap.CommonFor}: ${productStore.storeName} [${uiLabelMap.CommonId}:${productStoreId}] ${${extraFunctionName}}</label> |
| </container> |
| <include-portal-page id="ProductStoreFacility"/> |
| </widgets> |
| </section> |
| </decorator-section> |
| </decorator-screen> |
| </widgets> |
| </section> |
| </screen> |
| </screens> |