spiff-arena/spiffworkflow-frontend
Kevin Burnett eae5f7dd2d
the big message improvements branch (#1549)
* imported patch from old message_improvements branch w/ burnettk

* wip.

* merging in changes from message_improvements

* remove patch files that were accidendetally added.

* Added a modal for editing a correlation.  Added ability to delete whole correlation keys.
A little css cleanup.

* * Removing migration - will add back in at the end.
* The Message models API should not require page and per_age parameters, it will return all.
* The Message model list should return a full json description of all messages/correlations for all containing groups.
*

* wip

* Add import, fix class name

* Getting ./bin/pyl to pass

* Getting ./bin/pyl to pass

* Some fe lint fixes

* Some ruff fixes

* Commands to nuke poetry dirs

* Temp skipping of a couple tests

* Getting ./bin/pyl to pass

* This needs to be back in

* Revert back to main

* Factored out data store handling

* Working on factoring out collecting messages, has test failure

* Formatting

* Fixed up test failures

* Remove commentted out lines

* Adding fields

* Fix merge issue

* Re-enable modal

* WIP

* Untested relationships

* Remove correlation key table

* Remove retrieval expression from uniqueness

* Remove commentted out lines

* WIP

* WIP

* WIP

* WIP

* WIP

* Make mypy pass

* Getting formatters to pass

* Add migration

* WIP fixing tests

* WIP fixing tests

* WIP fixing tests

* WIP fixing tests

* WIP fixing tests

* Getting ./bin/pyl to pass

* Fix skipped test

* Fix skipped test

* Getting ./bin/pyl to pass

* Remove unused method

* Remove unused methods

* Clean up unused code

* Refactor to support creating single messages from the UI

* Untested support for processing one process_group

* WIP test

* WIP test

* Filled out test

* Getting ./bin/pyl to pass

* Message Editor Modal Work

* Change migration and add in schemas.

* Swtich to using the associated branch of the process BPMN.io mods

* Get the backend returning messages created from the frontend to the drop down list in the BPMN.io editor.

* Merge main, fix up test

* Getting ./bin/pyl to pass

* Show path in location

* Rename var

* install packages from bpmn-js-spiffworkflow as well for local development

* process group api can add and update message models now w/ burnettk

* backend tests are passing now w/ burnettk

* the launch message edit button is loading the editor w/ burnettk

* updated bpmn-js-spiffworkflow

* pyl is passing w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* fixed console errors w/ burnettk

* a couple tweaks w/ burnettk

* save the message json in the new format from the mform w/ burnettk

* display the correlation props in the form w/ burnettk

* default to empty schema so the format is obvious

* allow removing correlation props from web ui w/ burnettk

* added save notification when saving a message on a process model w/ burnettk

* fixed broken test w/ burnettk

* Updating test cases to new message format, tests are failing

* support schema from messages in frontend

* Fixing tests

* Fixing tests

* Fixing tests

* removed references to correlation keys and removed unused components w/ burnettk

* removed temp mesasge model edit button w/ burnettk

* Make mypy pass

* Fixing tests

* Fixing tests

* Getting ./bin/pyl to pass

* save deleted messages before attempting to add new ones w/ burnettk

* set state for the message id so it can be changed w/ burnettk

* do not wait for the message id to be set since it is not necessary w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* build images for this branch w/ burnettk

* put location in path of message-models so we can control permissions on it w/ burnettk

* fix black

* some coderabbit suggestions

* pull in spiff fix

* Default schema to {}

* Temp fix for invalid schema

* updated bpmn-js-spiffworkflow

* some updates for issue 1626

* minor name tweaks and attempts to update message dropdown in panel when message changes - does not work yet w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* attempt to call add_message.returned event when message updates w/ burnettk

* treat formData as a state in the MesasgeEditor so it can be updated when the form contents is modified w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* Feature/merge correlation properties (#1693)

* Merge XML Correlation properties with Process group properties

* updates for messages w/ burnettk

---------

Co-authored-by: theaubmov <ayoubaitlachgar98@gmail.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>

* do not wait for message id state to be set to better support new messages w/ burnettk

* updated SpiffWorkflow w/ burnettk

* some cleanup from coderabbit and linting

* added index to message tables, run typecheck in ci, and other updates while code reviewing w/ burnettk

* updated bpmn-js-spiffworkflow w/ burnettk

* remove branch to build

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: Jon Herron <jon.herron@yahoo.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <2487833+jasquat@users.noreply.github.com>
Co-authored-by: theaubmov <ayoubaitlachgar98@gmail.com>
2024-06-10 09:15:54 -07:00
..
.github check that connector-proxy-demo can run when releasing new tags w/ burnettk 2023-12-06 11:21:32 -05:00
bin Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
cypress Detect duplicate process ids when uploading/creating a new file (#1581) 2024-05-22 12:18:44 -04:00
docker_build allow large tokens to pass through nginx (#1550) 2024-05-13 16:56:37 -07:00
public Detect duplicate process ids when uploading/creating a new file (#1581) 2024-05-22 12:18:44 -04:00
src the big message improvements branch (#1549) 2024-06-10 09:15:54 -07:00
test Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
.dockerignore add deps for serve 2023-01-30 22:35:24 -05:00
.eslintignore moved carbon theme items around w/ burnettk 2023-05-31 15:16:51 -04:00
.eslintrc.cjs Bump eslint-plugin-sonarjs from 0.15.0 to 1.0.3 in /spiffworkflow-frontend (#1590) 2024-05-22 15:17:27 -04:00
.gitignore Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
.prettierrc.cjs Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
.tool-versions Update dev deps (#1638) 2024-05-29 15:49:02 -04:00
Dockerfile Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
LICENSE.rst Merge commit '2382c3f0ab9502dddb9a3f6a8b32981f92bedc18' as 'spiffworkflow-frontend' 2022-10-12 10:21:49 -04:00
README.md fix some links 2024-02-11 12:28:57 -05:00
bun.lockb Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
cypress.config.js Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
cypress.env.json moved NDR_PP1 tests to pilot dir and default configs back to what they were w/ burnettk 2023-04-06 11:42:24 -04:00
dev.Dockerfile Updates for using vite in the dev containers (#1413) 2024-04-17 14:04:07 -04:00
dev.Dockerfile.dockerignore docker compose overlay file for editable frontend container (#1092) 2024-02-22 19:31:55 -05:00
dev.docker-compose.yml Fix for first time use of dev containers in clean environment (#1136) 2024-03-01 15:28:06 -05:00
docker-compose.yml Merge commit '2382c3f0ab9502dddb9a3f6a8b32981f92bedc18' as 'spiffworkflow-frontend' 2022-10-12 10:21:49 -04:00
index.html Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
justservewebserver.package.json less annoying file name for autocomplete 2023-01-31 09:27:02 -05:00
package-lock.json the big message improvements branch (#1549) 2024-06-10 09:15:54 -07:00
package.json the big message improvements branch (#1549) 2024-06-10 09:15:54 -07:00
sonar-project.properties Merge commit '2382c3f0ab9502dddb9a3f6a8b32981f92bedc18' as 'spiffworkflow-frontend' 2022-10-12 10:21:49 -04:00
tsconfig.json Use vite to build (#1390) 2024-04-15 14:22:34 -04:00
vite.config.ts Updates for using vite in the dev containers (#1413) 2024-04-17 14:04:07 -04:00
vitest.config.ts Use vite to build (#1390) 2024-04-15 14:22:34 -04:00

README.md

spiffworkflow-frontend

This is the frontend part of an app that leverages spiffworkflow for managing and running business processes. The backend portion can be found at https://github.com/sartography/spiff-arena/tree/main/spiffworkflow-backend

This project was bootstrapped with Create React App, and the balance of this README contains information about how to use apps that are bootstrapped with that project.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

npm run lint

Check for lint in code.

npm run lint:fix

Fix lint in code.

npm run format

Probably just stick with lint:fix which also runs prettier.

Runtime configuration options

The frontend docker image respects the following environment variables.

SPIFFWORKFLOW_FRONTEND_RUNTIME_CONFIG_APP_ROUTING_STRATEGY=subdomain_based SPIFFWORKFLOW_FRONTEND_RUNTIME_CONFIG_APP_ROUTING_STRATEGY=path_based

subdomain_based example: api.spiffworkflow.org goes to backend

path_based example: spiffworkflow.org/api goes to backend

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

npm run build fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify