* Scaffold new UI homepage, hide current nav bar
* Layout set up
Divider was fiddly, but got the same setup as Figma now.
* Config to allow svg loading and imports etc. in Vite
Also moved preact from dev deps to deps (recommended).
* Configure app to use Poppins
Was a little tricky, had to isolate this from the rest of the app.
* Move icons from figma to app, set up menus
SVGs have to be exported from Figma, moved into assets in app, etc.
* Layout and SideMenu
Components and layout all set.
* Some basic global themeing knocked off from Web3
* Datagrid Layout complete
Nothing works and the data is contrived, but it's all matchy-matchy with the Figma view and so on.
* Menu items hover and rollover states
* Add card row
* useProcessInstances hook
Knocked off from the call logic in ProcessInstanceListTable
* Responsiveness
* Responsive tweaks
* Live data in grid etc.
* Phone responsive
* Responsivness working across all breakpoints
* Side menu height simplification
* more chips for milestone and status
* Basic client grid search
* Newui README and component notes.
* Add docs, cleanups, etc.
* Component docs
* Theme more robust
Also added framework for dark mode.
* Dark mode and theme enhancements
* Install signals integration for vite, cleanup, and working darkmode toggle.
* Update SpiffUIV2.tsx
* Toggle feature for menu items
Includes ability to swap icon and text on a toggle. Useful for dark mode toggle and possibly other things.
* User menu pinned to bottom of VH
Doesn't get lost if datagrid is long.
* Color fixes for dark mode, added in tokens where possible.
* Responsive Side Menu
* adjusted filter cards to dark mode
* Customize global themes for light and dark success/light/info/warning/error
Pushing use of tokens everywhere, took some wrangling but it's in place now.
Also fixed cards and a few other things to size more cleanly in responsive modes.
* Fix tab light/dark mode swap
Requires a bit more customiization of the theme.
* Slide transition for menu
* Solved very annoying MUI problem
If there is a scrollbar on the screen, opening a Select removes it. This is intentional (use can not scroll the screen while select is open) but it has the unfortunate consequence of removing the browser scrollbar is that it increases the viewport size, causing all responsive layout to shift. This tells it "leave it be".
Also add ability to feed in info to process instance hook.
* Refactor some items to make layouts more declarative.
We want the info window to be in the center-right of the view all the time, with some appropriate padding on the top-bottom, so regardless of the scroll position or window size they never lose it.
Also, responsiveness (will resize until MD breakpoint then hide).
* Refactor Dashboard to switch grids more cleanly
* Info panel wired up
* Task Collection, view hook etc.
* My Tasks search working
* Tab nav set up
* "Old" forms loading into "new" flyout window.
Had to move a few things around and dig into the routes, but got it up and running for demo.
* InfoPanel displays selections from different grid views
Built mini-factory to feed InfoPanel ReactNodes to render using selected grid item data.
* Info panel toolbar, formatting and light/dark settings.
* InfoPanel display with tasks
APIs need to be sorted out, there doesn't appear to be an easy way to get all Tasks for a given ProcessId at this point.
* Format dates in grids
* Wire everything up for working workflow (demo-worthy)
* Toggle for Row click panel open/close
* Completed and waiting tasks in info panel.
* Scrollable grids in the Dashboard view (no more page scrolling)
* Remove mystery zero
Stray truthy test was rendering the result (false, 0)
* Tweak to prevent child scrollbars from overlaying infopanel windows.
* had to install jsdom for Vue testing.
* Update package-lock.json
* Possibly ran npm i in the wrong directory hmm...
* add optional platform dep
* update lock file with optional dep info
* Add ESBuild (this package was not found)
There might be a global install but Vite/npm ain't seein' it.
* Trying to make esbuild optional (it might already be global)
* Accordions for tasks, and create a hook to enable some flexible customization.
* Updates and refactoring to make more (possibly) extension-ready components for the data displays.
* PI times summary report
Also cleaned up some MUI Dom errors/warnings.
* build images for newui
* revert some changes in package-lock that did not help
* Rebuilding repo (had "bad objects" error)
* Charts (mostly for demo)
* Responsive!
* Collapsible side menu
Added a button component suitable for the positioning/display, adjusted responsiveness (when the menu is collapsed, we need the grid to take up more room, and when the menu is naturally collapsed by screen size, we don't want the toggle button, etc.)
* Adjust menu to display abbreviated spiff logo when collapsed.
* Update DashboardCharts.tsx
* Inserted Paper wrapper for sidemenu
Makes the background responsive to dark mode (so it's not just more black surface).
* Update SideMenu.tsx
Fix positioning to accommodate new wrapper padding.
* First wave of theme changes, global font alterations, restructure nav to top
* Moving the design revamp along
Walking the line between the new ideas but using the current functionality and components (we don't have designs for where things lik the dark mode and logout buttons go, the toolbar was removed but now we need a place for the start process button, we still need the tabs, etc.).
* Moving new style along
Had to add custom background palette for dark/light mode.
* Carousel display and task cards for new display
* Grids, carousels, accordions, etc.
All in design requirement Desktop 27 (Figma file)
* All finished
Revamped, workflow implemented, rotating charts, dark mode checked, new scrollbars for more ipad-like feel, search working, etc. etc.
* Tweaks and good to go.
* Update MyProcesses.tsx
Remove console.log.
* Collapse process detail by default, and fix tasks label.
* Full screen containers
We don't want th default max width enforced by MUI.
* TopNav responsiveness and speedial
* Responsive grid areas
* Add task counts
* create a top level route for the new spiff ui from App.tsx w/ burnettk (#1586)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Unused imports
* Clean up wonky pie chart.
* Remove hardcoded url
* Clean up info panel
* Fix menu button responsive text wrap wonk
* Put grid back
With data changes since there is more stuff in the first column (based on the design). I took a best guess.
* Remove cell focus outline with CSS overrides MUI
* Flyout Panel for demo (new look etc.)
* Task switching in panel.
* Cleanup tweaks pre-demo.
There is a bug in the "first select" of a row with tasks, I'm aware of it.
* Rework flow of data, make it simpler
Fixes a bug; when you clicked a PI row the first time, its tasks wouldn't load. If you did it again, everything worked. The way the code moved data to the InfoPanel was unclear, cleaning that up made the bug obvious.
* put back psycopg2 and mysqlclient
* Create useProcessModels.tsx
* Create useProcessGroups.tsx
* Update ProcessInstanceCard.tsx
Fixes task count display
* Refactor for top level routing
Keeping all views as children of SpiffUIV2 (will make swapping app easier).
* Update SpiffUIV2.tsx
Routing and view scaffolding set.
* Menu and button nice nice in dark mode etc.
* View transitions
* Process group/model data under control and feeding into view.
* Using RXJS for broadcasting to menu items.
* Update SpiffUIV2.tsx
* Config seemed broken (I couldn't start the app, Vite not found etc.)
I fixed by moving @preact/preset-vite to dependencies (this seems required, probably because it adds types and primitives that are used in runtime code or something) and making sure Node was up to date.
* Fix for Preact breaking rendering lifecycle
One of their PRs put a ridiculously low check on rerenders, and in dev/debug mode throws an app-crashing error, which affected the MUI-X Datagrid.
* Button components aware of stream
Also had to add a way for buttons to know what the view they nav to was loaded from the URL (e.g. a bookmark) to meet the design req.
* Have to make sure buttons that have no paths don't respond to href load logic.
* Layout for components, menu, treeview, theme tweaks
Needed to alter text.secondary at theme level to accommodate designs.
* Recurse through Process Group data to PM tree build tree for display
All set.
* Treeview complete
Also moved some things around to track with evolving app structure.
* Fully working tree with counters.
* Favorites/Recently used layout, components, icons, etc.
* Favorites and process groups displays
A bit naive, but for now gets the job done.
* Select of a group CArdor a group in the Tree updates view
Display PMs and PGs for any group, and some ideas to tie selecting a Card into the Tree. This kind of has to work, if you don't do it the tree seems useless.
* Create TreeItem wrapper
TreeItems don't carry any data that could be used for crumbs. Need to wrap TreeItem and add a property that lets you expand any node anywhere in the hierarchy.
* Update __init__.py
* Update StartProcess.tsx
Scrolling content area
* Tree expansion from cards working as expected
Have to do the collapse side of it, but so far so good. Also tweaks to scrolling area.
* Wrap search bar and padding tweaks
More explicit layout around child components.
* Tree/card tracking working.
Highlighting based on clicks, etc, very fancy.
* Tree -> Cards -> Tree fully working, starting breadcrumbs.
Breadcrumbs will be how this works on mobile, nobody will use the tree on a phone.
* Collapse button will be used all over
* More wiring details tree -> card -> tree -> search
When search returns results, the tree or card nav is no longer the control. Use imperative ref to wipe expanded nodes. Also, make sure that if models and groups are returned that the accordions expand.
Remove console logs.
* Cross group model highlighting
Tricky one: If you have several folders expanded in the tree, and are clicking through the models, if you click a model in a "non active" group, we have to clear the current group assets and load that group's. Since the cards come after the switch, they don't hear the clickstream that initiated them, so the model that was selected in the tree won't update the associated card's style. Fix that by passing in the lastSelected object to the cards and inspecting on init.
* Localstorage, favorites, default favorite view (vs. groups), etc.
* Guard no groups.
* Update StartProcess.tsx
Padding change opened up window, needed to adjust.
* Update StartProcess.tsx
* Update LocalStorageService.ts
Update empty string to empty array.
* Tree panel collapse/expand
With everything else going on, this was tricky to get responsive, but working as expected now. Also tweak to fix annoying thing in MenuItems. Also made sure dark mode tracks.
* Hover effects for cards and text cleanups
Hover is useless on touch screens, but otherwise this is a bit more in keeping with the design.
* Breadcrumbs, root element and favorites in collapse tree view, etc.
This pretty much nails it.
* Add Favorite Count
Add count to favorites indicators. Helps user make sense of "I'm clicking it why are no items loading (because there are zero favorites).
* Docs, cleanup
Also fix that NavBar logo issue in the "old" app.
* fix breadcrumb re-render issue when saving json file for first time w/ burnettk
* fix / ignore eslint issues
* add types for react-slick
* ignore ts error
* revert nav bar to undo logout logo change w/ burnettk
* Update spiffworkflow-frontend/src/a-spiffui-v2/views/Dashboards/infopanels/ProcessInfo.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Update spiffworkflow-frontend/src/a-spiffui-v2/views/StartProcess/StartProcess.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Tim Consolazio <tcoz@tcoz.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Bump jwt-decode from 3.1.2 to 4.0.0 in /spiffworkflow-frontend
Bumps [jwt-decode](https://github.com/auth0/jwt-decode) from 3.1.2 to 4.0.0.
- [Release notes](https://github.com/auth0/jwt-decode/releases)
- [Changelog](https://github.com/auth0/jwt-decode/blob/main/CHANGELOG.md)
- [Commits](https://github.com/auth0/jwt-decode/compare/v3.1.2...v4.0.0)
---
updated-dependencies:
- dependency-name: jwt-decode
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* The jwtDecode function is now no longer the default export
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* 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>
* some updates to dev dependencies to try to get linting working again
* updated some more packages
* ran npm audit fix
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: jasquat <2487833+jasquat@users.noreply.github.com>
* upgrade rjsf and mui
* add jsdom
* smaller change to package-lock
* update processSelectValue with code direct from rjsf
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* some base updates for vite w/ burnettk
* i can log in w/ burnettk
* a couple more fixes w/ burnettk
* make sure selectedTabIndex has been set before using it w/ burnettk
* fixed active-users db issue, added type module to package json to fix prerender issues, and various other issues w/ burnettk
* fixed issues with building and running from compiled w/ burnettk
* pyl
* eslint fix is running and removed both inferno and navigationBar warnings
* vim likes the Dockerfile suffix by default
* use process.env.HOME
* probably do not need alias
* a little clean up and fixed font warnings w/ burnettk
* updated elements to remove warnings in the console w/ burnettk
* fixed es lint issues w/ burnettk
* update docker build in frontend w/ burnettk
* set the specific tag of nginx w/ burnettk
* build docker imgaes for this branch to test w/ burnettk
* added vitest and updated Dockerfile to be nginx w/ burnettk
* tests are passing w/ burnettk
* add prefresh and more keys
* added cypress-vite to attempt to get cypress working again
* some coderabbit suggestions
* hopefully there is no reason to use PUBLIC_URL at all when using vite
* use the correct location of the index file in the docker image
* spaces are fine in index.html file variable declaration
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>