sartography / bpmn-js-spiffworkflow

A BPMN.js extension to improve working with SpiffWorkflow - the python BPMN engine.
MIT License
19 stars 5 forks source link

Feature/spiff message branch #100

Closed burnettk closed 3 weeks ago

burnettk commented 3 weeks ago

let's get this big change into main

Summary by CodeRabbit

coderabbitai[bot] commented 3 weeks ago

Walkthrough

The updates introduce several new features and enhancements related to editing DMN tables, managing message configurations, and handling message correlation properties within the application. This includes the addition of new event listeners, refactoring of existing functions, and the creation of new components and utilities to support these features. Minor formatting changes were also made to improve code readability and consistency.

Changes

File(s) Change Summary
app/app.js Added event listeners for editing DMN tables, message JSON schemas, returning messages with configurations, and adding messages with correlation properties. Minor formatting changes.
app/css/app.css Adjusted CSS properties and added new styles for various elements like buttons, panels, and select dropdowns.
app/index.html Updated meta and link tags, added new stylesheet link, commented out a script tag, and reorganized HTML structure.
app/spiffworkflow/eventSelect.js Minor formatting adjustments in the code.
app/spiffworkflow/index.js Imported and added MessageInterceptor to exported properties.
.../messages/MessageHelpers.js Added new functions for managing messages and correlation properties, refactored existing functions, and introduced error handling.
.../messages/MessageInterceptor.js Introduced MessageInterceptor class for handling events related to message elements and synchronization of correlation properties.
.../messages/index.js Added MessageInterceptor to initialization of exported entities.
.../propertiesPanel/MessageCorrelationPropertiesArray.js Significant restructuring, with commented-out code related to handling message correlations.
.../propertiesPanel/MessagesPropertiesProvider.js Updated imports and logic within the getGroups function to handle message elements differently.
.../elementLevelProvider/CorrelationCheckbox.jsx Introduced CorrelationCheckboxEntry component for handling checkbox entries related to correlation in properties panel.
.../elementLevelProvider/CorrelationPropertiesList.js Added functionality for managing message correlations, including creating and editing correlation properties.
.../elementLevelProvider/MatchingConditionArray.js Introduced components for handling matching correlation conditions in properties panel.
.../elementLevelProvider/MatchingCorrelationCheckbox.jsx Introduced MatchingCorrelationCheckboxEntry component for handling checkbox entries related to matching correlation.
.../elementLevelProvider/MessageJsonSchemaSelect.js Introduced MessageJsonSchemaSelect function for selecting JSON schemas for messages.
.../elementLevelProvider/MessageLaunchEditorButton.js Introduced MessageLaunchEditorButton function for handling notifications to host application for editing purposes.
.../elementLevelProvider/MessagePayload.jsx Facilitated creation or editing of message payloads, with logic to retrieve and set message payload values.
.../elementLevelProvider/MessageSelect.jsx Introduced MessageSelect component for selecting or creating messages at the Definitions level of a BPMN document.
.../elementLevelProvider/MessageVariable.jsx Updated logic to handle element and extensionElements based on presence of element.
.../elementLevelProvider/TaskEventMessageProvider.js Introduced functionality to create a group for editing messages in properties panel for SendTask.
.../processLevelProvider/CollaborationPropertiesProvider.js Introduced createCollaborationGroup function for adding groups to properties panel for a script task.
.../processLevelProvider/CorrelationKeysArray.js Refactored logic for creating new correlation keys and adjusted import paths.
.../processLevelProvider/CorrelationPropertiesArray.js Introduced functionality for managing message correlations at the bpmn:sendTask level.
test/spec/MessagesSpec.js Added new imports, event handling functions, and test cases for message creation, selection, and correlation properties.

Poem

In the code where messages flow,
New features come and changes grow,
With JSON schemas edited bright,
And correlations set just right.
Event listeners now in place,
Enhancing workflows with grace.
CodeRabbit hops with joy today,
For updates made in a splendid way! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.