diff --git a/lib/env-bundler.js b/lib/env-bundler.js
index ccfd274..e17c2e8 100644
--- a/lib/env-bundler.js
+++ b/lib/env-bundler.js
@@ -297,12 +297,16 @@ const componentResponseProcessor = {
const schema = {
code: [{
key: 'code',
- transform: function (code) { return code.trim().toLowerCase().replace(new RegExp('[\\s\\-_]+', 'g'), '_'); },
+ transform: function (code) {
+ return code.trim().replace(new RegExp(/[\s_]/, 'g'), '_');
+ },
}],
guiCode: 'guiCode',
};
- return fragments.map(f => objectMapper(f, schema));
+ return fragments
+ .filter(f => !f.code.includes('-'))
+ .map(f => objectMapper(f, schema));
},
widget: async (componentsToFetch) => {
const widgets = await Promise.all(componentsToFetch.map(async (widget) => {
@@ -809,7 +813,7 @@ function canonizeCode (code) {
}
function canonizeCodeUnderline (code) {
- return code.trim().toLowerCase().replace(new RegExp('[\\s\\-_]+', 'g'), '_');
+ return code.trim().replace(new RegExp(/[\s_]/, 'g'), '_');
}
const urlEncoder = function (payload) {
diff --git a/test/env-bundler.test.js b/test/env-bundler.test.js
index 35368ea..df9f518 100644
--- a/test/env-bundler.test.js
+++ b/test/env-bundler.test.js
@@ -3,16 +3,47 @@ const fs = require('fs');
const path = require('path');
const os = require('os');
const process = require('process');
+const yaml = require('yaml');
const widgets = require('./mocks/widgets');
const widget = require('./mocks/widget');
+const fragments = require('./mocks/fragments');
const resourceFile = require('./mocks/resource-file');
const resourceDirectory = require('./mocks/resource-directory');
-const { setupEnvironment, collectAllComponents, generateBundle, ALL_TYPES } = require('../lib/env-bundler');
+const { setupEnvironment, collectAllComponents, generateBundle } = require('../lib/env-bundler');
+
+const apiUrlTable = {
+ widget: /\/api\/widgets/,
+ widgetDetails: /\/api\/widgets\/.+/,
+ fragments: /\/api\/fragments/,
+ resource: /\/api\/fileBrowser?protectedFolder=false¤tPath=.+/,
+ resourceDetails: /\/api\/fileBrowser\/file\?protectedFolder=false¤tPath=.+/,
+};
jest.mock('axios');
+class AxiosMock {
+ static async mockGetCalls () {
+ await axios.get.mockImplementation((url) => {
+ switch (true) {
+ case apiUrlTable.widget.test(url):
+ return Promise.resolve({ data: widgets });
+ case apiUrlTable.widgetDetails.test(url):
+ return Promise.resolve({ data: widget });
+ case apiUrlTable.fragments.test(url):
+ return Promise.resolve({ data: fragments });
+ case apiUrlTable.resourceDetails.test(url):
+ return Promise.resolve({ data: resourceFile });
+ case apiUrlTable.resource.test(url):
+ return Promise.resolve({ data: resourceDirectory });
+ default:
+ return Promise.resolve({ data: { payload: [] } });
+ }
+ });
+ }
+}
+
describe('env-bundler', function () {
let tmpDir;
@@ -49,20 +80,11 @@ describe('env-bundler', function () {
afterEach(() => {
fs.rmSync(tmpDir, { recursive: true, force: true });
+ jest.restoreAllMocks();
});
it('Should save resources skipping the directories', async () => {
- for (const componentType of ALL_TYPES) {
- if (componentType === 'widget') {
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: widgets }));
- } else {
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: { payload: [] } }));
- }
- }
-
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: widget }));
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: resourceFile }));
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: resourceDirectory }));
+ await AxiosMock.mockGetCalls();
await collectAllComponents();
@@ -86,13 +108,63 @@ describe('env-bundler', function () {
expect(fs.existsSync(expectedWidgetDescriptor)).toBe(true);
expect(fs.existsSync(expectedResource)).toBe(true);
- expect(axios.get).toHaveBeenNthCalledWith(16,
+ expect(axios.get).toHaveBeenCalledWith(
+ expect.stringContaining('/api/fileBrowser/file?protectedFolder=false¤tPath=bundles/my-bundle/widgets/my-widget/static/css/main.dbf0c21a.css'),
+ expect.any(Object),
+ );
+ expect(axios.get).toHaveBeenCalledWith(
+ expect.stringContaining('/api/fileBrowser/file?protectedFolder=false¤tPath=bundles/my-bundle/widgets/my-widget'),
+ expect.any(Object),
+ );
+ });
+
+ it('Should save fragment filtering out those with hyphen in the code', async () => {
+ await AxiosMock.mockGetCalls();
+
+ const components = await collectAllComponents();
+
+ const options = {
+ generateBundle: true,
+ location: './',
+ code: 'test-directories',
+ description: 'test-directories',
+ };
+
+ await generateBundle(options, components);
+
+ const expectedDescriptor = path.resolve(tmpDir, 'descriptor.yaml');
+ const expectedWidgetDescriptor = path.resolve(tmpDir, 'widgets', 'my-widget-descriptor.yaml');
+ const expectedResource = path.resolve(tmpDir, 'resources', 'bundles', 'my-bundle', 'widgets', 'my-widget', 'static', 'css', 'main.dbf0c21a.css');
+
+ expect(fs.existsSync(expectedDescriptor)).toBe(true);
+ expect(fs.existsSync(expectedWidgetDescriptor)).toBe(true);
+ expect(fs.existsSync(expectedResource)).toBe(true);
+
+ expect(axios.get).toHaveBeenCalledWith(
expect.stringContaining('/api/fileBrowser/file?protectedFolder=false¤tPath=bundles/my-bundle/widgets/my-widget/static/css/main.dbf0c21a.css'),
expect.any(Object),
);
- expect(axios.get).toHaveBeenNthCalledWith(17,
+ expect(axios.get).toHaveBeenCalledWith(
expect.stringContaining('/api/fileBrowser/file?protectedFolder=false¤tPath=bundles/my-bundle/widgets/my-widget'),
expect.any(Object),
);
+
+ const descUtf8 = fs.readFileSync(path.resolve(tmpDir, 'descriptor.yaml'), 'utf8');
+ const descriptor = yaml.parse(descUtf8);
+
+ const actualFragments = await getFragments();
+ expect(descriptor.components.fragments.length).toBe(actualFragments.length);
+ const actualCodesOfFragments = actualFragments.map(f => f.code);
+ expect(actualCodesOfFragments.includes('-')).toBe(false);
});
+
+ async function getFragments () {
+ const fragmentList = fs.readdirSync(path.resolve(tmpDir, 'fragments'));
+ const promises = fragmentList.map(fragmentFileName => {
+ const fragmentDescUtf8 = fs.readFileSync((path.resolve(tmpDir, 'fragments', fragmentFileName)), 'utf8');
+ return yaml.parse(fragmentDescUtf8);
+ });
+
+ return Promise.all(promises);
+ }
});
diff --git a/test/mocks/fragments.js b/test/mocks/fragments.js
new file mode 100644
index 0000000..9a92634
--- /dev/null
+++ b/test/mocks/fragments.js
@@ -0,0 +1,730 @@
+module.exports = {
+ payload: [
+ {
+ code: 'breadcrumb',
+ locked: true,
+ widgetType: {
+ code: 'breadcrumb',
+ title: 'Breadcrumbs',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'breadcrumb',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.currentPage param="code" var="currentViewCode" />\n\n
\n
\n \n\n \n <@wp.i18n key="ESNB_YOU_ARE_HERE" />\n \n <#assign first=true>\n <@wp.nav spec="current.path" var="currentTarget">\n <#assign currentCode=currentTarget.code>\n\n \n\n <#if !currentTarget.voidPage>\n <#if (currentCode == currentViewCode)>\n currentTarget.title \n <#else>\n \n currentTarget.title \n \n #if>\n <#else>\n #if>\n <#assign first=false>\n @wp.nav>\n \n \n
\n',
+ },
+ {
+ code: 'default_pagerBlock',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<#if (group.size > group.max)>\n\t\n#if>',
+ },
+ {
+ code: 'default_pagerFormBlock_is',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n<#assign s=JspTaglibs[\"/struts-tags\"]>\n<@s.if test=\"#group.size > #group.max\">\n\n@s.if>",
+ },
+ {
+ code: 'default_pagerInfo_is',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<@s.text name="note.searchIntro" /> <@s.property value="#group.size" /> <@s.text name="note.searchOutro" />. \n<@s.text name="label.page" />: [<@s.property value="#group.currItem" />/<@s.property value="#group.maxItem" />].
',
+ },
+ {
+ code: 'entandoapi_is_resource_detail',
+ locked: true,
+ widgetType: {
+ code: 'entando_apis',
+ title: 'APIs',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'entando_apis',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<@s.set var=\"apiResourceVar\" value=\"apiResource\" />\n<@s.set var=\"GETMethodVar\" value=\"#apiResourceVar.getMethod\" />\n<@s.set var=\"POSTMethodVar\" value=\"#apiResourceVar.postMethod\" />\n<@s.set var=\"PUTMethodVar\" value=\"#apiResourceVar.putMethod\" />\n<@s.set var=\"DELETEMethodVar\" value=\"#apiResourceVar.deleteMethod\" />\n<@s.set var=\"apiNameVar\" value=\"(#apiResourceVar.namespace!=null && #apiResourceVar.namespace.length()>0 ? '/' + #apiResourceVar.namespace : '')+'/'+#apiResourceVar.resourceName\" />\n\n\n\t \" class=\"btn btn-primary\"> <@wp.i18n key=\"ENTANDO_API_GOTO_LIST\" />\n
\n<@wp.i18n key=\"ENTANDO_API_RESOURCE\" /> <@s.property value=\"#apiNameVar\" /> \n<@s.if test=\"hasActionMessages()\">\n\t\n\t\t
<@wp.i18n key=\"ENTANDO_API_ERROR\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"actionMessages\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.if test=\"hasActionErrors()\">\n\t\n\t\t
<@wp.i18n key=\"ENTANDO_API_ERROR\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"actionErrors\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n\n<@s.property value=\"#apiResourceVar.description\" />
\n\n\n\n\t<@wp.i18n key=\"ENTANDO_API_RESOURCE_NAME\" /> \n\t\t<@s.property value=\"#apiResourceVar.resourceName\" /> \n\t<@wp.i18n key=\"ENTANDO_API_RESOURCE_NAMESPACE\" /> \n\t\t/<@s.property value=\"#apiResourceVar.namespace\" /> \n\t<@wp.i18n key=\"ENTANDO_API_RESOURCE_SOURCE\" /> \n\t\t\n\t\t\t<@s.property value=\"#apiResourceVar.source\" /><@s.if test=\"%{#apiResourceVar.pluginCode != null && #apiResourceVar.pluginCode.length() > 0}\">, <@s.property value=\"%{getText(#apiResourceVar.pluginCode+'.name')}\" /> (<@s.property value=\"%{#apiResourceVar.pluginCode}\" />)@s.if>\n\t\t \n\t<@wp.i18n key=\"ENTANDO_API_RESOURCE_URI\" /> \n\t\t\n\t\t\t api/legacy/<@wp.info key=\"currentLang\" /><@s.if test=\"null != #apiResourceVar.namespace\">/<@s.property value=\"#apiResourceVar.namespace\" />@s.if>/<@s.property value=\"#apiResourceVar.resourceName\" />\"><@wp.info key=\"systemParam\" paramName=\"applicationBaseURL\" />api/legacy/<@wp.info key=\"currentLang\" /><@s.if test=\"null != #apiResourceVar.namespace\">/<@s.property value=\"#apiResourceVar.namespace\" />@s.if>/<@s.property value=\"#apiResourceVar.resourceName\" />\n\t\t \n\t\n\t\t<@wp.i18n key=\"ENTANDO_API_EXTENSION\" />\n\t \n\t\t\n\t\t\t<@wp.i18n key=\"ENTANDO_API_EXTENSION_NOTE\" />\n\t\t \n \n\n\t<@s.set var=\"methodVar\" value=\"#GETMethodVar\" />\n\t<@s.set var=\"currentMethodNameVar\" value=\"%{'GET'}\" />\n\tGET \n\t<#include \"entandoapi_is_resource_detail_include\" >\n\n\t<@s.set var=\"methodVar\" value=\"#POSTMethodVar\" />\n\t<@s.set var=\"currentMethodNameVar\" value=\"%{'POST'}\" />\n\tPOST \n\t<#include \"entandoapi_is_resource_detail_include\" >\n\n\t<@s.set var=\"methodVar\" value=\"#PUTMethodVar\" />\n\t<@s.set var=\"currentMethodNameVar\" value=\"%{'PUT'}\" />\n\tPUT \n\t<#include \"entandoapi_is_resource_detail_include\" >\n\n\t<@s.set var=\"methodVar\" value=\"#DELETEMethodVar\" />\n\t<@s.set var=\"currentMethodNameVar\" value=\"%{'DELETE'}\" />\n\tDELETE \n\t<#include \"entandoapi_is_resource_detail_include\" >\n\n\t \" class=\"btn btn-primary\"> <@wp.i18n key=\"ENTANDO_API_GOTO_LIST\" />\n
\n ",
+ },
+ {
+ code: 'entandoapi_is_resource_detail_include',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<@s.if test=\"#methodVar == null\">\n\t\n\t\t<@s.property value=\"#currentMethodNameVar\" />, <@wp.i18n key=\"ENTANDO_API_METHOD_KO\" />\n\t
\n@s.if>\n<@s.else>\n\t\n\t\t\n\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD\" />\n\t\t \n\t\t\t\n\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_OK\" />\n\t\t\t \n\t\t<@s.if test=\"#methodVar != null\">\n\t\t\t\n\t\t\t\t<@wp.i18n key=\"ENTANDO_API_DESCRIPTION\" />\n\t\t\t \n\t\t\t\t<@s.property value=\"#methodVar.description\" /> \n\t\t\t\n\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_AUTHORIZATION\" />\n\t\t\t \n\t\t\t\t\n\t\t\t\t\t<@s.if test=\"%{null != #methodVar.requiredPermission}\">\n\t\t\t\t\t\t<@s.iterator value=\"methodAuthorityOptions\" var=\"permission\"><@s.if test=\"#permission.key==#methodVar.requiredPermission\"><@s.property value=\"#permission.value\" />@s.if>@s.iterator>\n\t\t\t\t\t@s.if>\n\t\t\t\t\t<@s.elseif test=\"%{#methodVar.requiredAuth}\">\n\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_AUTH_SIMPLE\" />\n\t\t\t\t\t@s.elseif>\n\t\t\t\t\t<@s.else>\n\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_AUTH_FREE\" />\n\t\t\t\t\t@s.else>\n\t\t\t\t \n\t\t\t<@s.if test='%{!#methodVar.resourceName.equalsIgnoreCase(\"getService\")}' >\n\t\t\t\n\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_SCHEMAS\" />\n\t\t\t \n\t\t\t\t\n\t\t\t\t\t<@s.if test='%{#methodVar.httpMethod.toString().equalsIgnoreCase(\"POST\") || #methodVar.httpMethod.toString().equalsIgnoreCase(\"PUT\")}'>\n\t\t\t\t\t\t<@wp.action path=\"/ExtStr2/do/Front/Api/Resource/requestSchema.action\" var=\"requestSchemaURLVar\" >\n\t\t\t\t\t\t\t<@wp.parameter name=\"resourceName\"><@s.property value=\"#methodVar.resourceName\" />@wp.parameter>\n\t\t\t\t\t\t\t<@wp.parameter name=\"namespace\"><@s.property value=\"#methodVar.namespace\" />@wp.parameter>\n\t\t\t\t\t\t\t<@wp.parameter name=\"httpMethod\"><@s.property value=\"#methodVar.httpMethod\" />@wp.parameter>\n\t\t\t\t\t\t@wp.action>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_SCHEMA_REQ\" />\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t@s.if>\n\t\t\t\t\t\t<@wp.action path=\"/ExtStr2/do/Front/Api/Resource/responseSchema.action\" var=\"responseSchemaURLVar\" >\n\t\t\t\t\t\t\t<@wp.parameter name=\"resourceName\"><@s.property value=\"#methodVar.resourceName\" />@wp.parameter>\n\t\t\t\t\t\t\t<@wp.parameter name=\"namespace\"><@s.property value=\"#methodVar.namespace\" />@wp.parameter>\n\t\t\t\t\t\t\t<@wp.parameter name=\"httpMethod\"><@s.property value=\"#methodVar.httpMethod\" />@wp.parameter>\n\t\t\t\t\t\t@wp.action>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_SCHEMA_RESP\" />\n\t\t\t\t\t\t \n\t\t\t\t \n\t\t\t@s.if>\n\t\t@s.if>\n\t \n\t<@s.if test=\"#methodVar != null\">\n\t\t<@s.set var=\"methodParametersVar\" value=\"#methodVar.parameters\" />\n\t\t<@s.if test=\"null != #methodParametersVar && #methodParametersVar.size() > 0\">\n\t\t\t\n\t\t\t\t<@wp.i18n key=\"ENTANDO_API_METHOD_REQUEST_PARAMS\" /> \n\t\t\t\t\n\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_PARAM_NAME\" /> \n\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_PARAM_DESCRIPTION\" /> \n\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_PARAM_REQUIRED\" /> \n\t\t\t\t \n\t\t\t\t<@s.iterator value=\"#methodParametersVar\" var=\"apiParameter\" >\n\t\t\t\t\t\n\t\t\t\t\t\t<@s.property value=\"#apiParameter.key\" /> \n\t\t\t\t\t\t<@s.property value=\"#apiParameter.description\" /> \n\t\t\t\t\t\t \">\n\t\t\t\t\t\t\t<@s.if test=\"#apiParameter.required\">\n\t\t\t\t\t\t\t\t<@wp.i18n key=\"YES\" />\n\t\t\t\t\t\t\t@s.if>\n\t\t\t\t\t\t\t<@s.else>\n\t\t\t\t\t\t\t\t<@wp.i18n key=\"NO\" />\n\t\t\t\t\t\t\t@s.else>\n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t@s.iterator>\n\t\t\t
\n\t\t@s.if>\n\t@s.if>\n@s.else>",
+ },
+ {
+ code: 'entandoapi_is_resource_list',
+ locked: true,
+ widgetType: {
+ code: 'entando_apis',
+ title: 'APIs',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'entando_apis',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<@wp.i18n key=\"ENTANDO_API_RESOURCES\" /> \n<@s.if test=\"hasActionErrors()\">\n\t\n\t\t
<@wp.i18n key=\"ENTANDO_API_ERROR\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"actionErrors\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.set var=\"resourceFlavoursVar\" value=\"resourceFlavours\" />\n\n<@s.if test=\"#resourceFlavoursVar.size() > 0\">\n\t<@s.set var=\"icon_free\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_FREE\" /> @s.set>\n\t<@s.set var=\"title_free\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_FREE\" />. <@wp.i18n key=\"ENTANDO_API_GOTO_DETAILS\" />@s.set>\n\n\t<@s.set var=\"icon_auth\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_AUTH\" /> @s.set>\n\t<@s.set var=\"title_auth\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_AUTH\" />. <@wp.i18n key=\"ENTANDO_API_GOTO_DETAILS\" />@s.set>\n\n\t<@s.set var=\"icon_lock\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_LOCK\" /> @s.set>\n\t<@s.set var=\"title_lock\"><@wp.i18n key=\"ENTANDO_API_METHOD_STATUS_LOCK\" />. <@wp.i18n key=\"ENTANDO_API_GOTO_DETAILS\" />@s.set>\n\n\t<@s.iterator var=\"resourceFlavourVar\" value=\"#resourceFlavoursVar\" status=\"resourceFlavourStatusVar\">\n\t\t\n\t\t\t<@s.iterator value=\"#resourceFlavourVar\" var=\"resourceVar\" status=\"statusVar\" >\n\t\t\t\t<@s.if test=\"#statusVar.first\">\n\t\t\t\t\t<@s.if test=\"#resourceVar.source=='core'\"><@s.set var=\"captionVar\"><@s.property value=\"#resourceVar.source\" escapeHtml=false />@s.set>@s.if>\n\t\t\t\t\t<@s.else><@s.set var=\"captionVar\"><@s.property value=\"%{getText(#resourceVar.sectionCode+'.name')}\" escapeHtml=false />@s.set>@s.else>\n\t\t\t\t\t\n\t\t\t\t\t\t<@s.property value=\"#captionVar\" />\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_RESOURCE\" /> \n\t\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_DESCRIPTION\" /> \n\t\t\t\t\t\tGET \n\t\t\t\t\t\tPOST \n\t\t\t\t\t\tPUT \n\t\t\t\t\t\tDELETE \n\t\t\t\t\t \n\t\t\t\t@s.if>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<@wp.action path=\"/ExtStr2/do/Front/Api/Resource/detail.action\" var=\"detailActionURL\">\n\t\t\t\t\t\t\t<@wp.parameter name=\"resourceName\"><@s.property value=\"#resourceVar.resourceName\" />@wp.parameter>\n\t\t\t\t\t\t\t<@wp.parameter name=\"namespace\"><@s.property value=\"#resourceVar.namespace\" />@wp.parameter>\n\t\t\t\t\t\t@wp.action>\n\t\t\t\t\t\t : /<@s.property value=\"%{#resourceVar.namespace.length()>0?#resourceVar.namespace+'/':''}\" /><@s.property value=\"#resourceVar.resourceName\" />\" href=\"detailActionURL}\" ><@s.property value=\"#resourceVar.resourceName\" />\n\t\t\t\t\t \n\t\t\t\t\t<@s.property value=\"#resourceVar.description\" /> \n\t\t\t\t\t\n\t\t\t\t\t\t<@s.if test=\"#resourceVar.getMethod != null && #resourceVar.getMethod.active && (!#resourceVar.getMethod.hidden)\" >\n\t\t\t\t\t\t\t<@s.if test=\"#resourceVar.getMethod.requiredPermission != null\" ><@s.set var=\"icon\" value=\"#icon_lock\" /><@s.set var=\"title\" value=\"#title_lock\" />@s.if>\n\t\t\t\t\t\t\t<@s.elseif test=\"#resourceVar.getMethod.requiredAuth\" ><@s.set var=\"icon\" value=\"#icon_auth\" /><@s.set var=\"title\" value=\"#title_auth\" />@s.elseif>\n\t\t\t\t\t\t\t<@s.else><@s.set var=\"icon\" value=\"#icon_free\" /><@s.set var=\"title\" value=\"#title_free\" />@s.else>\n\t\t\t\t\t\t\t \">\n\t\t\t\t\t\t\t\t<@s.property value=\"#icon\" escapeHtml=false />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t@s.if>\n\t\t\t\t\t\t<@s.else> \">–@s.else>\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t<@s.if test=\"#resourceVar.postMethod != null && #resourceVar.postMethod.active && (!#resourceVar.postMethod.hidden)\" >\n\t\t\t\t\t\t\t<@s.if test=\"#resourceVar.postMethod.requiredPermission != null\" ><@s.set var=\"icon\" value=\"#icon_lock\" /><@s.set var=\"title\" value=\"#title_lock\" />@s.if>\n\t\t\t\t\t\t\t<@s.elseif test=\"#resourceVar.postMethod.requiredAuth\" ><@s.set var=\"icon\" value=\"#icon_auth\" /><@s.set var=\"title\" value=\"#title_auth\" />@s.elseif>\n\t\t\t\t\t\t\t<@s.else><@s.set var=\"icon\" value=\"#icon_free\" /><@s.set var=\"title\" value=\"#title_free\" />@s.else>\n\t\t\t\t\t\t\t \">\n\t\t\t\t\t\t\t\t<@s.property value=\"#icon\" escapeHtml=false />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t@s.if>\n\t\t\t\t\t\t<@s.else> \">–@s.else>\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t<@s.if test=\"#resourceVar.putMethod != null && #resourceVar.putMethod.active && (!#resourceVar.putMethod.hidden)\" >\n\t\t\t\t\t\t\t<@s.if test=\"#resourceVar.putMethod.requiredPermission != null\" ><@s.set var=\"icon\" value=\"#icon_lock\" /><@s.set var=\"title\" value=\"#title_lock\" />@s.if>\n\t\t\t\t\t\t\t<@s.elseif test=\"#resourceVar.putMethod.requiredAuth\" ><@s.set var=\"icon\" value=\"#icon_auth\" /><@s.set var=\"title\" value=\"#title_auth\" />@s.elseif>\n\t\t\t\t\t\t\t<@s.else><@s.set var=\"icon\" value=\"#icon_free\" /><@s.set var=\"title\" value=\"#title_free\" />@s.else>\n\t\t\t\t\t\t\t \">\n\t\t\t\t\t\t\t\t<@s.property value=\"#icon\" escapeHtml=false />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t@s.if>\n\t\t\t\t\t\t<@s.else> \">–@s.else>\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t<@s.if test=\"#resourceVar.deleteMethod != null && #resourceVar.deleteMethod.active && (!#resourceVar.deleteMethod.hidden)\" >\n\t\t\t\t\t\t\t<@s.if test=\"#resourceVar.deleteMethod.requiredPermission != null\" ><@s.set var=\"icon\" value=\"#icon_lock\" /><@s.set var=\"title\" value=\"#title_lock\" />@s.if>\n\t\t\t\t\t\t\t<@s.elseif test=\"#resourceVar.deleteMethod.requiredAuth\" ><@s.set var=\"icon\" value=\"#icon_auth\" /><@s.set var=\"title\" value=\"#title_auth\" />@s.elseif>\n\t\t\t\t\t\t\t<@s.else><@s.set var=\"icon\" value=\"#icon_free\" /><@s.set var=\"title\" value=\"#title_free\" />@s.else>\n\t\t\t\t\t\t\t \">\n\t\t\t\t\t\t\t\t<@s.property value=\"#icon\" escapeHtml=false />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t@s.if>\n\t\t\t\t\t\t<@s.else> \">–@s.else>\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t@s.iterator>\n\t\t
\n\n\t\t<@s.if test=\"#resourceVar.source=='core'\">\n\t\t\t \" class=\"btn btn-primary pull-right\"><@wp.i18n key=\"ENTANDO_API_GOTO_SERVICE_LIST\" />\n\t\t@s.if>\n\t@s.iterator>\n@s.if>\n<@s.else>\n\t<@wp.i18n key=\"ENTANDO_API_NO_RESOURCES\" />
\n@s.else>\n\" >\n $(function () {\n $('#api-togglers a:first').tab('show');\n })\n",
+ },
+ {
+ code: 'entandoapi_is_service_detail',
+ locked: true,
+ widgetType: {
+ code: 'entando_apis',
+ title: 'APIs',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'entando_apis',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n\n<@wp.headInfo type="CSS" info="widgets/api.css"/>\n<@s.set var="apiServiceVar" value="%{getApiService(serviceKey)}" />\n\n
<@wp.i18n key="ENTANDO_API_SERVICE" /> <@s.property value="serviceKey" /> \n<@s.if test="hasActionMessages()">\n\t
\n\t\t
<@wp.i18n key="ENTANDO_API_ERROR" /> \n\t\t
\n\t\t\t<@s.iterator value="actionMessages">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.if test="hasActionErrors()">\n\t
\n\t\t
<@wp.i18n key="ENTANDO_API_ERROR" /> \n\t\t
\n\t\t\t<@s.iterator value="actionErrors">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n\n
<@s.property value="getTitle(serviceKey, #apiServiceVar.description)" />
\n\n<@s.set var="masterMethodVar" value="#apiServiceVar.master" />\n\n
\n\t<@wp.i18n key="ENTANDO_API_SERVICE_KEY" /> \n\t\t<@s.property value="serviceKey" /> \n\t<@wp.i18n key="ENTANDO_API_SERVICE_PARENT_API" /> \n\t\t<@s.property value="#masterMethodVar.description" /> (/<@s.if test="#masterMethodVar.namespace!=null && #masterMethodVar.namespace.length()>0"><@s.property value="#masterMethodVar.namespace" />/@s.if><@s.property value="#masterMethodVar.resourceName" />) \n\t\n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_AUTHORIZATION" />\n\t \n\t\t\n\t\t\t<@s.if test="%{!#apiServiceVar.requiredAuth}" >\n\t\t\t\t<@wp.i18n key="ENTANDO_API_SERVICE_AUTH_FREE" />\n\t\t\t@s.if>\n\t\t\t<@s.elseif test="%{null == #apiServiceVar.requiredPermission && null == #apiServiceVar.requiredGroup}">\n\t\t\t\t<@wp.i18n key="ENTANDO_API_SERVICE_AUTH_SIMPLE" />\n\t\t\t@s.elseif>\n\t\t\t<@s.else>\n\t\t\t\t<@s.set var="serviceAuthGroupVar" value="%{getGroup(#apiServiceVar.requiredGroup)}" />\n\t\t\t\t<@s.set var="serviceAuthPermissionVar" value="%{getPermission(#apiServiceVar.requiredPermission)}" />\n\t\t\t\t<@s.if test="%{null != #serviceAuthPermissionVar}">\n\t\t\t\t\t<@wp.i18n key="ENTANDO_API_SERVICE_AUTH_WITH_PERM" /> <@s.property value="#serviceAuthPermissionVar.description" />\n\t\t\t\t@s.if>\n\t\t\t\t<@s.if test="%{null != #serviceAuthGroupVar}">\n\t\t\t\t\t<@s.if test="%{null != #serviceAuthPermissionVar}"> @s.if>\n\t\t\t\t\t<@wp.i18n key="ENTANDO_API_SERVICE_AUTH_WITH_GROUP" /> <@s.property value="#serviceAuthGroupVar.descr" />\n\t\t\t\t@s.if>\n\t\t\t@s.else>\n\t\t \n\t<@wp.i18n key="ENTANDO_API_SERVICE_URI" /> \n\t\t\n\t\t\t api/legacy/<@wp.info key="currentLang" />/getService?key=<@s.property value="serviceKey" />"><@wp.info key="systemParam" paramName="applicationBaseURL" />api/legacy/<@wp.info key="currentLang" />/getService?key=<@s.property value="serviceKey" />\n\t\t \n\t\n\t\t<@wp.i18n key="ENTANDO_API_EXTENSION" />\n\t \n\t\t\n\t\t\t<@wp.i18n key="ENTANDO_API_EXTENSION_NOTE" />\n\t\t \n\t\n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_SCHEMAS" />\n\t \n\t\t\n\t\t\t<@wp.action path="/ExtStr2/do/Front/Api/Service/responseSchema.action" var="responseSchemaURLVar" >\n\t\t\t\t<@wp.parameter name="serviceKey"><@s.property value="serviceKey" />@wp.parameter>\n\t\t\t@wp.action>\n\t\t\t\n\t\t\t\t<@wp.i18n key="ENTANDO_API_SERVICE_SCHEMA_RESP" />\n\t\t\t \n\t\t \n \n\n<@s.if test="%{null != #apiServiceVar.freeParameters && #apiServiceVar.freeParameters.length > 0}" >\n
">\n\t
<@wp.i18n key="ENTANDO_API_SERVICE_PARAMETERS" /> \n\t
\n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_PARAM_NAME" /> \n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_PARAM_DESCRIPTION" /> \n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_PARAM_REQUIRED" /> \n\t\t<@wp.i18n key="ENTANDO_API_SERVICE_PARAM_DEFAULT_VALUE" /> \n\t \n\t<@s.iterator value="#apiServiceVar.freeParameters" var="apiParameterNameVar" >\n\t\t<@s.set var="apiParameterValueVar" value="%{#apiServiceVar.parameters[#apiParameterNameVar]}" />\n\t\t<@s.set var="apiParameterVar" value="%{#apiServiceVar.master.getParameter(#apiParameterNameVar)}" />\n\t\t<@s.set var="apiParameterRequiredVar" value="%{#apiParameterVar.required && null == #apiParameterValueVar}" />\n\t\t
\n\t\t\t "><@s.property value="#apiParameterNameVar" /> \n\t\t\t<@s.property value="%{#apiParameterVar.description}" /> \n\t\t\t ">\n\t\t\t\t<@s.if test="#apiParameterRequiredVar" ><@wp.i18n key="YES" />@s.if>\n\t\t\t\t<@s.else><@wp.i18n key="NO" />@s.else>\n\t\t\t\n\t\t\t<@s.if test="null != #apiParameterValueVar"><@s.property value="#apiParameterValueVar" />@s.if><@s.else>-@s.else> \n\t\t \n\t@s.iterator>\n\n@s.if>\n
\n\t "> <@wp.i18n key="ENTANDO_API_GOTO_LIST" />\n
\n
',
+ },
+ {
+ code: 'entandoapi_is_service_list',
+ locked: true,
+ widgetType: {
+ code: 'entando_apis',
+ title: 'APIs',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'entando_apis',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n\n\n\n\t \" class=\"btn btn-primary\"> <@wp.i18n key=\"ENTANDO_API_GOTO_LIST\" />\n
\n\n<@wp.i18n key=\"ENTANDO_API_GOTO_SERVICE_LIST\" /> \n<@s.if test=\"hasActionErrors()\">\n\t\n\t\t
<@s.text name=\"message.title.ActionErrors\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"actionErrors\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.if test=\"hasFieldErrors()\">\n\t\n\t\t
<@s.text name=\"message.title.FieldErrors\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"fieldErrors\">\n\t\t\t\t<@s.iterator value=\"value\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t\t@s.iterator>\n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.if test=\"hasActionMessages()\">\n\t\n\t\t
<@s.text name=\"messages.confirm\" /> \n\t\t
\n\t\t\t<@s.iterator value=\"actionMessages\">\n\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t@s.iterator>\n\t\t \n\t
\n@s.if>\n<@s.set var=\"resourceFlavoursVar\" value=\"resourceFlavours\" />\n<@s.set var=\"serviceFlavoursVar\" value=\"serviceFlavours\" />\n\n<@s.if test=\"#serviceFlavoursVar != null && #serviceFlavoursVar.size() > 0\">\n\n\t
\n\t\t<@s.iterator var=\"resourceFlavour\" value=\"#resourceFlavoursVar\" status=\"statusVar\">\n\t\t\t<@s.set var=\"serviceGroupVar\" value=\"#resourceFlavour.get(0).getSectionCode()\" />\n\t\t\t<@s.set var=\"servicesByGroupVar\" value=\"#serviceFlavoursVar[#serviceGroupVar]\" />\n\t\t\t<@s.if test=\"null != #servicesByGroupVar && #servicesByGroupVar.size() > 0\">\n\t\t\t\t<@s.if test=\"#serviceGroupVar == 'core'\"><@s.set var=\"captionVar\" value=\"%{#serviceGroupVar}\" />@s.if>\n\t\t\t\t<@s.else><@s.set var=\"captionVar\" value=\"%{getText(#serviceGroupVar + '.name')}\" />@s.else>\n\t\t\t\t class=\"active\"@s.if>>\n\t\t\t\t\t \" data-toggle=\"tab\"><@s.property value='%{#captionVar}' />\n\t\t\t\t \n\t\t\t@s.if>\n\t\t@s.iterator>\n\t \n\n
\n\t<@s.iterator var=\"resourceFlavour\" value=\"#resourceFlavoursVar\" status=\"moreStatusVar\">\n\t\t<@s.set var=\"serviceGroupVar\" value=\"#resourceFlavour.get(0).getSectionCode()\" />\n\t\t<@s.set var=\"servicesByGroupVar\" value=\"#serviceFlavoursVar[#serviceGroupVar]\" />\n\t\t<@s.if test=\"null != #servicesByGroupVar && #servicesByGroupVar.size() > 0\">\n\t\t\t<@s.if test=\"#serviceGroupVar == 'core'\"><@s.set var=\"captionVar\" value=\"%{#serviceGroupVar}\" />@s.if>\n\t\t\t<@s.else><@s.set var=\"captionVar\" value=\"%{getText(#serviceGroupVar + '.name')}\" />@s.else>\n\t\t\t
active@s.if>\" id=\"api-flavour-<@s.property value='%{#captionVar.toLowerCase().replaceAll(\"[^a-z0-9]\", \"\")}' />\">\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t<@s.property value=\"#captionVar\" />\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_SERVICE\" /> \n\t\t\t\t\t<@wp.i18n key=\"ENTANDO_API_DESCRIPTION\" /> \n\t\t\t\t \n\t\t\t\t<@s.iterator var=\"serviceVar\" value=\"#servicesByGroupVar\" >\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<@wp.action path=\"/ExtStr2/do/Front/Api/Service/detail.action\" var=\"detailActionURL\">\n\t\t\t\t\t\t\t\t<@wp.parameter name=\"serviceKey\"><@s.property value=\"#serviceVar.key\" />@wp.parameter>\n\t\t\t\t\t\t\t@wp.action>\n\t\t\t\t\t\t\t<@s.property value=\"#serviceVar.key\" /> \n\t\t\t\t\t\t \n\t\t\t\t\t\t<@s.property value=\"#serviceVar.value\" /> \n\t\t\t\t\t \n\t\t\t\t@s.iterator>\n\t\t\t
\n\t\t\t
\n\t\t@s.if>\n\t@s.iterator>\n\t
\n
\n@s.if>\n<@s.else>\n\n\t
<@wp.i18n key=\"ENTANDO_API_NO_SERVICES\" escapeXml=false />
\n
\n@s.else>\n\n\n\t \" class=\"btn btn-primary\"> <@wp.i18n key=\"ENTANDO_API_GOTO_LIST\" />\n
\n\n ",
+ },
+ {
+ code: 'entando_ootb_carbon_include',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n\n\n \n',
+ },
+ {
+ code: 'internal_servlet_generic_error',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.i18n key="GENERIC_ERROR" />',
+ },
+ {
+ code: 'internal_servlet_user_not_allowed',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.i18n key="USER_NOT_ALLOWED" />',
+ },
+ {
+ code: 'jacms_content_viewer',
+ locked: true,
+ widgetType: {
+ code: 'content_viewer',
+ title: 'Content',
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: 'content_viewer',
+ guiCode: '<#assign jacms=JspTaglibs["/jacms-aps-core"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<@jacms.contentInfo param="authToEdit" var="canEditThis" />\n<@jacms.contentInfo param="contentId" var="myContentId" />\n<#if (canEditThis?? && canEditThis)>\n\t\n\t\n\t\t
\n\t\t\t
do/jacms/Content/edit.action?contentId=<@jacms.contentInfo param="contentId" />" class="btn btn-info">\n\t\t\t<@wp.i18n key="EDIT_THIS_CONTENT" />
\n\t\t
\n\t\t<@jacms.content publishExtraTitle=true />\n\t
\n<#else>\n <@jacms.content publishExtraTitle=true />\n#if>',
+ },
+ {
+ code: 'jacms_content_viewer_list',
+ locked: true,
+ widgetType: {
+ code: 'content_viewer_list',
+ title: 'Content Search Query',
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: 'content_viewer_list',
+ guiCode: '<#assign jacms=JspTaglibs["/jacms-aps-core"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.headInfo type="JS_EXT" info="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js" />\n<@jacms.contentList listName="contentList" titleVar="titleVar"\n\tpageLinkVar="pageLinkVar" pageLinkDescriptionVar="pageLinkDescriptionVar" userFilterOptionsVar="userFilterOptionsVar" />\n<#if (titleVar??)>\n\ttitleVar} \n#if>\n<#include "jacms_content_viewer_list_userfilters" >\n<#if (contentList??) && (contentList?has_content) && (contentList?size > 0)>\n\t<@wp.pager listName="contentList" objectName="groupContent" pagerIdFromFrame=true advanced=true offset=5>\n <#assign group=groupContent >\n\t\t<#include "default_pagerBlock" >\n<#list contentList as contentId>\n<#if (contentId_index >= groupContent.begin) && (contentId_index <= groupContent.end)>\n\t<@jacms.content contentId="contentId}" />\n#if>\n#list>\n\t\t<#include "default_pagerBlock" >\n\t@wp.pager>\n<#else>\n\t\t<@wp.i18n key="LIST_VIEWER_EMPTY" />
\n#if>\n<#if (pageLinkVar??) && (pageLinkDescriptionVar??)>\n\t ">pageLinkDescriptionVar}
\n#if>\n<#assign group="" >\n<#assign contentList="">',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Boolean',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n<@wp.i18n key="i18n_Attribute_Key}" /> \n<#include "jacms_content_viewer_list_userfilter_ent_Bool_io">\n\n ',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Bool_io',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameControlVar = userFilterOptionVar.formFieldNames[2] >\n \n<#assign formFieldNameIgnoreVar = userFilterOptionVar.formFieldNames[1] >\n<#assign formFieldIgnoreValue = userFilterOptionVar.getFormFieldValue(formFieldNameIgnoreVar) >\n<#assign formFieldControlValue = userFilterOptionVar.getFormFieldValue(formFieldNameControlVar) >\n\n\t\n\t checked="checked"#if> value="true" type="checkbox" />\n\t<@wp.i18n key="IGNORE" /> \n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_CheckBox',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n<@wp.i18n key="i18n_Attribute_Key}" /> \n<#include "jacms_content_viewer_list_userfilter_ent_Bool_io" >\n\n\t
\n\t\t\n\t\t checked="checked"#if> value="true" type="checkbox" />\n\t\t<@wp.i18n key="YES"/> \n\t
\n
\n ',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Date',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<#assign currentLangVar ><@wp.info key=\"currentLang\" />#assign>\n\n<#assign js_for_datepicker=\"jQuery(function($){\n\t$.datepicker.regional['it'] = {\n\t\tcloseText: 'Chiudi',\n\t\tprevText: '<Prec',\n\t\tnextText: 'Succ>',\n\t\tcurrentText: 'Oggi',\n\t\tmonthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',\n\t\t\t'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],\n\t\tmonthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',\n\t\t\t'Lug','Ago','Set','Ott','Nov','Dic'],\n\t\tdayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'],\n\t\tdayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],\n\t\tdayNamesMin: ['Do','Lu','Ma','Me','Gi','Ve','Sa'],\n\t\tweekHeader: 'Sm',\n\t\tdateFormat: 'yy-mm-dd',\n\t\tfirstDay: 1,\n\t\tisRTL: false,\n\t\tshowMonthAfterYear: false,\n\t\tyearSuffix: ''};\n});\n\njQuery(function($){\n\tif (Modernizr.touch && Modernizr.inputtypes.date) {\n\t\t$.each(\t$('input[data-isdate=true]'), function(index, item) {\n\t\t\titem.type = 'date';\n\t\t});\n\t} else {\n\t\t$.datepicker.setDefaults( $.datepicker.regional['currentLangVar}'] );\n\t\t$('input[data-isdate=true]').datepicker({\n \t\t\tchangeMonth: true,\n \t\t\tchangeYear: true,\n \t\t\tdateFormat: 'yyyy-mm-dd'\n \t\t});\n\t}\n});\" >\n\n<@wp.headInfo type=\"JS\" info=\"entando-misc-html5-essentials/modernizr-2.5.3-full.js\" />\n<@wp.headInfo type=\"JS_EXT\" info=\"http://code.jquery.com/ui/1.10.0/jquery-ui.min.js\" />\n<@wp.headInfo type=\"CSS_EXT\" info=\"http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.min.css\" />\n<@wp.headInfo type=\"JS_RAW\" info=\"js_for_datepicker}\" />\n\n\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n<@wp.i18n key=\"i18n_Attribute_Key}\" />\n \n\n\t<#assign formFieldStartNameVar = userFilterOptionVar.formFieldNames[0] >\n\t<#assign formFieldStartValueVar = userFilterOptionVar.getFormFieldValue(formFieldStartNameVar) >\n\t
\n\t\t<@wp.i18n key=\"DATE_FROM\" />\n\t \n\t
\n\t\t \n\t
\n
\n\n\t<#assign formFieldEndNameVar = userFilterOptionVar.formFieldNames[1] >\n\t<#assign formFieldEndValueVar = userFilterOptionVar.getFormFieldValue(formFieldEndNameVar) >\n\t
\n\t\t<@wp.i18n key=\"DATE_TO\" />\n\t \n\t
\n\t\t \n\t
\n
\n ",
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Enumer',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n\t
<@wp.i18n key="i18n_Attribute_Key}" /> \n\t
\n\t\t\n\t\t\t<@wp.i18n key="ALL" /> \n\t\t\t<#list userFilterOptionVar.attribute.items as enumeratorItemVar>\n\t\t\tselected="selected"#if> >enumeratorItemVar} \n\t\t\t#list>\n\t\t \n\t
\n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_EnumerMap',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n\t
<@wp.i18n key="i18n_Attribute_Key}" /> \n\t
\n\t\t\n\t\t\t<@wp.i18n key="ALL" /> \n\t\t\t<#list userFilterOptionVar.attribute.mapItems as enumeratorMapItemVar>\n\t\t\tselected="selected"#if> >enumeratorMapItemVar.value} \n\t\t\t#list>\n\t\t \n\t
\n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Number',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n<@wp.i18n key="i18n_Attribute_Key}" />\n \n\n\t<#assign formFieldStartNameVar = userFilterOptionVar.formFieldNames[0] >\n\t<#assign formFieldStartValueVar = userFilterOptionVar.getFormFieldValue(formFieldStartNameVar) >\n\t
\n\t\t<@wp.i18n key="NUMBER_FROM" />\n\t \n\t
\n\t\t \n\t
\n
\n\n\t<#assign formFieldEndNameVar = userFilterOptionVar.formFieldNames[1] >\n\t<#assign formFieldEndValueVar = userFilterOptionVar.getFormFieldValue(formFieldEndNameVar) >\n\t
\n\t\t<@wp.i18n key="NUMBER_TO" />\n\t \n\t
\n\t\t \n\t
\n
\n ',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_Text',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n\t
<@wp.i18n key="i18n_Attribute_Key}" /> \n\t
\n\t\t \n\t
\n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_ent_ThreeSt',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign i18n_Attribute_Key = userFilterOptionVar.attribute.name >\n\n<@wp.i18n key="i18n_Attribute_Key}" /> \n<#include "jacms_content_viewer_list_userfilter_ent_Bool_io">\n\n ',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_met_category',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n<#assign userFilterCategoryCodeVar = userFilterOptionVar.userFilterCategoryCode?default("") >\n<@wp.categories var="systemCategories" titleStyle="prettyFull" root="userFilterCategoryCodeVar}" />\n\n\t
<@wp.i18n key="CATEGORY" /> \n\t
\n\t\t\n\t\t\t<@wp.i18n key="ALL" /> \n\t\t\t<#list systemCategories as systemCategory>\n\t\t\tselected="selected"#if> >systemCategory.value} \n\t\t\t#list>\n\t\t \n\t
\n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilter_met_fulltext',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign formFieldNameVar = userFilterOptionVar.formFieldNames[0] >\n<#assign formFieldValue = userFilterOptionVar.getFormFieldValue(formFieldNameVar) >\n\n
<@wp.i18n key="TEXT" /> \n
\n \n
\n
',
+ },
+ {
+ code: 'jacms_content_viewer_list_userfilters',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#if (userFilterOptionsVar??) && userFilterOptionsVar?has_content && (userFilterOptionsVar?size > 0)>\n\n<#assign hasUserFilterError = false >\n<#list userFilterOptionsVar as userFilterOptionVar>\n<#if (userFilterOptionVar.formFieldErrors??) && userFilterOptionVar.formFieldErrors?has_content && (userFilterOptionVar.formFieldErrors?size > 0)>\n<#assign hasUserFilterError = true >\n#if>\n#list>\n<#if (hasUserFilterError)>\n
\n\t
\n\t
<@wp.i18n key="ERRORS" /> \n\t
\n\t\t<#list userFilterOptionsVar as userFilterOptionVar>\n\t\t\t<#if (userFilterOptionVar.formFieldErrors??) && (userFilterOptionVar.formFieldErrors?size > 0)>\n\t\t\t<#assign formFieldErrorsVar = userFilterOptionVar.formFieldErrors >\n\t\t\t<#list formFieldErrorsVar?keys as formFieldErrorKey>\n\t\t\t\n\t\t\t<@wp.i18n key="jacms_LIST_VIEWER_FIELD" /> formFieldErrorsVar[formFieldErrorKey].attributeName} <#if (formFieldErrorsVar[formFieldErrorKey].rangeFieldType??)>: <@wp.i18n key="formFieldErrorsVar[formFieldErrorKey].rangeFieldType}" /> #if> <@wp.i18n key="formFieldErrorsVar[formFieldErrorKey].errorKey}" />\n\t\t\t \n\t\t\t#list>\n\t\t\t#if>\n\t\t#list>\n\t \n
\n#if>\n<#assign hasUserFilterError = false >\n
<@wp.i18n key="SEARCH_FILTERS_BUTTON" />
\n
\n
\n#if>',
+ },
+ {
+ code: 'jacms_row_content_viewer_list',
+ locked: true,
+ widgetType: {
+ code: 'row_content_viewer_list',
+ title: 'Content List',
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: 'row_content_viewer_list',
+ guiCode: "<#assign jacms=JspTaglibs[\"/jacms-aps-core\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<@jacms.rowContentList listName=\"contentInfoList\" titleVar=\"titleVar\"\n\tpageLinkVar=\"pageLinkVar\" pageLinkDescriptionVar=\"pageLinkDescriptionVar\" />\n<#if (titleVar??)>\n\ttitleVar} \n#if>\n<#if (contentInfoList??) && (contentInfoList?has_content) && (contentInfoList?size > 0)>\n\t<@wp.pager listName=\"contentInfoList\" objectName=\"groupContent\" pagerIdFromFrame=true advanced=true offset=5>\n <#assign group=groupContent >\n\t<#include \"default_pagerBlock\">\n\t<#list contentInfoList as contentInfoVar>\n\t<#if (contentInfoVar_index >= groupContent.begin) && (contentInfoVar_index <= groupContent.end)>\n\t\t<#if (contentInfoVar['modelId']??)>\n\t\t<@jacms.content contentId=\"contentInfoVar['contentId']}\" modelId=\"contentInfoVar['modelId']}\" />\n\t\t<#else>\n\t\t<@jacms.content contentId=\"contentInfoVar['contentId']}\" />\n\t\t#if>\n\t#if>\n\t#list>\n\t<#include \"default_pagerBlock\" >\n\t@wp.pager>\n#if>\n<#if (pageLinkVar??) && (pageLinkDescriptionVar??)>\n\t\">pageLinkDescriptionVar}
\n#if>\n<#assign group=\"\" >\n<#assign contentInfoList=\"\">",
+ },
+ {
+ code: 'jpseo_content_viewer',
+ locked: true,
+ widgetType: {
+ code: 'jpseo_content_viewer',
+ title: 'Content SEO Meta-description',
+ },
+ pluginCode: 'jpseo',
+ widgetTypeCode: 'jpseo_content_viewer',
+ guiCode: '<#assign jacms=JspTaglibs["/jacms-aps-core"]>\n<#assign c=JspTaglibs["http://java.sun.com/jsp/jstl/core"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign jpseo=JspTaglibs["/jpseo-aps-core"]>\n<@jacms.contentInfo param="authToEdit" var="canEditThis" />\n<@jacms.contentInfo param="contentId" var="myContentId" />\n<#if (canEditThis?? && canEditThis)>\n\t\n\t\t
do/jacms/Content/edit.action?contentId=<@jacms.contentInfo param="contentId" />" class="btn btn-info">\n\t\t<@wp.i18n key="EDIT_THIS_CONTENT" />
\n\t
\n#if>\n<@jpseo.content publishExtraTitle=true publishExtraDescription=true />',
+ },
+ {
+ code: 'jpseo_model_meta_info',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: 'jpseo',
+ widgetTypeCode: '',
+ guiCode: '<#assign c=JspTaglibs["http://java.sun.com/jsp/jstl/core"]>\n<#assign jpseo=JspTaglibs["/jpseo-aps-core"]>\n\n<@jpseo.currentPage param="description" var="metaDescrVar" />\n<#if (metaDescrVar??)>\n " />\n#if>\n\n<#-- EXAMPLE OF meta infos on page -->\n<#--\n<@jpseo.seoMetaTag key="author" var="metaAuthorVar" />\n<#if (metaAuthorVar??)>\n " />\n#if>\n\n<@jpseo.seoMetaTag key="keywords" var="metaKeywords" />\n<#if (metaKeywords??)>\n " />\n#if>\n-->\n',
+ },
+ {
+ code: 'keycloak_auth',
+ locked: false,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n<@wp.info key=\"systemParam\" paramName=\"applicationBaseURL\" var=\"appUrl\" />\n\" >\n (function () {\n const consolePrefix = '[ENTANDO-KEYCLOAK]';\n const keycloakConfigEndpoint = 'appUrl}keycloak.json';\n let keycloakConfig;\n function dispatchKeycloakEvent(eventType) {\n console.info(consolePrefix, 'Dispatching', eventType, 'custom event');\n return window.dispatchEvent(new CustomEvent('keycloak', { detail: { eventType } }));\n };\n function initKeycloak() {\n const keycloak = new Keycloak(keycloakConfig);\n keycloak.onReady = function() {\n dispatchKeycloakEvent('onReady');\n };\n keycloak.onAuthSuccess = function() {\n dispatchKeycloakEvent('onAuthSuccess');\n };\n keycloak.onAuthError = function() {\n dispatchKeycloakEvent('onAuthError');\n };\n keycloak.onAuthRefreshSuccess = function() {\n dispatchKeycloakEvent('onAuthRefreshSuccess');\n };\n keycloak.onAuthRefreshError = function() {\n dispatchKeycloakEvent('onAuthRefreshError');\n };\n keycloak.onAuthLogout = function() {\n dispatchKeycloakEvent('onAuthLogout');\n };\n keycloak.onTokenExpired = function() {\n dispatchKeycloakEvent('onTokenExpired');\n };\n function onKeycloakInitialized(isAuthenticated) {\n const username = entando.keycloak.token ?\n JSON.parse(atob(entando.keycloak.token.split('.')[1])).preferred_username\n : 'guest';\n if (username !== 'Session.currentUser.username}') {\n const headers = {}\n if (entando.keycloak.token) {\n headers['Authorization'] = 'Bearer ' + entando.keycloak.token;\n }\n fetch('appUrl}api/users/initSession', { headers })\n .then(res => res.json())\n .then(data => {\n if (data.payload === true) {\n location.reload();\n }\n });\n }\n if (isAuthenticated) {\n console.info(consolePrefix, 'Keycloak initialized, user authenticated');\n } else {\n console.info(consolePrefix, 'Keycloak initialized, user not authenticated');\n }\n };\n window.entando = {\n ...(window.entando || {}),\n keycloak,\n };\n window.entando.keycloak\n .init({ onLoad: 'check-sso', silentCheckSsoRedirectUri: 'appUrl}resources/static/silent-check-sso.html', promiseType: 'native', enableLogging: true })\n .then(onKeycloakInitialized)\n .catch(function (e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to initialize Keycloak');\n });\n };\n function onKeycloakScriptError(e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to load keycloak.js script');\n };\n function addKeycloakScript(keycloakConfig) {\n const script = document.createElement('script');\n script.src = keycloakConfig['auth-server-url'] + '/js/keycloak.js';\n script.async = true;\n script.addEventListener('load', initKeycloak);\n script.addEventListener('error', onKeycloakScriptError);\n document.body.appendChild(script);\n };\n fetch(keycloakConfigEndpoint)\n .then(function (response) {\n return response.json();\n })\n .then(function (config) {\n keycloakConfig = config;\n if (!keycloakConfig.clientId) {\n keycloakConfig.clientId = keycloakConfig.resource;\n }\n addKeycloakScript(keycloakConfig);\n })\n .catch(function (e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to fetch Keycloak configuration');\n });\n })();",
+ },
+ {
+ code: 'keycloak_auth_with_redirect',
+ locked: false,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n\" >\n (function () {\n const consolePrefix = '[ENTANDO-KEYCLOAK]';\n const keycloakConfigEndpoint = '<@wp.info key=\"systemParam\" paramName=\"applicationBaseURL\" />keycloak.json';\n let keycloakConfig;\n function dispatchKeycloakEvent(eventType) {\n console.info(consolePrefix, 'Dispatching', eventType, 'custom event');\n return window.dispatchEvent(new CustomEvent('keycloak', { detail: { eventType } }));\n };\n function initKeycloak() {\n const keycloak = new Keycloak(keycloakConfig);\n keycloak.onReady = function() {\n dispatchKeycloakEvent('onReady');\n };\n keycloak.onAuthSuccess = function() {\n dispatchKeycloakEvent('onAuthSuccess');\n };\n keycloak.onAuthError = function() {\n dispatchKeycloakEvent('onAuthError');\n };\n keycloak.onAuthRefreshSuccess = function() {\n dispatchKeycloakEvent('onAuthRefreshSuccess');\n };\n keycloak.onAuthRefreshError = function() {\n dispatchKeycloakEvent('onAuthRefreshError');\n };\n keycloak.onAuthLogout = function() {\n dispatchKeycloakEvent('onAuthLogout');\n };\n keycloak.onTokenExpired = function() {\n dispatchKeycloakEvent('onTokenExpired');\n };\n window.entando = {\n ...(window.entando || {}),\n keycloak,\n };\n window.entando.keycloak\n .init({ onLoad: 'login-required', promiseType: 'native', enableLogging: true })\n .catch(function (e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to initialize Keycloak');\n });\n };\n function onKeycloakScriptError(e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to load keycloak.js script');\n };\n function addKeycloakScript(keycloakConfig) {\n const script = document.createElement('script');\n script.src = keycloakConfig['auth-server-url'] + '/js/keycloak.js';\n script.async = true;\n script.addEventListener('load', initKeycloak);\n script.addEventListener('error', onKeycloakScriptError);\n document.body.appendChild(script);\n };\n fetch(keycloakConfigEndpoint)\n .then(function (response) {\n return response.json();\n })\n .then(function (config) {\n keycloakConfig = config;\n if (!keycloakConfig.clientId) {\n keycloakConfig.clientId = keycloakConfig.resource;\n }\n addKeycloakScript(keycloakConfig);\n })\n .catch(function (e) {\n console.error(e);\n console.error(consolePrefix, 'Failed to fetch Keycloak configuration');\n });\n })();",
+ },
+ {
+ code: 'keycloak-login',
+ locked: true,
+ widgetType: {
+ code: 'keycloak-login',
+ title: 'Login',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'keycloak-login',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<#include "entando_ootb_carbon_include" >\n\n<#assign sessionUser = "" />\n<#assign userDisplayName = "" />\n<#if (Session.currentUser.username != "guest") >\n <#assign sessionUser = Session.currentUser.username />\n <#if (Session.currentUser.profile??) && (Session.currentUser.profile.displayName??)>\n <#assign userDisplayName = Session.currentUser.profile.displayName />\n <#else>\n <#assign userDisplayName = Session.currentUser />\n #if>\n#if>\n\n "\n user-display-name="userDisplayName}"\n redirect-url="<@wp.url baseUrlMode="requestIfRelative" />"\n>',
+ },
+ {
+ code: 'language',
+ locked: true,
+ widgetType: {
+ code: 'language',
+ title: 'Language',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'language',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<@wp.info key="langs" var="langsVar" />\n<@wp.info key="currentLang" var="currentLangVar" />\n\n<#include "entando_ootb_carbon_include" >\n\n<#assign langstrs = [] />\n<#list langsVar as curLangVar>\n <#assign langurl><@wp.url lang="curLangVar.code}" paramRepeat=true />#assign>\n <#assign langdesc><@wp.i18n key="LANG_curLangVar.code?upper_case}" />#assign>\n <#assign langstr = ["{\\"code\\": \\"" + curLangVar.code + "\\", \\"descr\\": \\"" + langdesc + "\\", \\"url\\": \\""+ langurl +"\\"}"] />\n <#assign langstrs = langstrs + langstr />\n#list>\n<#assign lang_json_string = langstrs?join(", ") />\n\n ',
+ },
+ {
+ code: 'legacy-navigation-menu',
+ locked: true,
+ widgetType: {
+ code: 'legacy-navigation-menu',
+ title: 'Legacy Navigation Menu',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'legacy-navigation-menu',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<@wp.headInfo type="JS" info="entando-misc-jquery/jquery-3.4.1.min.js" />\n<@wp.headInfo type="JS" info="entando-misc-bootstrap/bootstrap.min.js" />\n\n<@wp.currentPage param="code" var="currentPageCode" />\n \n<@wp.nav var="page">\n\n <#if (previousPage?? && previousPage.code??)>\n <#assign previousLevel=previousPage.level>\n <#assign level=page.level>\n <#include "legacy-navigation-menu_include" >\n #if>\n <#assign previousPage=page>\n@wp.nav>\n\n<#if (previousPage??)>\n <#assign previousLevel=previousPage.level>\n <#assign level=0>\n <#include "legacy-navigation-menu_include" >\n\n <#if (previousLevel != 0)>\n <#list 0..(previousLevel - 1) as ignoreMe>\n \n #list>\n\n #if>\n#if>\n\n\n<#assign previousPage="">',
+ },
+ {
+ code: 'legacy-navigation-menu_include',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign c=JspTaglibs[\"http://java.sun.com/jsp/jstl/core\"]>\n\n\n<#assign liClass=\"\">\n<#assign homeIcon=\"\">\n<#assign caret=\"\">\n<#assign ulClass=' class=\"dropdown-menu\"'>\n<#assign aClassAndData=\"\">\n<#assign aURL=previousPage.url>\n\n<#if (previousPage.voidPage)>\n <#assign aURL='#' />\n#if>\n\n<#if (previousPage.code?contains(\"homepage\"))>\n <#assign homeIcon=' '>\n#if>\n\n<#if (previousPage.code == currentPageCode)>\n <#assign liClass=' class=\"active\"'>\n#if>\n\n<#if (previousLevel < level)>\n <#assign liClass=' class=\"dropdown\"' >\n\n <#if (previousPage.code == currentPageCode)>\n <#assign liClass=' class=\"dropdown active\"'>\n #if>\n\n <#if previousPage.voidPage>\n <#assign liClass=' class=\" dropdown\"' >\n #if>\n\n <#if (previousLevel > 0) >\n <#assign liClass=' class=\"dropdown-submenu\"'>\n <#if (previousPage.code == currentPageCode)>\n <#assign liClass=' class=\"dropdown-submenu active\"'>\n #if>\n\n <#assign ulClass=' class=\"dropdown-menu\"'>\n #if>\n\n <#assign aClassAndData=' class=\"dropdown-toggle\" data-toggle=\"dropdown\"'>\n\n <#if (previousLevel == 0)>\n <#assign caret=' '>\n #if>\n#if>\n\n\n \n \n homeIcon}\n previousPage.title}\n caret}\n \n\n <#if (previousLevel == level)> #if>\n<#if (previousLevel < level)>\n\n #if>\n <#if (previousLevel > level)>\n <#list 1..(previousLevel - level) as ignoreMe>\n \n #list>\n \n#if>",
+ },
+ {
+ code: 'login_form',
+ locked: false,
+ widgetType: {
+ code: 'login_form',
+ title: 'Legacy Login Form',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'login_form',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.i18n key="RESERVED_AREA" /> \n<#if (Session.currentUser.username != "guest") >\n\t<@wp.i18n key="WELCOME" />, Session.currentUser} !
\n\t<#if (Session.currentUser.entandoUser) >\n\t\n\t\t\n\t\t\t<@wp.i18n key="USER_DATE_CREATION" /> \n\t\t\t<@wp.i18n key="USER_DATE_ACCESS_LAST" /> \n\t\t\t<@wp.i18n key="USER_DATE_PASSWORD_CHANGE_LAST" /> \n\t\t \n\t\t\n\t\t\tSession.currentUser.creationDate?default("-")} \n\t\t\tSession.currentUser.lastAccess?default("-")} \n\t\t\tSession.currentUser.lastPasswordChange?default("-")} \n\t\t \n\t
\n\t\t<#if (!Session.currentUser.credentialsNotExpired) >\n\t\t\n\t\t\t
<@wp.i18n key="USER_STATUS_EXPIRED_PASSWORD" />: do/editPassword.action"><@wp.i18n key="USER_STATUS_EXPIRED_PASSWORD_CHANGE" />
\n\t\t
\n\t\t#if>\n\t#if>\n\t<@wp.ifauthorized permission="enterBackend">\n\t\n\t\t
do/main.action?request_locale=<@wp.info key="currentLang" />" class="btn"><@wp.i18n key="ADMINISTRATION" />\n\t
\n\t@wp.ifauthorized>\n\t do/logout.action" class="btn"><@wp.i18n key="LOGOUT" />
\n\t<@wp.pageWithWidget widgetTypeCode="userprofile_editCurrentUser" var="userprofileEditingPageVar" listResult=false />\n\t<#if (userprofileEditingPageVar??) >\n\t " ><@wp.i18n key="userprofile_CONFIGURATION" />
\n\t#if>\n<#else>\n\t<#if (accountExpired?? && accountExpired == true) >\n\t\n\t\t
<@wp.i18n key="USER_STATUS_EXPIRED" />
\n\t
\n\t#if>\n\t<#if (wrongAccountCredential?? && wrongAccountCredential == true) >\n\t\n\t\t
<@wp.i18n key="USER_STATUS_CREDENTIALS_INVALID" />
\n\t
\n\t#if>\n\t\n#if>',
+ },
+ {
+ code: 'logo',
+ locked: false,
+ widgetType: {
+ code: 'logo',
+ title: 'Logo',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'logo',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<@wp.info key="systemParam" paramName="applicationBaseURL" var="appUrl" />\n ',
+ },
+ {
+ code: 'messages_system',
+ locked: false,
+ widgetType: {
+ code: 'messages_system',
+ title: 'System Messages',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'messages_system',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<#if ((userUnauthorized?? && userUnauthorized == true) || (RequestParameters.userUnauthorized?? && RequestParameters.userUnauthorized?lower_case?matches(\"true\"))) >\n<@wp.i18n key=\"USER_UNAUTHORIZED\" escapeXml=false /> \n<#else>\n<#assign currentPageCode><@wp.currentPage param=\"code\" />#assign>\n<#if (currentPageCode == 'notfound')>\n\n\t
<@wp.i18n key=\"PAGE_NOT_FOUND\" escapeXml=false /> \n\n#if>\n<#if (currentPageCode == 'errorpage')>\n\n\t
<@wp.i18n key=\"GENERIC_ERROR\" escapeXml=false /> \n\n#if>\n#if>",
+ },
+ {
+ code: 'navigation-menu',
+ locked: true,
+ widgetType: {
+ code: 'navigation-menu',
+ title: 'Navigation Menu',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'navigation-menu',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n\n<@wp.currentPage param="code" var="currentPageCode" />\n\n<#include "entando_ootb_carbon_include" >\n\n<#assign navstrs = [] />\n<@wp.nav var="page">\n <#assign navstr = ["{\\"code\\": \\"" + page.code + "\\", \\"title\\": \\"" + page.title + "\\", \\"level\\": \\"" + page.level + "\\", \\"url\\": \\""+ page.url +"\\", \\"voidPage\\": " + page.voidPage?string("true", "false") + "}"] />\n <#assign navstrs = navstrs + navstr />\n@wp.nav>\n<#assign nav_json_string = navstrs?join(", ") />\n\n ',
+ },
+ {
+ code: 'search_form',
+ locked: true,
+ widgetType: {
+ code: 'search_form',
+ title: 'Search Form',
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: 'search_form',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.pageWithWidget var="searchResultPageVar" widgetTypeCode="search_result" />\n<#include "entando_ootb_carbon_include" >\n #if>"\n placeholder="<@wp.i18n key="ESSF_SEARCH" />"\n>',
+ },
+ {
+ code: 'search_result',
+ locked: true,
+ widgetType: {
+ code: 'search_result',
+ title: 'Search Results',
+ },
+ pluginCode: 'jacms',
+ widgetTypeCode: 'search_result',
+ guiCode: "<#assign jacms=JspTaglibs[\"/jacms-aps-core\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<@wp.i18n key=\"SEARCH_RESULTS\" /> \n<#if (RequestParameters.search?? && RequestParameters.search!='')>\n<@jacms.searcher listName=\"contentListResult\" />\n#if>\n<@wp.i18n key=\"SEARCHED_FOR\" />: <#if (RequestParameters.search??)>RequestParameters.search}#if>
\n<#if (contentListResult??) && (contentListResult?has_content) && (contentListResult?size > 0)>\n<@wp.pager listName=\"contentListResult\" objectName=\"groupContent\" max=10 pagerIdFromFrame=true advanced=true offset=5>\n\t<@wp.i18n key=\"SEARCH_RESULTS_INTRO\" /> \n\tgroupContent.size}\n\t<@wp.i18n key=\"SEARCH_RESULTS_OUTRO\" /> [groupContent.begin + 1} – groupContent.end + 1}]:
\n <#assign group=groupContent >\n\t<#include \"default_pagerBlock\" >\n\t<#list contentListResult as contentId>\n\t<#if (contentId_index >= groupContent.begin) && (contentId_index <= groupContent.end)>\n\t\t<@jacms.content contentId=\"contentId}\" modelId=\"list\" />\n\t#if>\n\t#list>\n\t<#include \"default_pagerBlock\">\n@wp.pager>\n<#else>\n<@wp.i18n key=\"SEARCH_NOTHING_FOUND\" />
\n#if>\n<#assign group=\"\" >",
+ },
+ {
+ code: 'sitemap',
+ locked: true,
+ widgetType: {
+ code: 'sitemap',
+ title: 'Sitemap',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'sitemap',
+ guiCode: '<#assign jacms=JspTaglibs["/jacms-aps-core"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<@jacms.contentList listName="contentList" contentType="NWS" />\n<@wp.currentPage param="code" var="currentPageCode" />\n \n\n\n
Sitemap \n\n
\n<@wp.nav spec="code(homepage).subtree(50)" var="page">\n <#if (previousPage?? && previousPage.code??)>\n\t<#assign previousLevel=previousPage.level>\n\t<#assign level=page.level>\n\t<#include "sitemap_menu_include" >\n #if>\n <#assign previousPage=page>\n@wp.nav>\n<#if (previousPage??)>\n <#assign previousLevel = previousPage.level>\n <#assign level=0>\n <#include "sitemap_menu_include" >\n <#if (previousLevel != 0)>\n\t<#list 0..(previousLevel - 1) as ignoreMe>\n\t\t \n\t#list>\n #if>\n#if>\n
\n
\n<#assign previousPage="">\n',
+ },
+ {
+ code: 'sitemap_menu_include',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign liClass=\"\">\n<#assign aClass=\"\">\n<#if previousPage.voidPage>\n <#assign liClass=' class=\"nav-header\" '>\n <#assign aClass=' class=\"a-void\" '>\n#if>\n\n<#if previousLevel != 0>\n<#if (!previousPage.voidPage)>\n\n<#else>\n \n#if>\npreviousPage.title} \n<#else>\nPages \n#if>\n<#if (previousLevel == level)>\n \n#if>\n<#if (previousLevel < level)>\n\n#if>\n<#if (previousLevel > level)>\n<#list 1..(previousLevel - level) as ignoreMe>\n \n#list>\n#if>\n",
+ },
+ {
+ code: 'userprofile_editCurrentUser_password',
+ locked: true,
+ widgetType: {
+ code: 'userprofile_editCurrentUser_password',
+ title: 'Edit User Password',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'userprofile_editCurrentUser_password',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign wpsa=JspTaglibs["/apsadmin-core"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n\n<@wp.i18n key="userprofile_EDITPASSWORD" /> \n\n<#if (Session.currentUser != "guest") >\n\n\t" method="post" class="form-horizontal">\n\n\t<@s.if test="hasFieldErrors()">\n\t\t\n\t\t\t
<@wp.i18n key="userprofile_MESSAGE_TITLE_FIELDERRORS" />
\n\t\t\t
\n\t\t\t\t<@s.iterator value="fieldErrors">\n\t\t\t\t\t<@s.iterator value="value">\n\t\t\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t\t\t@s.iterator>\n\t\t\t\t@s.iterator>\n\t\t\t \n\t\t
\n\t@s.if>\n\n\t\n\t\t \n\t
\n\n\t\n\t\t
<@wp.i18n key="userprofile_OLDPASSWORD" /> \n\t\t
\n\t\t\t<@wpsf.password\n\t\t\t\tuseTabindexAutoIncrement=true\n\t\t\t\tname="oldPassword"\n\t\t\t\tid="userprofile-old-password" />\n\t\t
\n\t
\n\n\t\n\t\t
<@wp.i18n key="userprofile_NEWPASS" /> \n\t\t
\n\t\t\t<@wpsf.password\n\t\t\t\tuseTabindexAutoIncrement=true\n\t\t\t\tname="password"\n\t\t\t\tid="userprofile-new-password" />\n\t\t
\n\t
\n\n\t\n\t\t
<@wp.i18n key="userprofile_CONFIRM_NEWPASS" /> \n\t\t
\n\t\t\t<@wpsf.password\n\t\t\t\tuseTabindexAutoIncrement=true\n\t\t\t\tname="passwordConfirm"\n\t\t\t\tid="userprofile-new-password-confirm" />\n\t\t
\n\t
\n\n\t\n\t\t<@wp.i18n key="userprofile_SAVE_PASSWORD" var="userprofile_SAVE_PASSWORD" />\n\t\t<@wpsf.submit\n\t\t\tuseTabindexAutoIncrement=true\n\t\t\tvalue="%{#attr.userprofile_SAVE_PASSWORD}"\n\t\t\tcssClass="btn btn-primary" />\n\t
\n\n\t\n\n<#else>\n\t\n\t\t<@wp.i18n key="userprofile_PLEASE_LOGIN_TO_EDIT_PASSWORD" />\n\t
\n#if>',
+ },
+ {
+ code: 'userprofile_editCurrentUser_profile',
+ locked: true,
+ widgetType: {
+ code: 'userprofile_editCurrentUser_profile',
+ title: 'Edit User Profile',
+ },
+ pluginCode: null,
+ widgetTypeCode: 'userprofile_editCurrentUser_profile',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign wpsa=JspTaglibs["/apsadmin-core"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@wp.i18n key="userprofile_EDITPROFILE_TITLE" /> \n<#if (Session.currentUser != "guest") >\n\t" method="post" class="form-horizontal">\n\t<@s.if test="hasFieldErrors()">\n\t\t\n\t\t\t
<@wp.i18n key="userprofile_MESSAGE_TITLE_FIELDERRORS" />
\n\t\t\t
\n\t\t\t\t<@s.iterator value="fieldErrors">\n\t\t\t\t\t<@s.iterator value="value">\n\t\t\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t\t\t@s.iterator>\n\t\t\t\t@s.iterator>\n\t\t\t \n\t\t
\n\t@s.if>\n\t<@s.set var="lang" value="defaultLang" />\n\t<@s.iterator value="userProfile.attributeList" var="attribute">\n\t\t<@s.if test="%{#attribute.active}">\n\t\t\t<@wpsa.tracerFactory var="attributeTracer" lang="%{#lang.code}" />\n\t\t\t\t<@s.set var="i18n_attribute_name">userprofile_<@s.property value="userProfile.typeCode" />_<@s.property value="#attribute.name" />@s.set>\n\t\t\t\t<@s.set var="attribute_id">userprofile_<@s.property value="#attribute.name" />@s.set>\n\t\t\t\t<#include "userprofile_is_IteratorAttribute" >\n\t\t@s.if>\n\t@s.iterator>\n\n\t\n\t\t<@wp.i18n key="userprofile_SAVE_PROFILE" var="userprofile_SAVE_PROFILE" />\n\t\t<@wpsf.submit useTabindexAutoIncrement=true value="%{#attr.userprofile_SAVE_PROFILE}" cssClass="btn btn-primary" />\n\t
\n\n\t\n<#else>\n\t\n\t\t<@wp.i18n key="userprofile_PLEASE_LOGIN" />\n\t
\n#if>',
+ },
+ {
+ code: 'userprofile_is_currentWithoutProfile',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.i18n key="userprofile_EDITPROFILE_TITLE" /> \n\n\t<@wp.i18n key="userprofile_CURRENT_USER_WITHOUT_PROFILE" />\n
',
+ },
+ {
+ code: 'userprofile_is_entryCurrentProfile',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign wpsa=JspTaglibs["/apsadmin-core"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n\n<#if (Session.currentUser != "guest") >\n" method="post" class="form-horizontal">\n\t<@s.if test="hasFieldErrors()">\n\t\t\n\t\t\t
<@wp.i18n key="userprofile_MESSAGE_TITLE_FIELDERRORS" />
\n\t\t\t
\n\t\t\t\t<@s.iterator value="fieldErrors">\n\t\t\t\t\t<@s.iterator value="value">\n\t\t\t\t\t\t<@s.property escapeHtml=false /> \n\t\t\t\t\t@s.iterator>\n\t\t\t\t@s.iterator>\n\t\t\t \n\t\t
\n\t@s.if>\n\t<@s.set var="lang" value="defaultLang" />\n\t<@s.iterator value="userProfile.attributeList" var="attribute">\n\t\t<@s.if test="%{#attribute.active}">\n\t\t\t<@wpsa.tracerFactory var="attributeTracer" lang="%{#lang.code}" />\n\t\t\t<@s.set var="i18n_attribute_name">userprofile_<@s.property value="userProfile.typeCode" />_<@s.property value="#attribute.name" />@s.set>\n\t\t\t<@s.set var="attribute_id">userprofile_<@s.property value="#attribute.name" />@s.set>\n\t\t\t<#include "userprofile_is_IteratorAttribute" >\n\t\t@s.if>\n\t@s.iterator>\n\t\n\t\t<@wp.i18n key="userprofile_SAVE_PROFILE" var="userprofile_SAVE_PROFILE" />\n\t\t<@wpsf.submit useTabindexAutoIncrement=true value="%{#attr.userprofile_SAVE_PROFILE}" cssClass="btn btn-primary" />\n\t
\n\n<#else>\n\t<@wp.i18n key="userprofile_PLEASE_LOGIN" />
\n#if>',
+ },
+ {
+ code: 'userprofile_is_front-AllList-addElementButton',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsa=JspTaglibs[\"/apsadmin-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n\n<@s.set var=\"add_label\"><@wp.i18n key=\"userprofile_ADDITEM_LIST\" />@s.set>\n\n<@wpsa.actionParam action=\"addListElement\" var=\"actionName\" >\n\t<@wpsa.actionSubParam name=\"attributeName\" value=\"%{#attribute.name}\" />\n\t<@wpsa.actionSubParam name=\"listLangCode\" value=\"%{#lang.code}\" />\n@wpsa.actionParam>\n<@s.set var=\"iconImagePath\" id=\"iconImagePath\"><@wp.resourceURL/>administration/common/img/icons/list-add.png@s.set>\n<@wpsf.submit\n\tcssClass=\"btn\"\n\tuseTabindexAutoIncrement=true\n\taction=\"%{#actionName}\"\n\tvalue=\"%{add_label}\"\n\ttitle=\"%{i18n_attribute_name}%{': '}%{add_label}\" />",
+ },
+ {
+ code: 'userprofile_is_front_AllList_operationModule',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsa=JspTaglibs[\"/apsadmin-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n\n<@s.if test=\"null == #operationButtonDisabled\">\n\t<@s.set var=\"operationButtonDisabled\" value=\"false\" />\n@s.if>\n",
+ },
+ {
+ code: 'userprofile_is_front_AttributeInfo',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n\n<@s.if test="#attribute.required">\n\t "><@wp.i18n key="userprofile_ENTITY_ATTRIBUTE_MANDATORY_SHORT" /> \n@s.if>',
+ },
+ {
+ code: 'userprofile_is_front_attributeInfo-help-block',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n\n<@s.set var=\"validationRules\" value=\"#attribute.validationRules.ognlValidationRule\" />\n<@s.set var=\"hasValidationRulesVar\" value=\"%{#validationRules != null && #validationRules.expression != null}\" />\n\n<@s.if test=\"%{#hasValidationRulesVar || #attribute.type == 'Date' || (#attribute.textAttribute && (#attribute.minLength != -1 || #attribute.maxLength != -1))}\">\n\t\t\n\t\t<@s.if test=\"#attribute.type == 'Date'\">dd/MM/yyyy @s.if>\n\t\t<@s.if test=\"%{#validationRules.helpMessageKey != null}\">\n\t\t\t<@s.set var=\"label\" scope=\"page\" value=\"#validationRules.helpMessageKey\" /><@wp.i18n key=\"label}\" />\n\t\t@s.if>\n\t\t<@s.elseif test=\"%{#validationRules.helpMessage != null}\">\n\t\t\t<@s.property value=\"#validationRules.helpMessage\" />\n\t\t@s.elseif>\n\t\t<@s.if test=\"#attribute.minLength != -1\">\n\t\t\t \n\t\t\t <@s.property value=\"#attribute.minLength\" />\">\n\t\t\t\t<@wp.i18n key=\"userprofile_ENTITY_ATTRIBUTE_MINLENGTH_SHORT\" />: <@s.property value=\"#attribute.minLength\" />\n\t\t\t\n\t\t@s.if>\n\t\t<@s.if test=\"#attribute.maxLength != -1\">\n\t\t\t \n\t\t\t <@s.property value=\"#attribute.maxLength\" />\">\n\t\t\t\t<@wp.i18n key=\"userprofile_ENTITY_ATTRIBUTE_MAXLENGTH_SHORT\" />: <@s.property value=\"#attribute.maxLength\" />\n\t\t\t\n\t\t@s.if>\n\t \n@s.if>",
+ },
+ {
+ code: 'userprofile_is_front-BooleanAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n \">\n\t<@wpsf.radio\n\t\tuseTabindexAutoIncrement=true\n\t\tname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\n\t\tid=\"%{#attribute_id + '-true'}\"\n\t\tvalue=\"true\"\n\t\tchecked=\"%{#attribute.value == true}\"\n\t\tcssClass=\"radio\" />\n\t\t<@wp.i18n key=\"userprofile_YES\" />\n\n \n \">\n\t<@wpsf.radio\n\t\tuseTabindexAutoIncrement=true\n\t\tname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\n\t\tid=\"%{#attribute_id + '-false'}\"\n\t\tvalue=\"false\"\n\t\tchecked=\"%{#attribute.value == false}\"\n\t\tcssClass=\"radio\" />\n\t\t<@wp.i18n key=\"userprofile_NO\" />\n",
+ },
+ {
+ code: 'userprofile_is_front-CheckboxAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n\n<@wpsf.checkbox useTabindexAutoIncrement=true\n\tname="%{#attributeTracer.getFormFieldName(#attribute)}"\n\tid="%{attribute_id}" value="%{#attribute.value == true}"/>',
+ },
+ {
+ code: 'userprofile_is_front-CompositeAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign wpsa=JspTaglibs["/apsadmin-core"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@s.set var="i18n_parent_attribute_name" value="#attribute.name" />\n<@s.set var="masterCompositeAttributeTracer" value="#attributeTracer" />\n<@s.set var="masterCompositeAttribute" value="#attribute" />\n<@s.iterator value="#attribute.attributes" var="attribute">\n\t<@s.set var="attributeTracer" value="#masterCompositeAttributeTracer.getCompositeTracer(#masterCompositeAttribute)">@s.set>\n\t<@s.set var="parentAttribute" value="#masterCompositeAttribute">@s.set>\n\t<@s.set var="i18n_attribute_name">userprofile_ATTR<@s.property value="%{i18n_parent_attribute_name}" /><@s.property value="#attribute.name" />@s.set>\n\t<@s.set var="attribute_id">userprofile_<@s.property value="%{i18n_parent_attribute_name}" /><@s.property value="#attribute.name" />_<@s.property value="#elementIndex" />@s.set>\n\t<#include "userprofile_is_IteratorAttribute" >\n@s.iterator>\n<@s.set var="attributeTracer" value="#masterCompositeAttributeTracer" />\n<@s.set var="attribute" value="#masterCompositeAttribute" />\n<@s.set var="parentAttribute" value="">@s.set>',
+ },
+ {
+ code: 'userprofile_is_front-DateAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n\n<#assign currentLangVar ><@wp.info key=\"currentLang\" />#assign>\n\n<@s.if test=\"#attribute.failedDateString == null\">\n<@s.set var=\"dateAttributeValue\" value=\"#attribute.getFormattedDate('dd/MM/yyyy')\" />\n@s.if>\n<@s.else>\n<@s.set var=\"dateAttributeValue\" value=\"#attribute.failedDateString\" />\n@s.else>\n<@wpsf.textfield\nuseTabindexAutoIncrement=true id=\"%{attribute_id}\"\nname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\nvalue=\"%{#dateAttributeValue}\" maxlength=\"10\" cssClass=\"text userprofile-date\" />\n \n<#assign js_for_datepicker=\"jQuery(function($){\n\t$.datepicker.regional['it'] = {\n\t\tcloseText: 'Chiudi',\n\t\tprevText: '<Prec',\n\t\tnextText: 'Succ>',\n\t\tcurrentText: 'Oggi',\n\t\tmonthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',\n\t\t\t'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],\n\t\tmonthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',\n\t\t\t'Lug','Ago','Set','Ott','Nov','Dic'],\n\t\tdayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'],\n\t\tdayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],\n\t\tdayNamesMin: ['Do','Lu','Ma','Me','Gi','Ve','Sa'],\n\t\tweekHeader: 'Sm',\n\t\tdateFormat: 'dd/mm/yy',\n\t\tfirstDay: 1,\n\t\tisRTL: false,\n\t\tshowMonthAfterYear: false,\n\t\tyearSuffix: ''};\n});\n\njQuery(function($){\n\tif (Modernizr.touch && Modernizr.inputtypes.date) {\n\t\t$.each(\t$('input.userprofile-date'), function(index, item) {\n\t\t\titem.type = 'date';\n\t\t});\n\t} else {\n\t\t$.datepicker.setDefaults( $.datepicker.regional['currentLangVar}'] );\n\t\t$('input.userprofile-date').datepicker({\n \t\t\tchangeMonth: true,\n \t\t\tchangeYear: true,\n \t\t\tdateFormat: 'dd/mm/yyyy'\n \t\t});\n\t}\n});\" >\n\n<@wp.headInfo type=\"JS\" info=\"entando-misc-html5-essentials/modernizr-2.5.3-full.js\" />\n<@wp.headInfo type=\"JS_EXT\" info=\"http://code.jquery.com/ui/1.12.1/jquery-ui.min.js\" />\n<@wp.headInfo type=\"CSS_EXT\" info=\"http://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.min.css\" />\n<@wp.headInfo type=\"JS_RAW\" info=\"js_for_datepicker}\" />",
+ },
+ {
+ code: 'userprofile_is_front-EnumeratorAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@wpsf.select useTabindexAutoIncrement=true\n\tname="%{#attributeTracer.getFormFieldName(#attribute)}"\n\tid="%{attribute_id}"\n\theaderKey="" headerValue=""\n\tlist="#attribute.items" value="%{#attribute.getText()}" />',
+ },
+ {
+ code: 'userprofile_is_front-EnumeratorMapAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@wpsf.select useTabindexAutoIncrement=true\n\tname="%{#attributeTracer.getFormFieldName(#attribute)}"\n\tid="%{attribute_id}"\n\theaderKey="" headerValue=""\n\tlist="#attribute.mapItems" value="%{#attribute.getText()}" listKey="key" listValue="value" />',
+ },
+ {
+ code: 'userprofile_is_front-HypertextAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n\n<@wpsf.textarea\n\tuseTabindexAutoIncrement=true\n\tcols="50"\n\trows="3"\n\tid="%{#attribute_id}"\n\tname="%{#attributeTracer.getFormFieldName(#attribute)}"\n\tvalue="%{#attribute.textMap[#lang.code]}" />',
+ },
+ {
+ code: 'userprofile_is_front-LongtextAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@wpsf.textarea useTabindexAutoIncrement=true cols="30" rows="5" id="%{attribute_id}" name="%{#attributeTracer.getFormFieldName(#attribute)}" value="%{#attribute.getTextForLang(#lang.code)}" />',
+ },
+ {
+ code: 'userprofile_is_front-MonolistAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsa=JspTaglibs[\"/apsadmin-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n<@s.if test=\"#attribute.attributes.size() != 0\">\n\t\n@s.if>\n\n<@s.set var=\"masterListAttributeTracer\" value=\"#attributeTracer\" />\n<@s.set var=\"masterListAttribute\" value=\"#attribute\" />\n\n<@s.iterator value=\"#attribute.attributes\" var=\"attribute\" status=\"elementStatus\">\n\t<@s.set var=\"attributeTracer\" value=\"#masterListAttributeTracer.getMonoListElementTracer(#elementStatus.index)\">@s.set>\n\t<@s.set var=\"elementIndex\" value=\"#elementStatus.index\" />\n\t<@s.set var=\"i18n_attribute_name\">userprofile_ATTR<@s.property value=\"#attribute.name\" />@s.set>\n\t<@s.set var=\"attribute_id\">userprofile_<@s.property value=\"#attribute.name\" />_<@s.property value=\"#elementStatus.count\" />@s.set>\n\n\t \">\n\t\t \">\n\t\t\t<@s.if test=\"#attribute.type == 'Composite'\">\n\t\t\t\t<@s.property value=\"#elementStatus.count\" /> <@s.text name=\"label.compositeAttribute.element\" /> \n\t\t\t\t \n\t\t\t\t<@s.if test=\"#lang.default\">\n\t\t\t\t\t<#include \"userprofile_is_front_AllList_operationModule\" >\n\t\t\t\t@s.if>\n\t\t\t@s.if>\n\t\t\t<@s.else>\n\t\t\t\t<@s.property value=\"#elementStatus.count\" />\n\t\t\t\t \n\t\t\t\t<#include \"userprofile_is_front_AllList_operationModule\" >\n\t\t\t@s.else>\n\t\t\n\t\t\n\t\t\t<@s.if test=\"#attribute.type == 'Boolean'\">\n\t\t\t\t<#include \"userprofile_is_front-BooleanAttribute\" >\n\t\t\t@s.if>\n\t\t\t<@s.elseif test=\"#attribute.type == 'CheckBox'\">\n\t\t\t\t<#include \"userprofile_is_front-CheckboxAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Composite'\">\n\t\t\t\t<#include \"userprofile_is_front-CompositeAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Date'\">\n\t\t\t\t<#include \"userprofile_is_front-DateAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Enumerator'\">\n\t\t\t\t<#include \"userprofile_is_front-EnumeratorAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'EnumeratorMap'\">\n\t\t\t\t<#include \"userprofile_is_front-EnumeratorMapAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Hypertext'\">\n\t\t\t\t<#include \"userprofile_is_front-HypertextAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Longtext'\">\n\t\t\t\t<#include \"userprofile_is_front-LongtextAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Monotext'\">\n\t\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Number'\">\n\t\t\t\t<#include \"userprofile_is_front-NumberAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'ThreeState'\">\n\t\t\t\t<#include \"userprofile_is_front-ThreeStateAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.elseif test=\"#attribute.type == 'Text'\">\n\t\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t@s.elseif>\n\t\t\t<@s.else>\n\t\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t@s.else>\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.iterator>\n\n<@s.set var=\"attributeTracer\" value=\"#masterListAttributeTracer\" />\n<@s.set var=\"attribute\" value=\"#masterListAttribute\" />\n<@s.set var=\"elementIndex\" value=\"\" />\n<@s.if test=\"#attribute.attributes.size() != 0\">\n \n@s.if>\n<@s.if test=\"#lang.default\">\n\t\n\t\t
\n\t\t\t<#include \"userprofile_is_front-AllList-addElementButton\" >\n\t\t
\n\t
\n@s.if>",
+ },
+ {
+ code: 'userprofile_is_front-MonotextAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n<@wpsf.textfield useTabindexAutoIncrement=true id="%{attribute_id}"\n\tname="%{#attributeTracer.getFormFieldName(#attribute)}" value="%{#attribute.getTextForLang(#lang.code)}"\n\tmaxlength="254" />',
+ },
+ {
+ code: 'userprofile_is_front-NumberAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign s=JspTaglibs["/struts-tags"]>\n<#assign wp=JspTaglibs["/aps-core"]>\n<#assign wpsf=JspTaglibs["/apsadmin-form"]>\n\n<@s.if test="#attribute.failedNumberString == null">\n\t<@s.set var="numberAttributeValue" value="#attribute.value">@s.set>\n@s.if>\n<@s.else>\n\t<@s.set var="numberAttributeValue" value="#attribute.failedNumberString">@s.set>\n@s.else>\n<@wpsf.textfield\n\t\tuseTabindexAutoIncrement=true\n\t\tid="%{#attribute_id}"\n\t\tname="%{#attributeTracer.getFormFieldName(#attribute)}"\n\t\tvalue="%{#numberAttributeValue}"\n\t\tmaxlength="254" />',
+ },
+ {
+ code: 'userprofile_is_front-ThreeStateAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n \">\n\t<@wpsf.radio\n\t\tuseTabindexAutoIncrement=true\n\t\tname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\n\t\tid=\"%{#attribute_id + '-none'}\"\n\t\tvalue=\"\"\n\t\tchecked=\"%{#attribute.booleanValue == null}\"\n\t\tcssClass=\"radio\" />\n\t\t<@wp.i18n key=\"userprofile_BOTH_YES_AND_NO\" />\n\n \n \">\n\t<@wpsf.radio\n\t\tuseTabindexAutoIncrement=true\n\t\tname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\n\t\tid=\"%{#attribute_id + '-true'}\"\n\t\tvalue=\"true\"\n\t\tchecked=\"%{#attribute.booleanValue != null && #attribute.booleanValue == true}\"\n\t\tcssClass=\"radio\" />\n\t\t<@wp.i18n key=\"userprofile_YES\" />\n\n \n \">\n\t<@wpsf.radio\n\t\tuseTabindexAutoIncrement=true\n\t\tname=\"%{#attributeTracer.getFormFieldName(#attribute)}\"\n\t\tid=\"%{#attribute_id + '-false'}\"\n\t\tvalue=\"false\"\n\t\tchecked=\"%{#attribute.booleanValue != null && #attribute.booleanValue == false}\"\n\t\tcssClass=\"radio\" />\n\t\t<@wp.i18n key=\"userprofile_NO\" />\n",
+ },
+ {
+ code: 'userprofile_is_IteratorAttribute',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: "<#assign s=JspTaglibs[\"/struts-tags\"]>\n<#assign wp=JspTaglibs[\"/aps-core\"]>\n<#assign wpsa=JspTaglibs[\"/apsadmin-core\"]>\n<#assign wpsf=JspTaglibs[\"/apsadmin-form\"]>\n<#assign i18n_attribute_name ><@s.property value=\"#i18n_attribute_name\" />#assign>\n<@s.if test=\"#attribute.type == 'Boolean'\">\n\t
\">\n\t\t\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t \n\t\t\n\t\t\t<#include \"userprofile_is_front-BooleanAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.if>\n<@s.elseif test=\"#attribute.type == 'CheckBox'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-CheckboxAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Composite'\">\n\t\n\t\t
\">\n\t\t\t\n\t\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\t \n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t\t<#include \"userprofile_is_front-CompositeAttribute\" >\n\t\t\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Date'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-DateAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Enumerator'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-EnumeratorAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'EnumeratorMap'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-EnumeratorMapAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Hypertext'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-HypertextAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'List'\">\n\t\n\t\t
\">\n\t\t\t\n\t\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\t \n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t\t<#include \"userprofile_is_front-MonolistAttribute\" >\n\t\t\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Longtext'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-LongtextAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Monolist'\">\n\t\n\t\t
\">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\t \n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t\t<#include \"userprofile_is_front-MonolistAttribute\" >\n\t\t\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Monotext'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Number'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-NumberAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'Text'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.elseif test=\"#attribute.type == 'ThreeState'\">\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-ThreeStateAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.elseif>\n<@s.else> <#-- for all other types, insert a simple label and a input[type=\"text\"] -->\n\t
\">\n\t\t \">\n\t\t\t<@wp.i18n key=\"i18n_attribute_name}\" />\n\t\t\t<#include \"userprofile_is_front_AttributeInfo\" >\n\t\t\n\t\t\n\t\t\t<#include \"userprofile_is_front-MonotextAttribute\" >\n\t\t\t<#include \"userprofile_is_front_attributeInfo-help-block\" >\n\t\t
\n\t\n@s.else>",
+ },
+ {
+ code: 'userprofile_is_passwordChanged',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<#assign s=JspTaglibs["/struts-tags"]>\n\n<@wp.i18n key="userprofile_EDITPASSWORD_TITLE" /> \n<@wp.i18n key="userprofile_PASSWORD_UPDATED" />
\n<@s.if test="!#session.currentUser.credentialsNonExpired">\n\t\n\t\t " ><@wp.i18n key="userprofile_PLEASE_LOGIN_AGAIN" />\n\t
\n@s.if>',
+ },
+ {
+ code: 'userprofile_is_profileChangeConfirmation',
+ locked: true,
+ widgetType: {
+ code: null,
+ title: null,
+ },
+ pluginCode: null,
+ widgetTypeCode: '',
+ guiCode: '<#assign wp=JspTaglibs["/aps-core"]>\n<@wp.i18n key="userprofile_EDITPROFILE_TITLE" /> \n<@wp.i18n key="userprofile_PROFILE_UPDATED" />
',
+ },
+ ],
+};