2022-10-12 14:21:49 +00:00
|
|
|
{
|
|
|
|
"name": "spiffworkflow-frontend",
|
|
|
|
"version": "0.1.0",
|
|
|
|
"private": true,
|
2024-04-15 18:22:34 +00:00
|
|
|
"type": "module",
|
2022-10-12 14:21:49 +00:00
|
|
|
"dependencies": {
|
2024-05-28 14:41:45 +00:00
|
|
|
"@babel/core": "^7.24.6",
|
2022-10-12 14:21:49 +00:00
|
|
|
"@babel/plugin-transform-react-jsx": "^7.18.6",
|
2024-06-05 14:58:40 +00:00
|
|
|
"@babel/preset-react": "^7.24.7",
|
2024-06-20 14:31:22 +00:00
|
|
|
"@carbon/colors": "^11.23.1",
|
2024-02-13 15:20:38 +00:00
|
|
|
"@carbon/icons-react": "^11.36.0",
|
2023-07-14 10:16:34 +00:00
|
|
|
"@carbon/react": "^1.33.0",
|
2024-02-21 14:41:36 +00:00
|
|
|
"@carbon/styles": "^1.51.0",
|
2024-04-10 15:16:04 +00:00
|
|
|
"@casl/ability": "^6.7.1",
|
2024-08-08 15:08:48 +00:00
|
|
|
"@casl/react": "^4.0.0",
|
2023-04-14 19:44:59 +00:00
|
|
|
"@microsoft/fetch-event-source": "^2.0.1",
|
2022-10-12 14:21:49 +00:00
|
|
|
"@monaco-editor/react": "^4.4.5",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"@mui/icons-material": "^5.16.0",
|
|
|
|
"@mui/material": "^5.16.0",
|
|
|
|
"@mui/x-charts": "^7.6.1",
|
2024-08-06 13:42:38 +00:00
|
|
|
"@mui/x-data-grid": "^7.12.0",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"@mui/x-tree-view": "^7.6.1",
|
2024-07-22 15:04:33 +00:00
|
|
|
"@preact/preset-vite": "^2.9.0",
|
2024-08-07 15:25:09 +00:00
|
|
|
"@prefresh/vite": "^2.4.6",
|
2022-11-16 18:52:44 +00:00
|
|
|
"@react-icons/all-files": "^4.1.0",
|
2024-08-01 14:15:37 +00:00
|
|
|
"@rjsf/core": "^5.19.4",
|
|
|
|
"@rjsf/mui": "^5.19.4",
|
|
|
|
"@rjsf/utils": "^5.19.4",
|
|
|
|
"@rjsf/validator-ajv8": "^5.19.4",
|
2024-05-29 19:49:02 +00:00
|
|
|
"@tanstack/react-query": "^5.40.0",
|
|
|
|
"@tanstack/react-query-devtools": "^5.40.0",
|
2024-02-14 15:05:05 +00:00
|
|
|
"@testing-library/jest-dom": "^6.4.2",
|
2024-02-16 14:38:57 +00:00
|
|
|
"@testing-library/react": "^14.2.1",
|
2024-02-09 15:26:26 +00:00
|
|
|
"@testing-library/user-event": "^14.5.2",
|
2024-02-15 15:00:14 +00:00
|
|
|
"@types/jest": "^29.5.12",
|
2024-07-18 19:05:16 +00:00
|
|
|
"@types/react": "^18.3.3",
|
2024-07-25 15:32:05 +00:00
|
|
|
"@types/react-dom": "^18.3.0",
|
2023-02-06 17:14:15 +00:00
|
|
|
"@uiw/react-md-editor": "^3.20.2",
|
2024-06-19 18:35:43 +00:00
|
|
|
"@vitejs/plugin-react": "^4.3.1",
|
2024-07-10 15:06:36 +00:00
|
|
|
"autoprefixer": "^10.4.19",
|
2024-05-24 15:10:26 +00:00
|
|
|
"axios": "^1.7.2",
|
2024-07-25 17:24:49 +00:00
|
|
|
"bpmn-js": "^17.9.1",
|
2024-06-10 14:34:32 +00:00
|
|
|
"bpmn-js-cli": "^2.4.0",
|
2024-07-25 17:24:49 +00:00
|
|
|
"bpmn-js-properties-panel": "^5.19.0",
|
2024-04-15 18:50:30 +00:00
|
|
|
"bpmn-js-spiffworkflow": "github:sartography/bpmn-js-spiffworkflow#main",
|
2024-04-12 14:32:53 +00:00
|
|
|
"cookie": "^0.6.0",
|
2024-04-15 15:14:05 +00:00
|
|
|
"date-fns": "^3.6.0",
|
2024-07-25 17:24:49 +00:00
|
|
|
"diagram-js": "^14.8.0",
|
2024-07-03 14:51:56 +00:00
|
|
|
"dmn-js": "^16.5.0",
|
2024-01-09 19:00:53 +00:00
|
|
|
"dmn-js-properties-panel": "^3.0.0",
|
2024-05-30 01:35:21 +00:00
|
|
|
"dmn-js-shared": "^16.4.0",
|
2024-06-18 20:54:33 +00:00
|
|
|
"jwt-decode": "^4.0.0",
|
2024-05-30 14:44:34 +00:00
|
|
|
"keycloak-js": "^24.0.4",
|
2023-09-08 15:07:43 +00:00
|
|
|
"lodash.merge": "^4.6.2",
|
2022-10-12 14:21:49 +00:00
|
|
|
"prop-types": "^15.8.1",
|
2024-07-18 19:05:16 +00:00
|
|
|
"react": "^18.3.1",
|
2024-08-22 18:15:59 +00:00
|
|
|
"react-datepicker": "^7.3.0",
|
2024-03-26 20:05:06 +00:00
|
|
|
"react-devtools": "^5.0.2",
|
2024-07-25 15:32:05 +00:00
|
|
|
"react-dom": "^18.3.1",
|
2024-05-23 15:09:34 +00:00
|
|
|
"react-error-boundary": "^4.0.13",
|
2024-07-08 14:45:09 +00:00
|
|
|
"react-icons": "^5.2.1",
|
2024-07-11 14:44:23 +00:00
|
|
|
"react-router": "^6.24.1",
|
2024-07-23 14:36:48 +00:00
|
|
|
"react-router-dom": "^6.25.1",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"react-slick": "^0.30.2",
|
|
|
|
"rxjs": "^7.8.1",
|
2024-08-01 15:02:11 +00:00
|
|
|
"serve": "^14.2.3",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"slick-carousel": "^1.8.1",
|
2022-10-12 14:21:49 +00:00
|
|
|
"timepicker": "^1.13.18",
|
|
|
|
"typescript": "^4.7.4",
|
2024-05-31 14:49:12 +00:00
|
|
|
"use-debounce": "^10.0.1",
|
2024-07-26 14:29:51 +00:00
|
|
|
"vite": "^5.3.5",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"vite-plugin-svgr": "^4.2.0",
|
2024-04-15 18:22:34 +00:00
|
|
|
"vite-tsconfig-paths": "^4.3.2",
|
2024-02-05 15:17:01 +00:00
|
|
|
"web-vitals": "^3.5.2"
|
2022-10-12 14:21:49 +00:00
|
|
|
},
|
|
|
|
"overrides": {
|
|
|
|
"postcss-preset-env": {
|
|
|
|
"autoprefixer": "10.4.5"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"scripts": {
|
2024-04-15 18:22:34 +00:00
|
|
|
"build": "vite build",
|
2024-06-10 18:38:32 +00:00
|
|
|
"eslint": "./node_modules/.bin/eslint src --ext .js,.jsx,.ts,.tsx",
|
2022-11-16 19:02:46 +00:00
|
|
|
"format": "prettier --write src/**/*.[tj]s{,x}",
|
2024-06-10 16:15:54 +00:00
|
|
|
"lint": "npm run eslint && npm run typecheck",
|
2024-06-10 20:43:32 +00:00
|
|
|
"lint:fix": "./node_modules/.bin/eslint --fix src --ext .js,.jsx,.ts,.tsx",
|
2024-06-10 18:38:32 +00:00
|
|
|
"serve": "vite preview",
|
|
|
|
"start": "VITE_VERSION_INFO='{\"version\":\"local\"}' vite",
|
2024-08-16 19:13:33 +00:00
|
|
|
"startopen": "VITE_VERSION_INFO='{\"version\":\"local\"}' vite --host 0.0.0.0",
|
2024-06-10 18:38:32 +00:00
|
|
|
"test": "vitest run --coverage",
|
2024-06-10 16:15:54 +00:00
|
|
|
"typecheck": "./node_modules/.bin/tsc --noEmit"
|
2022-10-12 14:21:49 +00:00
|
|
|
},
|
|
|
|
"eslintConfig": {
|
|
|
|
"extends": [
|
|
|
|
"react-app",
|
|
|
|
"react-app/jest"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"browserslist": {
|
|
|
|
"production": [
|
|
|
|
">0.2%",
|
|
|
|
"not dead",
|
|
|
|
"not op_mini all"
|
|
|
|
],
|
|
|
|
"development": [
|
|
|
|
"last 1 chrome version",
|
|
|
|
"last 1 firefox version",
|
|
|
|
"last 1 safari version"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"devDependencies": {
|
2024-07-15 15:14:08 +00:00
|
|
|
"@cypress/grep": "^4.1.0",
|
2024-05-29 19:49:02 +00:00
|
|
|
"@tanstack/eslint-plugin-query": "^5.35.6",
|
Tcoz openai assist (#1138)
* Update README.md
Some notes for people that might want to run full-on native, with detail about how Mac hijacks port 7000 and how to get around it.
* Revert "Update README.md"
This reverts commit 096887c26d591f93a836ef808c148af09767f2d2.
* README update and native code patch
Some details for user that might be running Python3, Mac, and want to run everything locally/natively.
* Implement basic tooltips
Uses MUI tooltip, as it behaves more predictably with existing styling, and enables top-level theme config.
Top-level configuration for all MUI components can be controlled via overriding the existing theme. See index.tsx. This could be done per user for customization, etc.
Enabling JSON module imports in tsconfig.json seemed to fix the error in ReactDiagramEditor
* Naive AI code editor implementation
A working starting point.
* Implement API to return if script assist should be enabled
Along with route and function, api config, etc.
* UI calls backend to see if script assist is enabled.
If it is, loads the related UI, otherwise it doesn't appear.
* Moving forward with service for message processing.
* Services scaffolded
* Open API called, prompt-engineered to get script only.
* Little cleanup work
* Enabled + process message working.
Had to find all the places permissions are enabled, etc.
* Cleanup, comments, etc.
* Env vars, styling, error cases, conditional display of script assist
Finishing touches for the most part.
REQUIRES TWO ENV VARS BE SET.
SPIFFWORKFLOW_SCRIPT_ASSIST_ENABLED=["True" | "true" | 1] (anything else is false)
SECRET_KEY_OPENAI_API=[thekey]
The are retrieved in default.py. I run the app locally, so I just set them in the terminal.
NEW INSTALL: @carbon/colors (so we consistently use carbon palette etc.)
* Fix tooltips, clean up some styling.
Finishing it off.
* Add loader and error message
Complete UX stuff
* Update useScriptAssistEnabled.tsx
Remove log
* Update script_assist_controller.py
Add this tweak to avoid TMI.
* Some reasonable changes suggested by the build process
* Comments from PR.
* Update ProcessModelEditDiagram.tsx
Should (but I don't know how to tell yet) call the change handler that wasn't firing before.
* updated the permissions setting in authorization service w/ burnettk
* precommit now passes. tests are failing w/ burnettk
* pinned SpiffWorkflow to known working version and fixed tests. we will update spiff in a later pr w/ burnettk
* made changes based on coderabbi suggestions
* updated the error handling to be more inline with how we have handled other errors and some ui tweaks
* removed pymysql package w/ burnettk
* forgot to remove pymysql from lock file w/ burnettk
---------
Co-authored-by: Tim Consolazio <tcoz@tcoz.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-04 15:42:27 +00:00
|
|
|
"@types/carbon__colors": "^10.31.3",
|
2024-04-12 14:32:53 +00:00
|
|
|
"@types/cookie": "^0.6.0",
|
2023-09-08 15:07:43 +00:00
|
|
|
"@types/lodash.merge": "^4.6.7",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"@types/node": "^20.12.13",
|
|
|
|
"@types/react-slick": "^0.23.13",
|
2024-07-09 14:52:07 +00:00
|
|
|
"@typescript-eslint/eslint-plugin": "^7.16.0",
|
2024-08-23 15:19:29 +00:00
|
|
|
"@typescript-eslint/parser": "^7.18.0",
|
2024-04-15 18:22:34 +00:00
|
|
|
"@vitest/coverage-v8": "^1.5.0",
|
2024-03-21 14:54:03 +00:00
|
|
|
"cypress": "^13",
|
2023-04-06 14:31:54 +00:00
|
|
|
"cypress-file-upload": "^5.0.8",
|
2024-03-01 15:45:20 +00:00
|
|
|
"cypress-slow-down": "^1.3.1",
|
2024-04-15 18:22:34 +00:00
|
|
|
"cypress-vite": "^1.5.0",
|
2024-05-29 19:49:02 +00:00
|
|
|
"eslint": "^8.56.0",
|
Spiffui/newui (#1891)
* 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>
2024-07-09 17:39:29 +00:00
|
|
|
"eslint_d": "^12.2.0",
|
2022-10-12 14:21:49 +00:00
|
|
|
"eslint-config-airbnb": "^19.0.4",
|
2024-02-12 14:37:56 +00:00
|
|
|
"eslint-config-prettier": "^9.1.0",
|
2024-06-21 15:22:49 +00:00
|
|
|
"eslint-plugin-cypress": "^3.3.0",
|
2024-02-23 14:44:26 +00:00
|
|
|
"eslint-plugin-import": "^2.29.1",
|
2024-07-01 20:44:20 +00:00
|
|
|
"eslint-plugin-jsx-a11y": "^6.9.0",
|
2024-07-24 15:21:15 +00:00
|
|
|
"eslint-plugin-prettier": "^5.2.1",
|
2022-10-12 14:21:49 +00:00
|
|
|
"eslint-plugin-react": "^7.31.0",
|
2024-05-21 20:30:25 +00:00
|
|
|
"eslint-plugin-react-hooks": "^4.6.2",
|
2024-05-22 19:17:27 +00:00
|
|
|
"eslint-plugin-sonarjs": "^1.0.3",
|
2024-05-29 19:49:02 +00:00
|
|
|
"eslint-plugin-unused-imports": "^3.2.0",
|
2024-08-26 15:43:20 +00:00
|
|
|
"inherits-browser": "^0.1.0",
|
2024-08-07 13:28:58 +00:00
|
|
|
"jsdom": "^24.1.1",
|
2024-06-10 16:15:54 +00:00
|
|
|
"nice-select2": "^2.1.0",
|
2024-06-24 14:34:04 +00:00
|
|
|
"prettier": "^3.3.2",
|
2022-10-12 14:21:49 +00:00
|
|
|
"safe-regex": "^2.1.1",
|
2024-04-15 18:22:34 +00:00
|
|
|
"tiny-svg": "^2.2.3",
|
|
|
|
"ts-migrate": "^0.1.30",
|
|
|
|
"vitest": "^1.5.0"
|
2022-10-12 14:21:49 +00:00
|
|
|
}
|
|
|
|
}
|