
META-INF.resources.designer.edit_kaleo_definition_version.jsp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.portal.workflow.kaleo.designer.web Show documentation
Show all versions of com.liferay.portal.workflow.kaleo.designer.web Show documentation
Liferay Portal Workflow Kaleo Designer Web
The newest version!
<%--
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
--%>
<%@ include file="/designer/init.jsp" %>
<%
String successMessageKey = KaleoDesignerPortletKeys.KALEO_DESIGNER + "requestProcessed";
%>
<%
String mvcPath = ParamUtil.getString(request, "mvcPath", "/designer/edit_workflow_definition.jsp");
String redirect = ParamUtil.getString(request, "redirect");
String closeRedirect = ParamUtil.getString(request, "closeRedirect");
KaleoDefinitionVersion kaleoDefinitionVersion = (KaleoDefinitionVersion)request.getAttribute(KaleoDesignerWebKeys.KALEO_DRAFT_DEFINITION);
KaleoDefinition kaleoDefinition = kaleoDesignerDisplayContext.getKaleoDefinition(kaleoDefinitionVersion);
String name = BeanParamUtil.getString(kaleoDefinitionVersion, request, "name");
String draftVersion = BeanParamUtil.getString(kaleoDefinitionVersion, request, "version");
String content = BeanParamUtil.getString(kaleoDefinitionVersion, request, "contentAsXML");
String latestDraftVersion = StringPool.BLANK;
int version = 0;
KaleoDefinitionVersion latestKaleoDefinitionVersion = null;
if (kaleoDefinitionVersion != null) {
if (Validator.isNull(name)) {
name = kaleoDefinitionVersion.getName();
}
draftVersion = kaleoDefinitionVersion.getVersion();
latestKaleoDefinitionVersion = KaleoDefinitionVersionLocalServiceUtil.getLatestKaleoDefinitionVersion(themeDisplay.getCompanyId(), name);
latestDraftVersion = latestKaleoDefinitionVersion.getVersion();
if (kaleoDefinition != null) {
version = kaleoDefinition.getVersion();
}
}
portletDisplay.setShowBackIcon(true);
portletDisplay.setURLBack(
PortletURLBuilder.create(
PortalUtil.getControlPanelPortletURL(renderRequest, KaleoDesignerPortletKeys.CONTROL_PANEL_WORKFLOW, PortletRequest.RENDER_PHASE)
).setMVCPath(
"/view.jsp"
).buildString());
renderResponse.setTitle((kaleoDefinitionVersion == null) ? LanguageUtil.get(request, "new-workflow") : kaleoDefinitionVersion.getTitle(locale));
String state = (String)request.getParameter(WorkflowWebKeys.WORKFLOW_JSP_STATE);
String duplicateTitle = kaleoDesignerDisplayContext.getDuplicateTitle(kaleoDefinition);
String randomNamespace = StringUtil.randomId() + StringPool.UNDERLINE;
%>
<%@ include file="/designer/edit_kaleo_definition_version_exceptions.jspf" %>
window[' afterTabViewChange'] = function (event) {
var tabContentNode = event.newVal.get('boundingBox');
var kaleoDesigner = kaleoDesigner;
if (tabContentNode === kaleoDesigner.viewNode && kaleoDesigner.editor) {
setTimeout(() => {
kaleoDesigner.set('definition', kaleoDesigner.editor.get('value'));
}, 0);
}
};
window[' publishKaleoDefinitionVersion'] = function () {
updateContent();
updateAction(
' '
);
submitForm(document. fm);
};
window[' saveKaleoDefinitionVersion'] = function () {
updateContent();
updateAction(
' '
);
submitForm(document. fm);
};
window[' updateAction'] = function (action) {
var form = document. fm;
form.setAttribute('action', action);
};
window[' updateContent'] = function () {
var content = document.getElementById(' content');
var activeTab =
kaleoDesigner.contentTabView.getActiveTab();
if (activeTab === kaleoDesigner.sourceNode) {
content.value = kaleoDesigner.editor.get('value');
}
else {
content.value = kaleoDesigner.getContent();
}
};
window[' closeKaleoDialog'] = function () {
var dialog = Liferay.Util.getWindow();
if (dialog) {
dialog.destroy();
}
};
<%
String saveCallback = ParamUtil.getString(request, "saveCallback");
%>
Liferay.Util.getOpener()['<%= HtmlUtil.escapeJS(saveCallback) %>'](
'<%= HtmlUtil.escapeJS(name) %>',
<%= version %>,
<%= draftVersion %>
);
var MAP_ROLE_TYPES = {
account: 6,
depot: 5,
organization: 3,
regular: 1,
site: 2,
};
var initializeKaleoDesigner = function () {
window. kaleoDesigner = new Liferay.KaleoDesigner({
<%
String availableFields = ParamUtil.getString(request, "availableFields");
%>
availableFields: A.Object.getValue(
window,
'<%= HtmlUtil.escapeJS(availableFields) %>'.split('.')
),
<%
String availablePropertyModels = ParamUtil.getString(request, "availablePropertyModels", "Liferay.KaleoDesigner.AVAILABLE_PROPERTY_MODELS.KALEO_FORMS_EDIT");
%>
availablePropertyModels: A.Object.getValue(
window,
'<%= HtmlUtil.escapeJS(availablePropertyModels) %>'.split('.')
),
boundingBox: '# propertyBuilder',
data: {
kaleoProcessId:
'<%= ParamUtil.getLong(request, "kaleoProcessId") %>',
},
definition: '<%= HtmlUtil.escapeJS(content) %>',
<%
String propertiesSaveCallback = ParamUtil.getString(request, "propertiesSaveCallback");
%>
on: {
save: Liferay.Util.getOpener()[
'<%= HtmlUtil.escapeJS(propertiesSaveCallback) %>'
],
},
portletNamespace: ' ',
<%
String portletResourceNamespace = ParamUtil.getString(request, "portletResourceNamespace");
%>
portletResourceNamespace:
'<%= HtmlUtil.escapeJS(portletResourceNamespace) %>',
srcNode: '# propertyBuilderContent',
}).render();
kaleoDesigner.after('render', () => {
var diagramBuilderControlElements = document.querySelectorAll(
'# propertyBuilder .diagram-builder-controls'
);
diagramBuilderControlElements.forEach((element) => {
element.parentElement.removeChild(element);
});
kaleoDesigner.detachAll();
kaleoDesigner.set('readOnly', true);
});
var uploadFile = document.querySelector('# upload');
var previousContent = '';
uploadFile.addEventListener('change', (evt) => {
var files = evt.target.files;
if (files) {
var reader = new FileReader();
reader.onloadend = function (evt) {
if (evt.target.readyState == FileReader.DONE) {
previousContent =
kaleoDesigner.getEditorContent();
kaleoDesigner.setEditorContent(
evt.target.result
);
uploadFile.value = '';
Liferay.KaleoDesignerDialogs.showDefinitionImportSuccessMessage(
' '
);
}
};
reader.readAsText(files[0]);
}
});
Liferay.on(' undoDefinition', (event) => {
kaleoDesigner.setEditorContent(previousContent);
Liferay.KaleoDesignerDialogs.showActionUndoneSuccessMessage();
});
kaleoDesigner.contentTabView.after({
selectionChange: afterTabViewChange,
});
var fields = kaleoDesigner.get('fields');
if (fields.size() == 0) {
kaleoDesigner.set('fields', [
{
name: 'StartNode',
type: 'start',
xy: [100, 40],
},
{
actions: {
description: [Liferay.KaleoDesignerStrings.approve],
executionType: ['onEntry'],
name: [Liferay.KaleoDesignerStrings.approve],
script: [
'com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(com.liferay.portal.kernel.workflow.WorkflowConstants.getLabelStatus("approved"), workflowContext);',
],
scriptLanguage: ['groovy'],
},
name: 'EndNode',
type: 'end',
xy: [100, 500],
},
]);
kaleoDesigner.connect('StartNode', 'EndNode');
}
var createRoleAutocomplete = function (
inputNode,
resultTextLocator,
selectFn
) {
var instance = this;
var roleType = 0;
var roleTypeNode = inputNode.previous('[name=roleType]');
if (roleTypeNode) {
roleType = roleTypeNode.val();
}
var type = MAP_ROLE_TYPES[roleType] || 0;
var autocomplete = Liferay.KaleoDesignerAutoCompleteUtil.create(
' ',
inputNode,
' ',
null,
resultTextLocator,
selectFn
);
autocomplete.set(
'requestTemplate',
'& type=' +
type +
'& keywords={query}'
);
autocomplete.sendRequest('');
};
var createUserAutocomplete = function (
inputNode,
resultTextLocator,
selectFn
) {
var autocomplete = Liferay.KaleoDesignerAutoCompleteUtil.create(
' ',
inputNode,
' ',
null,
resultTextLocator,
selectFn
);
autocomplete.sendRequest('');
};
A.getDoc().delegate(
'focus',
(event) => {
var inputNode = event.currentTarget;
var inputName = inputNode.attr('name');
if (inputName == 'roleName' || inputName == 'roleNameAC') {
createRoleAutocomplete(inputNode, null, (event) => {
var data = event.result.raw;
var roleId = inputNode.next('[name=roleId]');
if (roleId) {
roleId.val(data.roleId);
}
});
}
else if (inputName == 'fullName') {
createUserAutocomplete(inputNode, inputName, (event) => {
var data = event.result.raw;
A.each(data, (item, index, collection) => {
var input = inputNode
.siblings('[name=' + index + ']')
.first();
if (input) {
input.val(data[index]);
}
});
});
}
},
'.assignments-cell-editor-input'
);
};
var opener = Liferay.Util.getOpener();
var inModal = window !== opener;
if (inModal && opener.document.querySelector('.loading-animation')) {
opener.Liferay.on('modalIframeLoaded', () => {
initializeKaleoDesigner();
});
}
else {
initializeKaleoDesigner();
}
Liferay.componentReady(' title').then((titleComponent) => {
var titlePlaceholderInput = titleComponent.get('inputPlaceholder');
if (titlePlaceholderInput) {
titlePlaceholderInput.after('change', (event) => {
kaleoDesigner.set(
'definitionName',
titleComponent.getValue()
);
});
}
});
var dialog = Liferay.Util.getWindow();
if (dialog && !dialog._dialogAction) {
dialog._dialogAction = function (event) {
if (!event.newVal) {
<%
boolean refreshOpenerOnClose = ParamUtil.getBoolean(request, "refreshOpenerOnClose");
%>
<%
String openerWindowName = ParamUtil.getString(request, "openerWindowName");
%>
var openerWindow = Liferay.Util.getTop();
var openerDialog = Liferay.Util.getWindow(
'<%= HtmlUtil.escapeJS(openerWindowName) %>'
);
openerWindow = openerDialog.iframe.node
.get('contentWindow')
.getDOM();
openerWindow.Liferay.Portlet.refresh(
'#p_p_id<%= HtmlUtil.escapeJS(portletResourceNamespace) %>'
);
}
};
dialog.on('visibleChange', dialog._dialogAction);
}
var duplicateWorkflowTitle = ' ';
Liferay.on(' duplicateDefinition', function (event) {
Liferay.KaleoDesignerDialogs.confirmBeforeDuplicateDialog(
this,
'<%= duplicateWorkflowDefinition %>',
duplicateWorkflowTitle,
'<%= randomNamespace %>',
' '
);
});
© 2015 - 2025 Weber Informatics LLC | Privacy Policy