applications/cms/widget/CMSScreens.xml
<?xml version="1.0" encoding="UTF-8"?>
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
<!-- Generic screens -->
<screen name="main">
<section>
<actions>
<set field="activeSubMenuItem" value="main"/>
<!-- Includes -->
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[+0]" value="/base-theme/bower_components/jquery.cookie/jquery.cookie.js" global="true"/>
<set field="layoutSettings.VT_STYLESHEET[+0]" value="/base-theme/bower_components/jstree/dist/themes/default/style.css" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[+0]" value="/base-theme/bower_components/jstree/dist/jstree.min.js" global="true"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<container style="${styles.grid_row}">
<container style="${styles.grid_large}12 ${styles.grid_cell}">
<include-screen name="CmsContentTree" location="component://cms/widget/CommonScreens.xml"/>
</container>
</container>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="CommonScriptAssocActions"><!-- for editTemplate & editAsset -->
<actions>
<script lang="groovy"><![CDATA[
import org.ofbiz.base.util.*;
import org.ofbiz.entity.*;
import org.ofbiz.entity.condition.*;
import com.ilscipio.scipio.cms.template.CmsScriptTemplate;
final String module = "CommonEditRenderTemplateActions.groovy";
standaloneScriptTemplates = [];
slaveScriptTemplates = [];
allScriptTemplates = [];
try {
for (st in CmsScriptTemplate.getWorker().findAll(delegator, (EntityCondition) null, ["templateName"], false)) {
if (st.isStandalone()) {
standaloneScriptTemplates.add(st);
} else {
slaveScriptTemplates.add(st);
}
}
allScriptTemplates.addAll(standaloneScriptTemplates);
allScriptTemplates.addAll(slaveScriptTemplates);
} catch (Exception e) {
Debug.logError(e, "Cms: Could not read script templates", module);
}
context.standaloneScriptTemplates = standaloneScriptTemplates;
context.slaveScriptTemplates = slaveScriptTemplates;
context.allScriptTemplates = allScriptTemplates;
]]></script>
</actions>
</screen>
<!-- Page Screens -->
<screen name="pages">
<section>
<actions>
<set field="activeSubMenu" value="Pages"/>
<set field="activeSubMenuItem" value="listPages"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetPageList.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/pages/listPages.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="contentEditorActions">
<actions>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/trumbowyg/dist/trumbowyg.min.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/trumbowyg/dist/plugins/table/trumbowyg.table.min.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/trumbowyg.scipio_common.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_media/trumbowyg.scipio_media.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_links/trumbowyg.scipio_links.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_assets/trumbowyg.scipio_assets.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/jquery.cookie/jquery.cookie.js" global="true"/>
<set field="layoutSettings.VT_STYLESHEET[]" value="/base-theme/bower_components/jstree/dist/themes/default/style.css" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/jstree/dist/jstree.min.js" global="true"/>
</actions>
</screen>
<screen name="editPage">
<section>
<actions>
<set field="activeSubMenu" value="Pages"/>
<set field="activeSubMenuItem" value="editPage"/>
<include-screen-actions name="contentEditorActions"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetPage.groovy"/>
<include-screen-actions name="CommonScriptAssocActions"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/pages/editPage.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="pageVersionList">
<section>
<actions>
<property-map resource="CMSUiLabels" map-name="uiLabelMap" global="true"/>
<property-map resource="WebtoolsUiLabels" map-name="uiLabelMap" global="true"/>
<property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
<property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetPage.groovy"/>
</actions>
<widgets>
<container><!-- Do not remove container - jQuery kludge -->
<platform-specific>
<html><html-template location="component://cms/webapp/cms/pages/pageVersionList.ftl"/></html>
</platform-specific>
</container>
</widgets>
</section>
</screen>
<!-- Template Screens -->
<screen name="CommonEditRenderTemplateActions"><!-- for editTemplate & editAsset -->
<actions>
<include-screen-actions name="CommonScriptAssocActions"/>
</actions>
</screen>
<screen name="templates">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="templates"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<entity-condition entity-name="CmsPageTemplate" list="templateList">
<order-by field-name="templateName"/>
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/templates/listTemplates.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="editTemplate">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="editTemplate"/>
<include-screen-actions name="CodeEditorCommonIncludes" location="component://cms/widget/CommonScreens.xml"/>
<include-screen-actions name="CommonEditRenderTemplateActions"/>
<!-- Prepare Data -->
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetTemplate.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/templates/editTemplate.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="assets">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="assets"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<entity-condition entity-name="CmsAssetTemplate" list="assetList">
<order-by field-name="templateName"/>
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/assets/listAssets.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="editAsset">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="editAsset"/>
<include-screen-actions name="contentEditorActions"/>
<include-screen-actions name="CodeEditorCommonIncludes" location="component://cms/widget/CommonScreens.xml"/>
<include-screen-actions name="CommonEditRenderTemplateActions"/>
<!-- Prepare Data -->
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetAsset.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/assets/editAsset.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="contentAssets">
<section>
<actions>
<set field="envAssetType" value="CONTENT"/>
<set field="activeSubMenu" value="ContentAsset"/>
<set field="activeSubMenuItem" value="contentAssets"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<entity-condition entity-name="CmsAssetTemplate" list="assetList">
<condition-expr field-name="assetType" from-field="envAssetType"/>
<order-by field-name="templateName"/>
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/assets/listAssets.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="editContentAsset">
<section>
<actions>
<set field="envAssetType" value="CONTENT"/>
<set field="activeSubMenu" value="ContentAsset"/>
<set field="activeSubMenuItem" value="editContentAsset"/>
<include-screen-actions name="contentEditorActions"/>
<include-screen-actions name="CodeEditorCommonIncludes" location="component://cms/widget/CommonScreens.xml"/>
<include-screen-actions name="CommonEditRenderTemplateActions"/>
<!-- Prepare Data -->
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetAsset.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/assets/editAsset.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="scripts">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="scripts"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<set field="showStandaloneOnly" type="String" from-field="parameters.showStandaloneOnly" default-value="N"/>
<if>
<condition>
<if-compare field="showStandaloneOnly" operator="equals" value="Y"/>
</condition>
<then>
<entity-condition entity-name="CmsScriptTemplate" list="scriptList">
<condition-list combine="or">
<condition-expr field-name="standalone" value="Y"/>
<!-- WARN: default is hardcoded, see CmsScriptTemplate.java -->
<condition-expr field-name="standalone" value=""/>
</condition-list>
<order-by field-name="templateName"/>
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</then>
<else>
<entity-condition entity-name="CmsScriptTemplate" list="scriptList">
<order-by field-name="templateName"/>
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</else>
</if>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/scripts/listScripts.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<!-- NOTE: body editor will only support groovy for now; the other languages only support file locations -->
<screen name="editScript">
<section>
<actions>
<set field="activeSubMenu" value="Templates"/>
<set field="activeSubMenuItem" value="editScript"/>
<include-screen-actions name="CodeEditorCommonIncludes" location="component://cms/widget/CommonScreens.xml"/>
<!-- Prepare Data -->
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetScript.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/scripts/editScript.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<!-- Media Screens -->
<screen name="CommonMediaActions">
<actions>
<script lang="groovy"><![CDATA[
import com.ilscipio.scipio.cms.util.fileType.PreviewHelper;
context.previewHelper = PreviewHelper.getInstance(request, response);
]]></script>
</actions>
</screen>
<screen name="media">
<section>
<actions>
<set field="activeSubMenu" value="Media"/>
<set field="activeSubMenuItem" value="media"/>
<include-screen-actions name="CommonMediaActions"/>
<property-to-field resource="widget" property="widget.form.defaultViewSize" field="viewSizeDefaultValue"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<!-- Prepare Data -->
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetMediaList.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/media/listMedia.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="editMedia">
<section>
<actions>
<set field="activeSubMenu" value="Media"/>
<set field="activeSubMenuItem" value="media"/><!-- no such: "editMedia" -->
<include-screen-actions name="CommonMediaActions"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsGetMedia.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/media/editMedia.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="customImageSizePresets">
<section>
<actions>
<set field="activeSubMenu" value="Media"/>
<set field="activeSubMenuItem" value="customImageSizePresets"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/>
<entity-condition list="customImageSizePresets" entity-name="ImageSizePreset">
<limit-view view-size="${viewSize}" view-index="${viewIndex+1}"/>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/media/customImageSizePreset.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<!-- Exports Tika media types (mime-types) to entity MimeType representations -->
<screen name="libMimeTypeExport">
<section>
<actions>
<script lang="groovy"><![CDATA[
import com.ilscipio.scipio.cms.util.fileType.TikaUtil;
def mimeTypes;
// NOTE: CURRENTLY (2017-02-08) DOES NOT INCLUDE ALIASES (BY DEFAULT). TODO: REVIEW.
boolean aliases = "true".equals(parameters.aliases)
if ("true".equals(parameters.missingOnly)) {
mimeTypes = TikaUtil.makeMissingEntityMimeTypes(delegator, aliases);
} else {
mimeTypes = TikaUtil.makeAllEntityMimeTypes(delegator, aliases);
}
if ("true".equals(parameters.sort)) {
mimeTypes = mimeTypes.toSorted { a, b -> a.mimeTypeId <=> b.mimeTypeId }
}
mimeTypes = mimeTypes.toUnique { a, b -> a.mimeTypeId <=> b.mimeTypeId }
context.mimeTypes = mimeTypes;
]]></script>
</actions>
<widgets>
<platform-specific>
<xml><html-template trim-lines="false"><![CDATA[
<#if mimeTypes?has_content>
<#list mimeTypes as mimeType>
<MimeType mimeTypeId="${raw(mimeType.mimeTypeId)}" description="${raw(mimeType.description)}"/>
</#list>
</#if>
]]></html-template></xml>
</platform-specific>
</widgets>
</section>
</screen>
<screen name="CmsDataExport">
<section>
<actions>
<set field="titleProperty" value="WebtoolsDataExport"/>
<set field="activeSubMenuItem" value="dataExport"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/importexport/CmsDataExport.groovy"/>
<!-- TODO: we may need to check PageAuthorization at some point, but ENTITY_MAINT is too restrictive
NOTE: ENTITY_MAINT is still used to restrict the individual on-server single- and multi-file output modes -->
<set field="useEntityMaintCheck" type="Boolean" value="false" global="true"/>
</actions>
<widgets>
<decorator-screen name="CommonCmsImportExportDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<screenlet>
<platform-specific><html><html-template location="component://cms/webapp/cms/importexport/CmsDataExport.ftl"/></html></platform-specific>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="menus">
<section>
<actions>
<set field="activeSubMenu" value="Menus"/>
<set field="activeSubMenuItem" value="menus"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[+0]" value="/base-theme/bower_components/jquery.cookie/jquery.cookie.js" global="true"/>
<set field="layoutSettings.VT_STYLESHEET[+0]" value="/base-theme/bower_components/jstree/dist/themes/default/style.css" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[+0]" value="/base-theme/bower_components/jstree/dist/jstree.min.js" global="true"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsMenuTree.groovy"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/editor/CmsContentTree.groovy"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/trumbowyg/dist/trumbowyg.min.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/trumbowyg/dist/plugins/table/trumbowyg.table.min.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/trumbowyg.scipio_common.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_media/trumbowyg.scipio_media.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_links/trumbowyg.scipio_links.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/js/cms/trumbowyg/scipio_assets/trumbowyg.scipio_assets.js" global="true"/>
</actions>
<widgets>
<decorator-screen name="CommonCMSAppDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/menus/menuTree.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="CmsDataImport">
<section>
<actions>
<set field="titleProperty" value="WebtoolsDataImport"/>
<set field="activeSubMenuItem" value="dataImport"/>
<set field="messages" from-field="parameters.messages"/>
<script location="component://cms/script/com/ilscipio/scipio/cms/importexport/CmsDataImport.groovy"/>
<!-- NOTE: ENTITY_MAINT is still checked for some parameter options -->
<set field="useEntityMaintCheck" type="Boolean" value="false" global="true"/>
</actions>
<widgets>
<decorator-screen name="CommonCmsImportExportDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<screenlet>
<platform-specific>
<html><html-template location="component://cms/webapp/cms/importexport/CmsDataImport.ftl"/></html>
</platform-specific>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="redirects">
<section>
<actions>
<set field="titleProperty" value="CommonRedirects"/>
<set field="activeSubMenuItem" value="redirects"/>
<script lang="groovy"><![CDATA[
import org.ofbiz.entity.util.*;
import org.ofbiz.entity.condition.*;
import com.ilscipio.scipio.cms.webapp.CmsWebappUtil;
List<GenericValue> websites = delegator.from("WebSite").where(EntityCondition.makeCondition("productStoreId", EntityJoinOperator.NOT_EQUAL, null)).orderBy("siteName").queryList()
import org.ofbiz.entity.GenericValue;
ctx = globalContext;
ctx.websites = websites;
]]></script>
</actions>
<widgets>
<decorator-screen name="CommonSettingsDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/redirect/redirects.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="robots">
<section>
<actions>
<set field="titleProperty" value="CommonRobots"/>
<set field="activeSubMenuItem" value="robots"/>
<script lang="groovy"><![CDATA[
import org.ofbiz.base.util.*;
import com.ilscipio.scipio.cms.webapp.CmsWebappUtil
import org.ofbiz.entity.GenericValue
import org.ofbiz.entity.util.*;
import org.ofbiz.entity.condition.*;
ctx = globalContext;
// Script languages which can currently be executed from stored bodies
// script names should be a subset of: CmsScriptTemplate.ScriptLang.getNames()
// This is limited by the Ofbiz script utils/API, which mostly expect file locations rather than bodies.
ctx.supportedScriptBodyLangs = ["groovy"];
ctx.defaultScriptBodyLang = "groovy";
// Script language names we currently accept for template locations
// FIXME: for now, we always required "auto" - auto-determine language from location, to simplify our code;
// later we should allow override, because the auto-resolve algorithm is weak (see CmsScriptTemplate.ScriptExecutor)
// In theory we should allow: "groovy", "simple-method", "screen-actions", "auto"
ctx.supportedScriptLocationLangs = ["auto"];
ctx.defaultScriptLocationLang = "auto";
// map of internal CMS script lang names to CodeMirror lang modes
ctx.scriptLangEditorModeMap = [
"groovy" : "groovy",
"screen-actions" : "xml",
"simple-method" : "xml",
// FIXME: what is sane default/fallback/none mode? "clike"? I am putting "text" so that nothing highlights for these, but it's not a real mode name.
"auto" : "text",
"none" : "text",
"default" : "text" // default is for anything that doesn't map into the above
];
ctx.indentWithTabs = UtilProperties.getPropertyAsBoolean("cms", "cms.editor.indentWithTabs", false);
List<GenericValue> websites = delegator.from("WebSite").where(EntityCondition.makeCondition("productStoreId", EntityJoinOperator.NOT_EQUAL, null)).orderBy("siteName").queryList()
//List<GenericValue> websites = CmsWebappUtil.getWebSiteList(delegator);
ctx = globalContext;
ctx.websites = websites;
]]></script>
<!-- CODEMIRROR and Codemirror freemarker extension -->
<set field="layoutSettings.VT_STYLESHEET[+0]" value="/base-theme/bower_components/codemirror/lib/codemirror.css" global="true"/>
<set field="layoutSettings.VT_STYLESHEET[+0]" value="/base-theme/bower_components/codemirror/addon/fold/foldgutter.css" global="true"/>
<set field="layoutSettings.VT_STYLESHEET[+0]" value="/base-theme/bower_components/codemirror/addon/hint/show-hint.css" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/lib/codemirror.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/display/placeholder.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/edit/matchbrackets.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/edit/matchtags.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/edit/closetag.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/fold/foldcode.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/fold/foldgutter.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/fold/brace-fold.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/fold/xml-fold.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/fold/comment-fold.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/hint/show-hint.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/hint/xml-hint.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/addon/hint/html-hint.js" global="true"/>
<!-- Languages - essential for CMS: Freemarker (render templates), Groovy & XML (script templates, edit & view). -->
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/mode/xml/xml.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/mode/htmlmixed/htmlmixed.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/mode/javascript/javascript.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/mode/vbscript/vbscript.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror/mode/groovy/groovy.js" global="true"/>
<set field="layoutSettings.VT_FTPR_JAVASCRIPT[]" value="/base-theme/bower_components/codemirror-mode-freemarker/freemarker/freemarker.js" global="true"/>
</actions>
<widgets>
<decorator-screen name="CommonSettingsDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://cms/webapp/cms/robots/robots.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
</screens>