diff --git a/package-lock.json b/package-lock.json index 56f267f6e..fbbd34b46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@cypress/code-coverage": "^3.12.10", "@faker-js/faker": "^8.1.0", "@panter/vue-i18next": "^0.15.2", - "@processmaker/processmaker-bpmn-moddle": "0.16.0", + "@processmaker/processmaker-bpmn-moddle": "0.16.1", "@types/jest": "^24.9.1", "@vue/babel-preset-app": "^5.0.4", "@vue/cli-plugin-babel": "~5.0.0", @@ -4671,10 +4671,11 @@ "license": "MIT" }, "node_modules/@processmaker/processmaker-bpmn-moddle": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@processmaker/processmaker-bpmn-moddle/-/processmaker-bpmn-moddle-0.16.0.tgz", - "integrity": "sha512-udek14EJS5n2qOqbgItfAnUDoCoETczbO12Tknrknv4n0ohOhrx+eLJT+yEtGLwIZYVUU41t4q3qoHDZTUolgQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@processmaker/processmaker-bpmn-moddle/-/processmaker-bpmn-moddle-0.16.1.tgz", + "integrity": "sha512-ESyrux2/TSMghUqVaurJuH61dIliYhTbhJsD3Sp97hvzs4XbpKKTCwDFyZq3VRpzXcNnNmlDbQcF5+Ym/a9bCg==", "dev": true, + "license": "MIT", "dependencies": { "min-dash": "^3.0.0" } diff --git a/package.json b/package.json index e6c88adb7..0c914f38b 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@cypress/code-coverage": "^3.12.10", "@faker-js/faker": "^8.1.0", "@panter/vue-i18next": "^0.15.2", - "@processmaker/processmaker-bpmn-moddle": "0.16.0", + "@processmaker/processmaker-bpmn-moddle": "0.16.1", "@types/jest": "^24.9.1", "@vue/babel-preset-app": "^5.0.4", "@vue/cli-plugin-babel": "~5.0.0", diff --git a/src/components/inspectors/ConditionalRedirect/TaskDestination.vue b/src/components/inspectors/ConditionalRedirect/TaskDestination.vue index d9d716f82..f75fbee35 100644 --- a/src/components/inspectors/ConditionalRedirect/TaskDestination.vue +++ b/src/components/inspectors/ConditionalRedirect/TaskDestination.vue @@ -110,6 +110,11 @@ export default { saveConditionDebounced: null, }; }, + computed: { + node() { + return this.$root.$children[0].$refs.modeler.highlightedNode.definition; + }, + }, watch: { condition: { handler(newValue, oldValue) { @@ -123,6 +128,10 @@ export default { if (!isEqual(newValue, oldValue)) { this.onSaveCondition(); } + + this.$nextTick(() => { + this.handleInterstitial(newValue.value); + }); }, deep: true, }, @@ -223,6 +232,30 @@ export default { onDashboardSearchChange(filter) { this.getCustomDashboardsDebounced(filter); }, + /** + * Handles interstitial logic for supported task node types. + * @param {string} newValue - The new destination type value selected. + */ + handleInterstitial(newValue) { + const { $type: nodeType, id: nodeId } = this.node; + const supportedTypes = ['bpmn:Task', 'bpmn:ManualTask']; + + if (supportedTypes.includes(nodeType)) { + this.handleTaskInterstitial(newValue, nodeId); + } + }, + /** + * Handle interstitial for task elements + * + * @param {String} newValue - The new destination type value selected + * @param {String} nodeId - The ID of the task node being modified + */ + handleTaskInterstitial(newValue, nodeId) { + this.$root.$emit('handle-task-interstitial', { + nodeId, + show: newValue === 'displayNextAssignedTask', + }); + }, }, }; diff --git a/src/components/nodes/manualTask/index.js b/src/components/nodes/manualTask/index.js index ef2129462..9d357f884 100644 --- a/src/components/nodes/manualTask/index.js +++ b/src/components/nodes/manualTask/index.js @@ -4,6 +4,7 @@ import advancedAccordionConfig from '@/components/inspectors/advancedAccordionCo import documentationAccordionConfig from '@/components/inspectors/documentationAccordionConfig'; import defaultNames from '@/components/nodes/task/defaultNames'; import elementDestination from '@/components/inspectors/taskElementDestination'; +import conditionalRedirect from '@/components/inspectors/ConditionalRedirect/conditionalRedirect'; export const taskHeight = 76; export const id = 'processmaker-modeler-manual-task'; @@ -52,6 +53,7 @@ export default { config: nameConfigSettings, }, elementDestination, + conditionalRedirect, ], }, documentationAccordionConfig, @@ -59,4 +61,4 @@ export default { ], }, ], -}; \ No newline at end of file +};