Squashed 'spiffworkflow-frontend/' changes from c6a47df1b..dcc280118

dcc280118 cleaned up some frontend code and put back logic for script unit tests w/ burnettk danfunk
d8ee4dfc5 using new bpmn-js-spiffworkflow for python scripts w/ burnettk danfunk

git-subtree-dir: spiffworkflow-frontend
git-subtree-split: dcc280118614314a8f3c25775d0910ec11345998
This commit is contained in:
jasquat 2022-10-31 17:19:07 -04:00
parent bd0acfff17
commit 22694e76b1
3 changed files with 34 additions and 13 deletions

View File

@ -177,11 +177,16 @@ export default function ReactDiagramEditor({
});
}
function handleLaunchScriptEditor(element: any) {
function handleLaunchScriptEditor(
element: any,
script: string,
scriptType: string,
eventBus: any
) {
if (onLaunchScriptEditor) {
setPerformingXmlUpdates(true);
const modeling = diagramModeler.get('modeling');
onLaunchScriptEditor(element, modeling);
onLaunchScriptEditor(element, script, scriptType, eventBus, modeling);
}
}
@ -199,12 +204,12 @@ export default function ReactDiagramEditor({
setDiagramModelerState(diagramModeler);
diagramModeler.on('launch.script.editor', (event: any) => {
const { error, element } = event;
diagramModeler.on('script.editor.launch', (event: any) => {
const { error, element, scriptType, script, eventBus } = event;
if (error) {
console.log(error);
}
handleLaunchScriptEditor(element);
handleLaunchScriptEditor(element, script, scriptType, eventBus);
});
// 'element.hover',

View File

@ -18,7 +18,9 @@ export default function ProcessModelEditDiagram() {
const [showFileNameEditor, setShowFileNameEditor] = useState(false);
const handleShowFileNameEditor = () => setShowFileNameEditor(true);
const [scriptText, setScriptText] = useState('');
const [scriptText, setScriptText] = useState<string>('');
const [scriptType, setScriptType] = useState<string>('');
const [scriptEventBus, setScriptEventBus] = useState<any>(null);
const [scriptModeling, setScriptModeling] = useState(null);
const [scriptElement, setScriptElement] = useState(null);
const [showScriptEditor, setShowScriptEditor] = useState(false);
@ -275,25 +277,39 @@ export default function ProcessModelEditDiagram() {
}
};
const onLaunchScriptEditor = (element: any, modeling: any) => {
setScriptText(element.businessObject.script || '');
const onLaunchScriptEditor = (
element: any,
script: string,
scriptTypeString: string,
eventBus: any,
modeling: any
) => {
// TODO: modeling is only needed for script unit tests.
// we should update this to act like updating scripts
// where we pass an event to bpmn-js
setScriptModeling(modeling);
setScriptText(script || '');
setScriptType(scriptTypeString);
setScriptEventBus(eventBus);
setScriptElement(element);
setScriptUnitTestElementWithIndex(0, element);
handleShowScriptEditor();
};
const handleScriptEditorClose = () => {
scriptEventBus.fire('script.editor.update', {
scriptType,
script: scriptText,
element: scriptElement,
});
resetUnitTextResult();
setShowScriptEditor(false);
};
const handleEditorScriptChange = (value: any) => {
setScriptText(value);
(scriptModeling as any).updateProperties(scriptElement, {
scriptFormat: 'python',
script: value,
});
};
const handleEditorScriptTestUnitInputChange = (value: any) => {

View File

@ -144,7 +144,7 @@ export default function TaskShow() {
const instructionsElement = (taskToUse: any) => {
let instructions = '';
if (taskToUse.type === 'Manual Task') {
if (taskToUse.properties.instructionsForEndUser) {
instructions = taskToUse.properties.instructionsForEndUser;
}
return (