Commit Graph

83 Commits

Author SHA1 Message Date
jasquat 6f1af2132e
Refactor bpmn diagram component (#1984)
* some initial refactoring to react diagram editor for pi show page w/ burnettk

* pi show and pm file show are now working w/ burnettk

* some minor tweaks w/ burnettk

* pi show is mostly working - need to handle future states w/ burnettk

* pass the task into the call activity overly so we can check the state w/ burnettk

* removed commented out code w/ burnettk

* fixed issue with process model new file not showing w/ burnettk

* fixed endless reload new bpmn file w/ burnettk

* do not bother zooming dmn tables w/ burnettk

* use a linke instead of a button to open the call activity so it can be opened in a new tab if desired w/ burnettk

* Revert "use a linke instead of a button to open the call activity so it can be opened in a new tab if desired w/ burnettk"

This reverts commit 1c12725cd3.

* listen for auxclick to know if call activity should be opened in new tab w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-07-24 14:19:52 -07:00
jasquat 898015ce3c
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 10:39:29 -07:00
jasquat 2b0d550ecd
draft-data-save-fix (#1795)
* search for the correct id when sending autosave events w/ burnettk

* added cypress test for draft data autosave w/ burnettk

* added comment w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-06-21 13:37:26 -04:00
jbirddog 5bf3ea0db2
Detect duplicate process ids when uploading/creating a new file (#1581)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-22 12:18:44 -04:00
Kevin Burnett 154be22161
fixed the select widget and text fields so they are no longer so slow when typing (#1573)
* fixed the select widget and text fields so they are no longer so slow when typing

* attempt to wait a little after typing in cypress tests for the debounce w/ burnettk

* fixed onChangeOverride issue w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-22 11:07:23 -04:00
jasquat 709a0c8492
Merge guest flow into unauth flow (#1233)
* removed some portions of the guest access flow in favor of the unauthed flow w/ burnettk

* removed guest access from auth flow in backend w/ burnettk

* updated frontend to use new public api for guest tasks

* fixed tests and updated get task url script to choose between public and non public urls

* removed old guest task support from frontend

* return 404 when a task cannot be found w/ burnettk

* fixed typo in group list tiles w/ burnettk

* added cypress tests for public formg w/ burnettk

* display metadata key for urls instead of values w/ burnettk

* updated permissions for acceptance testss w/ burnettk

* set up permissions for public group if it is in the list and login and logout admin user in ci to ensure permissions are set w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-19 11:52:27 -07:00
jasquat 73df645408
Feature/upgrade react router dom (#1050)
* updated react-router-dom to match react-router version w/ burnettk

* disable save button on process model edit diagram page unless a change has been made w/ burnettk

* remove web components from form data on extensions page to avoid potential errors w/ burnettk

* updates based on coderabbit w/ burnettk

* fixed cypress issues

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-16 11:01:26 -05:00
Kevin Burnett 5c352a87d7
update bpmn-js-spiffworkflow (#903)
* update bpmn-js-spiffworkflow

* minor fixes to cypress w/ burnettk

* pull in bpmn-js-spiffworkflow/pull/64

* bump to get non-ayoub change

* bump

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-01-30 08:54:05 -08:00
jasquat f0f4bcce12
Feature/homepage extension filter refactor (#919)
* WIP: initial work to have a home page created from an extension w/ burnettk

* added support to display an extension as the root page w/ burnettk

* allow extensions to add new routes to base routes w/ burnettk

* use page instead of creating new key route w/ burnettk

* added components to support pi tables in extensions w/ burnettk

* allow using asterisks to mark words as bold in process instance list table

* moved table component from InstancesListTable to own component w/ burnettk

* filters are somewhat working again w/ burnettk

* default homepage uses the table without filters component now w/ burnettk

* renamed instance list tables to be more appropriate w/ burnettk

* display errors if list table is used incorrectly w/ burnettk

* fixed issue where columns were not displaying in the filter list

* pyl

* rely on changes in report hash to determine if report hash state needs updating

* only show link to report if there are instances to show

* many updates for filtering to remove the apply button and clean things up w/ burnettk

* some more fixes for too many renderings w/ burnettk

* advanced filters are working again w/ burnettk

* clear is working again w/ burnettk

* fixed a few linting errors and warnings w/ burnettk

* fixed some cypress tests

* if there are errors then display them right away instead of trying to put together the other elements

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-01-26 11:41:07 -05:00
Kevin Burnett 687b90bc94
update dmn modeling component versions (#857)
* update dmn-js and dmn-js-shared

* update dmn-js-properties-panel

* fixed broken cypress test w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-01-09 14:00:53 -05:00
jasquat fc22425ea2 fixed process model cypress test w/ burnettk 2023-11-09 15:56:53 -05:00
jasquat 586cb8893d attempting to fix broken cypress test by waiting for page to load before clearing w/ burnettk 2023-11-09 14:59:35 -05:00
jasquat 45bcba172d default other open id configs is url is specified w/ burnettk 2023-11-09 14:31:30 -05:00
jasquat ac1bebeb76 fixed cypress tests 2023-09-26 10:30:11 -04:00
jasquat c3fdbc0f69 remove pilot cypress tests and update others for admin in path removal w/ burnettk 2023-09-25 16:03:46 -04:00
jasquat f0fdf51a87 some improvements to cypress tests w/ burnettk 2023-09-07 15:31:31 -04:00
jasquat 5a6031b3d7 fixed failing cypress test w/ burnettk 2023-09-07 12:41:50 -04:00
jasquat 800b61cf36 fixed pagination of log tables and broken cypress tests w/ burnettk (#382)
* fixed pagination of log tables and broken cypress tests w/ burnettk

* wait before clicking the profile button instead of after w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-10 14:06:55 -04:00
Kevin Burnett 7de0d97303 Feature/better subworkflow management part 2 (#341)
* Revert "Revert "Feature/better subworkflow management (#331)""

This reverts commit 48dcde8faf.

* updated SpiffWorkflow to fix infinite loop in task trace w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-20 10:37:49 -04:00
burnettk 48dcde8faf Revert "Feature/better subworkflow management (#331)"
This reverts commit 23af5cbbe4.
2023-06-15 15:10:48 -04:00
jasquat 23af5cbbe4 Feature/better subworkflow management (#331)
* WIP: some updates to support new spiff w/ burnettk

* unit tests are passing

* all tests except message tests are passing

* fixed usage of catch message event w/ burnettk

* messages are working again w/ burnettk

* uncommented remaining message tests w/ burnettk

* fixed cypress tests w/ burnettk

* use main for spiffworkflow

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-15 10:31:42 -04:00
jasquat 8e1a29c624 update Close button on task show page to save and close and fixed task test 2023-05-16 10:13:29 -04:00
jasquat b41df276f5 fixed cypress tests w/ burnettk 2023-05-10 14:05:07 -04:00
jasquat ca8af1bce0 fixed cypress tests w/ burnettk 2023-05-01 14:54:11 -04:00
jasquat 80ec1194db fixed cypress process instance tests w/ burnettk 2023-04-28 11:56:52 -04:00
jasquat a2130ec1d2 fix cypress tests 2023-04-14 10:00:06 -04:00
jasquat 649d454bc0 moved NDR_PP1 tests to pilot dir and default configs back to what they were w/ burnettk 2023-04-06 11:42:24 -04:00
Madhurya Liyanage 07dacdff99 Merge branch 'main' of https://github.com/sartography/spiff-arena 2023-04-06 20:17:13 +05:30
Madhurya Liyanage c76a427e6e PP1 Version 1 test scripts 2023-04-06 19:58:24 +05:30
jasquat 5dc8c257a9 fixed cypress process instance test w/ burnettk 2023-03-24 11:10:04 -04:00
jasquat decf9ba062 Merge remote-tracking branch 'origin/main' into feature/remove_spif_step_details 2023-03-24 09:23:59 -04:00
jasquat a6e7678a1d fixed cypress tests for tasks 2023-03-24 09:21:23 -04:00
jasquat d2d0e7e992 attempted to fix some cypress tests 2023-03-23 17:34:08 -04:00
Dan 1de9887711 Fixing Cypress Tests 2023-03-10 12:56:37 -05:00
jasquat 4ee7b299f2 pyl and fixed cypress tests w/ burnettk 2023-03-06 11:59:33 -05:00
burnettk 13b8571f1b move pp1 2023-03-06 11:24:11 -05:00
burnettk 7220496127 remove only 2023-03-06 09:31:38 -05:00
burnettk 342e6091c5 finish test for pp1 2023-03-06 00:48:07 -05:00
burnettk a71754e722 add start of pp1 test 2023-03-04 23:48:23 -05:00
jasquat a98892be32 added some support for using the backend openid server for cypress tests w/ burnettk 2023-02-16 12:09:44 -05:00
burnettk cd07be3e28 upgrade certifi to fix security vulnerability 2023-01-19 07:38:57 -05:00
jasquat d70acde4c0 fixed cypress tests 2023-01-16 12:24:02 -05:00
burnettk 183be5e9a3 extract some duplicated text into vars to appease eslint 2023-01-04 21:22:32 -05:00
burnettk 81c966e5c8 remove arbirary waits with no comments 2023-01-04 21:17:36 -05:00
burnettk 1162e068ad restore assertion 2023-01-04 21:10:21 -05:00
burnettk 479969db16 Merge remote-tracking branch 'origin/main' into bug/cypress-tests 2023-01-04 20:58:03 -05:00
burnettk ba2e77f25f Merge branch 'feature/process_api_blueprint_refactor' of github.com:sartography/spiff-arena into feature/process_api_blueprint_refactor 2022-12-30 09:31:07 -05:00
burnettk 2579d51822 stats script 2022-12-30 09:30:44 -05:00
jasquat 4b328df7c5 allow tests to determine what paginated entity id to use to determine a table has loaded 2022-12-30 09:13:03 -05:00
jasquat bca74bc43b fixed some cypress tests and fixed issue where an invalid date caused the page to constantly reload w/ burnettk 2022-12-28 12:27:37 -05:00