inputOutput: PropTypes.object,
activities: PropTypes.array
};
+
constructor() {
super();
this.generatedId = 'bpmn-container' + Date.now();
}
componentDidMount() {
- const { composition } = this.props;
+ const { composition, activities } = this.props;
this.modeler = new CustomModeler({
propertiesPanel: {
camunda: camundaModuleDescriptor
},
workflow: {
- activities: this.props.activities,
+ activities: activities,
onChange: this.onActivityChanged
}
});
this.setDiagramToBPMN(composition ? composition : newDiagramXML);
this.modeler.on('element.out', () => this.exportDiagramToStore());
}
+
+ componentDidUpdate(prevProps) {
+ if (prevProps.composition !== this.props.composition) {
+ this.setDiagramToBPMN(this.props.composition);
+ }
+ }
onActivityChanged = async (bo, selectedValue) => {
const selectedActivity = this.props.activities.find(
el => el.name === selectedValue
"isAttr": true,
"type": "String"
},
- {
- "name": "workflowActivity",
- "isAttr": true,
- "type": "String"
- },
{
"name": "delegateExpression",
"isAttr": true,
'use strict';
-import {
- IMPLEMENTATION_TYPE_VALUE,
- implementationType
-} from './implementationConstants';
var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
var elementHelper = require('bpmn-js-properties-panel/lib/helper/ElementHelper'),
var extensionElementsEntry = require('bpmn-js-properties-panel/lib/provider/camunda/parts/implementation//ExtensionElements');
-function isCreateDeleteSupported(element) {
- const bo = getBusinessObject(element);
- return (
- (element.type !== 'bpmn:ServiceTask' ||
- bo[implementationType.ACTIVITY] !== IMPLEMENTATION_TYPE_VALUE) &&
- element.type !== 'bpmn:Process'
- );
-}
-
function getInputOutput(element, insideConnector) {
return inputOutputHelper.getInputOutput(element, insideConnector);
}
prefix: 'Input',
resizable: true,
- createExtensionElement: isCreateDeleteSupported(element)
+ createExtensionElement: inputOutputHelper.isCreateDeleteSupported(
+ element
+ )
? newElement('camunda:InputParameter', 'inputParameters')
: undefined,
- removeExtensionElement: isCreateDeleteSupported(element)
+ removeExtensionElement: inputOutputHelper.isCreateDeleteSupported(
+ element
+ )
? removeElement(
getInputParameter,
'inputParameters',
prefix: 'Output',
resizable: true,
- createExtensionElement: isCreateDeleteSupported(element)
+ createExtensionElement: inputOutputHelper.isCreateDeleteSupported(
+ element
+ )
? newElement('camunda:OutputParameter', 'outputParameters')
: undefined,
- removeExtensionElement: isCreateDeleteSupported(element)
+ removeExtensionElement: inputOutputHelper.isCreateDeleteSupported(
+ element
+ )
? removeElement(
getOutputParameter,
'outputParameters',
'inputParameters'
)
- : isCreateDeleteSupported(element),
+ : inputOutputHelper.isCreateDeleteSupported(element),
getExtensionElements: function(element) {
return getOutputParameters(element, insideConnector);
var extensionElementsHelper = require('bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper'),
implementationTypeHelper = require('bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper');
+import {
+ IMPLEMENTATION_TYPE_VALUE,
+ implementationType
+} from './implementationConstants';
var InputOutputHelper = {};
insideConnector || (!is(bo, 'bpmn:EndEvent') && !bo.loopCharacteristics)
);
};
+
+InputOutputHelper.isCreateDeleteSupported = function(element) {
+ const bo = getBusinessObject(element);
+ return (
+ (element.type !== 'bpmn:ServiceTask' ||
+ bo[implementationType.ACTIVITY] !== IMPLEMENTATION_TYPE_VALUE) &&
+ element.type !== 'bpmn:Process'
+ );
+};
true
);
-function isElementDisabled(element) {
- return (
- (element.type === 'bpmn:ServiceTask' &&
- element.businessObject.workflowActivity) ||
- element.type === 'bpmn:Process'
- );
-}
-
function createElement(type, parent, factory, properties) {
return elementHelper.createElement(type, properties, parent, factory);
}
return !isSelected(element, node);
},
disabled: function(element) {
- return isElementDisabled(element);
+ return !inputOutputHelper.isCreateDeleteSupported(element);
}
})
);
return isSelected(element, node);
},
disabled: function(element) {
- return isElementDisabled(element);
+ return !inputOutputHelper.isCreateDeleteSupported(element);
}
})
);
* limitations under the License.
*/
import { all, call, put, takeEvery, takeLatest } from 'redux-saga/effects';
+import { I18n } from 'react-redux-i18n';
import { genericNetworkErrorAction } from 'src/appConstants';
import {
}
yield put(
notificationActions.showSuccess({
- title: 'Update Workflow Version',
- message: 'Successfully updated'
+ title: I18n.t('workflow.confirmationMessages.updateTitle'),
+ message: I18n.t('workflow.confirmationMessages.updateMessage')
})
);
} catch (error) {
function* watchCertifyVersion(action) {
try {
- const { workflowId, params } = action.payload;
- yield call(versionApi.updateVersion, {
- workflowId,
- params: params
- });
+ yield call(watchUpdateVersion, action);
yield call(versionApi.certifyVersion, {
...action.payload
});
yield put(
notificationActions.showSuccess({
- title: 'Certify Version',
- message: 'Successfully updated'
+ title: I18n.t('workflow.confirmationMessages.certifyTitle'),
+ message: I18n.t('workflow.confirmationMessages.certifyMessage')
})
);
yield put(versionStateChangedAction({ state: versionState.CERTIFIED }));
"exportErrorMsg": "Could not export diagram",
"saveErrorMsg": "Could not save diagram",
"importErrorMsg": "Could not import diagram"
+ },
+ "confirmationMessages": {
+ "certifyTitle": "Certify Version",
+ "certifyMessage": "Successfully certified",
+ "updateTitle": "Update Workflow Version",
+ "updateMessage": "Successfully updated"
}
},
"version": {
services: path.resolve(__dirname, 'src/services'),
shared: path.resolve(__dirname, 'src/shared'),
config: path.resolve(__dirname, 'src/config')
- },
- plugins: [
- new ModuleRedirectPlugin({
- intercept: /min-dom\/lib/,
- ignore: /\/bpmn-js-properties-panel/,
- redirect:
- 'node_modules/bpmn-js-properties-panel/node_modules/min-dom/lib'
- })
- ]
+ }
},
output: {
path: __dirname + '/dist',