* Numeric range field added (#799)
Added a custom field to handle numeric ranges. The field checks for the first key in the properties of the schema and will add min and max to it when the values are put in.
* autofix lint stuff
* updates to simplify the code, fix a few ux issues, and make more inline with current conventions w/ burnettk
* removed subkey from numeric range and added validation to ensure max is greater than min w/ burnettk
* added some comments to clarify how to use numeric range w/ burnettk
* added some documentation for the numeric range field w/ burnettk
---------
Co-authored-by: Kayvon-Martinez <142514475+Kayvon-Martinez@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial test code to test out celery w/ burnettk
* some cleanup for celery and added base model to put tasks waiting on timers
* removed dup bpmn file
* some more cleanup and added strategy to queue instructions
* some minor code changes w/ burnettk
* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine
* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine
* ensure future task run at time can be updated w/ burnettk
* added table to queue instructions for end user in w/ burnettk
* added test to ensure we are storing instructions for end users w/ burnettk
* added progress page to display new instructions to user
* ignore dup instructions on db insert w/ burnettk
* some more updates for celery w/ burnettk
* some pyl and test fixes w/ burnettk
* fixed tests w/ burnettk
* WIP: added in page to show instructions on pi show page w/ burnettk
* pi show page is fully using not interstitial now w/ burnettk
* fixed broken test w/ burnettk
* moved background processing items to own module w/ burnettk
* fixed apscheduler start script
* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk
* added support to run future tasks using countdown w/ burnettk
* build image for celery branch w/ burnettk
* poet does not exist in the image w/ burnettk
* start blocking scheduler should always start the scheduler w/ burnettk
* add init and stuff for this branch
* make this work not just on my mac
* send other args to only
* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk
* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk
* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk
* do not queue process instances twice w/ burnettk
* removed bad file w/ burnettk
* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk
* only queue imminent new timer events and mock celery
* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk
* some styles added for the shortcut menu w/ burnettk
* pyl w/ burnettk
* fixed test w/ burnettk
* removed temporary celery script and added support for celery worker in run server locally w/ burnettk
* cleaned up migrations w/ burnettk
* created new migration to clean up old migrations
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added some support for configs to have mutliple auths
* multiple openids services are mostly working - still needs some cleanup
* some cleanup for pyl and fixed login_return for internal openid server w/ burnettk
* if only one auth is returned from backend then just do that w/ burnettk
* login page has been formatted w/ burnettk
* some extra formatting on the login page w/ burnettk
* relabel test openid providers and add user
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* refactored process model show page to use tabs
* added ability to view and edit a process model readme file w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Don't bug out in older instances that don't have runtime_info
* Add zoom buttons to React Diagram Editor
* This removes some potential features for on-boarding, that we are not currently using, but fixes the issue with 100's of onboarding processes piling up and sitting around. Hoepfully we can wrap this into the extensions mechanism so everything works the same way eventually.
* Improved error messages on form builder
Don't try to auto-save the file before it is fully loaded.
Example data was not getting saved on update.
* Found several errors with new zooming buttons in DMN, so cleaning that up.
Recent changes prevented creating a new dmn table.
* Errors were not being displyed for the Editor Routes
* Going to disable handling user tasks in the onboarding controller for now.
* Detect focus loss/return in the Diagram Editor - so that we can reload the process model and assure that we know about any changed files.
Allow for looking specifically for json SCHEMA files (those files that are named -schema.json or .schema.json (as is the convention). Only show these in the dropdown for the form.
* * Run descriptions through the markdown processor so you can use bold/italic etc... in your description fields within a form.
* Move ExampleTable into it's own view component to keep the size of the form builder sane.
* Assure markdown within jrsf forms have reasonable styling that follows the containers style, rather than setting to some other default.
* Add a couple of example forms so people can get a sense of what is possible.
* Connect up the new Json Schema Editor Component to the process model edit diagram.
* Just select the schema file - not the ui file when selecting the form for a component - we may revert this to just a text box.
*
* Cleanup the formatting of arrays, so that they are sligtly intended, do not contain an awkward unneeded heading, and have some tighter css.
* Connect the form editing in the modal back to the BPMN-JS editor
Auto-Save edits in the Form Builder
Lots and lots of tweaks to the react form builder ui
* various fixes.
* test for prepare_schema
* minor fix for run_pyl
* css cleanup
less issues with reloading and jumping about when in the editor
Don't sort keys when returning the json.
More intelligent "ready"
* bump package to point to branch of bpmn-js-spiffworkflow so others can check it out.
* Assure that json keys are not sorted during serialization by default.
Allow adding example fields to an existing schema
Create a set of examples.
* db complaints in migration change.
* removed items from interface file that had been moved elsewhere w/ burnettk
* rename prepare_form to prepare-form
* rename prepare_form to prepare-form
* Remove commented out code.
* typo
* add a comment about the empty column
* move back to the main branch
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added modal and table to view completed forms w/ burnettk
* avoid making api calls for tab components on instance show page w/ burnettk
* show id when no task name and fix cognitive complexity warning in an embarrassing way
* removed some commented out code
* made human task attributes optional and noted them in frontend interfaces w/ burnettk
* removed draft completed tasks component w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* some initial ui tweaks w/ burnettk
* left align more items as per the figma page w/ burnettk
* pyl w/ burnettk
* left align additional pages w/ burnettk
* use carbon components for the rjsf forms as well w/ burnettk
* do not raise if the app cannot load an env specific config file w/ burnettk
* attempting to center all the main elements except the diagram page WIP w/ burnettk
* fix build issue
* document media query
* fixed centering of elements in webui w/ burnettk
* some tweaks to taskshow markdown w/ burnettk
* make filter button smaller as a medium size
* medium styles for these buttons to the top right of tables
* inscreased cap for metadata key when displayed and allow word-wrapping w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* 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
* translated mysql last milestone query to sqlalchemy w/ burnettk
* fixed last milestone query so instances still return if no milestone found and moved some code from the main report method to own methods
* added some comments
* added last milestone column to process instances table
* display last milestone in instance list table w/ burnettk
* remove 3 characters when truncating last milestone for ellipsis
* make sure we have a current processor so we don't return null
* remove sleep
* The background processor now only picks up processes that were last updated more than a minute ago to avoid conflicting with the interstitial page. With the understanding that we can rmeove this limitation when we can refactor to allow the backend processes to provide updates on what they are doing.
* pyl w/ burnettk
* cache last milestone on instances
* pyl
* added test for last milestone and added it to the proces instance show page w/ burnettk
* fixed broken test w/ burnettk
* fixed last milestone header
* removed duplicated column
* fixed broken test
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added an api to assign a list of users to a task w/ burnettk
* use the modal submit and close buttons when saving task data on the instance show page w/ burnettk
* switch save and cancel buttons on secrets new page w/ burnettk
* add some icons, tho still missing event stuff
* finished adding imporoved icons and fixing up task modal w/ burnettk
* added some user search options to assig tasks to w/ burnettk
* cleaned up task details modal and added call to backend to add potential users w/ burnettk
* fixed broken tests w/ burnettk
* removed some merge comments w/ burnettk
* process instance id is an int not a str w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Using a rem based measurement rather than pixels, to better handle 4k displays and their adjusted font sizes - and setting relatively large breakpoints and page width limits that should result in a better view of the tables on the home page.
* Here is the latest:
* Improved metadata display on the process instance page, with better widths, grayed out text (which I lost at some point).
* Reduced the End Task "instructions for end user" size, and added a fade out on the bottom.
* Improved the "chicken buttons" for custom columns on the process instance list filters, which can now accommodate very long names for the columns.
* Removed the "show-page" which is more consistently handled by the content wrappers for the different routers.
* Basically shift our ui to something similar to Google's search results page - where we have a strong left padding that offsets against our logo, and a fixed width for our content, that can be breached in some circumstances (such as when tables are very large). This breaking can happen for both our standard tables, as well as markdown tables. This does not include the fix for locking - which is still in progress.
* modified routes so that most routes are within a "fixed-width-container" but our BPMN editor can still take up 100% of the screen.
* fixed-width-container has breakpoints at 1056 (remove all padding) and 1400 (limit width to a max of 1280) but in all cases allow for an overflow of visible - so tables can extend beyond this limit when needed,
* Removed "Messages" as a heading from the tab view - but left on the /messages route.
* Lint fixing
* re-enable the move canvas and zoom modules, and try like hell to get the !@#$! display to zoom to fit consistently. As the from_xml does not trigger the "import.done" where the resize is happening.
* Clicking on timestamp should reload the page so we are observing the diagram at the correct point in time.
* Use a grid rather than a stack for the filter buttons, make them a consistent width, and force the close "x" button to the far right.
* Better handling the lots and lots of metadata fields in both the process instance list table, and in the metadata information on the process instance view page.
* Using DL rather than Carbon's grid, because my mind was starting to break.
* Process instance List Tables are set to optimize their max width for readability.
* assure the diagram editor is top aligned - otherwise when the proprties pannel get's super duper long (as with recent additions to multi-instance) we don't end up with weird spaces showing up above a center aligned canvas.
* throw an error if backend gives a 500 from interstitial page w/ burnettk
* turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection
* pyl
* raise the api_error from the original and make the render_data method private
* Feature/interstitial summary (#337)
* * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram.
* Removed the Zoom and Move modules when showing the readonly
Diagram. Assured this readonly view is resized to fit the space when possible.
* Checkbox Widget no longer displays a duplicate label.
* CSS Tweaks
* All pages are limited to a max display width of 1440, with auto margins to center the main content on the page.
* "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins.
* Paragraphs, headings, blockquotes, list items are limited to a width of 640.
* Reduced margin bottom on all breadcrumbs.
* Slightly reduced the width and margin of tiles
* ordered lists and unordered lists show numbers and bullets now.
* End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page.
* Greatly reduced the lag in the interstitial page when doing a re-direct.
* run_pyl
* kill console
* wait for permissionsLoaded too since we are using ability.can
* Previous change removed the top level Messages page - this re-adds it.
* I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect".
This should cause the show/hide Instructions toggle to only show when useful.
* Minor cleanup on the process instance properties display.
* linting
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Fix a linting error.
* minor permissions related fixes for the new ui.
* Revert "Revert "Feature/better subworkflow management (#331)""
This reverts commit 48dcde8faf00241201c515b54444fe9fb373c7f4.
* do not execute tasks from the process instance show page w/ burnettk
* pyl w/ burnettk
* Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket:
* Markdown links now open in a new window
* Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid.
* Right aligned the "process instance list link" button to it is flush right with the table underneath
* Gave a little more breathing room the content on the info/metadata in the process instance view .
* updated docker image build action to contain the appropriate version info w/ burnettk
* properly resize to the available columns depending on s/m/l
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Dan Funk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added a new model to store task draft data in a join table
* cleaned up using the join table for draft table w/ burnettk
* created new single migration for changes w/ burnettk
* added hidden form which autosaves without validations w/ burnettk
* change close button name since it does indeed save on close now
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram.
* Removed the Zoom and Move modules when showing the readonly
Diagram. Assured this readonly view is resized to fit the space when possible.
* Checkbox Widget no longer displays a duplicate label.
* CSS Tweaks
* All pages are limited to a max display width of 1440, with auto margins to center the main content on the page.
* "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins.
* Paragraphs, headings, blockquotes, list items are limited to a width of 640.
* Reduced margin bottom on all breadcrumbs.
* Slightly reduced the width and margin of tiles
* ordered lists and unordered lists show numbers and bullets now.
* End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle. This is how it is set up for the ProcessInstanceShow page.
* Greatly reduced the lag in the interstitial page when doing a re-direct.
* run_pyl
* kill console
* wait for permissionsLoaded too since we are using ability.can
* Previous change removed the top level Messages page - this re-adds it.
* I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect".
This should cause the show/hide Instructions toggle to only show when useful.
* Minor cleanup on the process instance properties display.
* linting
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* format date picker helper text width to match the date widget itself w/ burnettk
* not sure we need xdoctest
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* use carbon components when adding secrets
* docker compose pull before running up w/ burnettk
* use all carbon on script task unit test modal w/ burnettk
* removed remaining references to bootstrap from frontend w/ burnettk
* updated usage of hidden to use the class instead of the bootstrap attribute w/ burnettk
* print out docker version for debugging
* docker pull with docker instead of compose
* added comment for docker pull in check docker start script
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>