Skip to content

Commit

Permalink
milestone/11 - Jobs (#247)
Browse files Browse the repository at this point in the history
* task/TUI-114 -- components for arrays of dict fields and file inputs (#155)

* DictField multipart form field

* DictFieldArray

* Populate fileinputs from app defaults

* Fix field array register name

* box styles for inputs

* Fix checkboxes

* Generic DictFieldArray and DictField wrappers

* Collapse component

* Removable file inputs

* Prettier

* unused imports

* lint disable

* Use form context, eliminate deep passing

* Prettier

* Simplify props

* Refactor fieldarray and dictfield

* Unused prop

* Simplify scss

* More unused props

* Define FileInput template

* Prettier

* Wrong filename

* Expand DictField into explicit File Input wrapped inputs

* required logic for fieldarray

* Add query options to hooks, fix reset dependency

* Change component prop to render prop

* Rename template prop to appendData

* Add ReqSubmitJob type to useForm generic

* eslint

* Error extraction with type safety (#157)

* Error extraction with type safety

* Rename refName prop to name

* Fix unsaved error

* Type coercion to have item type generic (#158)

* Type coercion to have item type generic

* Prettier

* appendData strict type

* alternate generic type setup for FieldArray (#160)

* alternate generic type setup for FieldArray

* use existing type to extend T

* Provide passing and failing job fixtures (#161)

* Provide passing and failing job fixtures

* run npm prettier and lint

* Add comment about reason for failure for invalidJobSubmission fixture

* Move remove button display concern to rendered component

* Add meta required check

* Restore required array

* Default required prop is empty array

* Distinguish between apps FileInput type and jobs InputSpec type (#170)

* Add optional collapsable UI to FileInputs FieldArray (#168)

* Add optional collapsable UI to FileArray based on required file inputs and isCollapsable flag

* npm run prettier

* Remove useless import alias

* Deep-pass isCollapsable flag.

* Strict check for isCollapse !== undefined

* run prettier

* Default isCollapsable to true

* Replace ternaryies with unaries for readability and give client control over isCollapsable

* Remove isCollapsable from FileArray in FileInputs to default to true

* prettier

* ArrayField type scheme with more idiomatic generics (#169)

* alternate generic type setup for FieldArray

* use existing type to extend T

* generic scheme with hook-forms types

* prettier

* Use const for name

Co-authored-by: Joon-Yee Chuah <[email protected]>

* Add required items text to collapse (#172)

* Add required items text to collapse

* Add Badge to Collapse to render required text.

* prettier

* Switch apps and jobs to explicitly installed pre-release version

* Update app fixture

* task/TUI-249 - job wizard (#252)

* react-step-wizard boilerplate

* useWizard context

* withFragment context hook and provider generator

* JobLauncherWizard wrappers

* Side progress

* reset form with default values

* Reset back to first step on app change

* Job submission reset

* Summary component rendering

* Remove app detail retrieval render dependency

* Visual styles

* Refactor job basics

* Fold provider into form context in wizard wrapper

* Cleanup

* Move wizard reset logic to memo property

* Button formatting

* QueryWrapper around job launcher

* task/TUI - 242 initial job values (#253)

* Exec system and queue selection

* Job launch step

* Update typescript dependencies and fixtures to TAPIS v1.1.0 apps and jobs

* ExecSystem step unit test

* Exec system queue in summary

* task/TUI-242 - job submit button (#254)

* Job file input utilities

* Submit button enabled callback

* Submit button

* Restore working commit

* Summary steps display error messages

* task/TUI-242 - rework wizard and file inputs (#255)

* Job Launcher Context

* Processing form navigation

* Exec system selection

* Use value instead of selected prop

* Linting

* withFragment

* refactor useJobLauncher to use withFragment

* Wrappers for job steps

* Utility for checking job fileinputs that are incomplete

* File input summary

* Add fields to file input

* Fix logic to determined which job inputs came from required app inputs

* Collapsible inputs

* exec system and queue selection fixes

* Add stepname prop

* Linting

* Updated tests

* task/TUI-259 - refactor withFragment (#262)

* Move withFragment to tapis-ui

* Rename withFragment to withBuilder

* Rename types

* task/TUI-260 -- refactor field array (#263)

* Fix wizard memoization

* useJobLauncher hook and context now track app and systems

* withBuilder resets state on receiving new default values

* JobStart sets default name

* Form reset with job value change

* Job start default value name

* FileInputs uses useJobLauncher hook

* Update unit tests

* Linting

* Unabstracted field array for file inputs

* Include optional inputs

* Optional input styling

* updated with new app fixture

* Show fixed inputs

* Show input mode for fileInputs

* Input name text for required inputs

* Apply field array styles to each collapse

* Simplify required logic

* Add Formik dependency and refactor login form (#274)

* Add Formik dependency and refactor login form

* update package-lock.json

* type Formik-provided input props more explicitly

* FormikJobStepWrapper (#275)

* task/TUI-271 -- refactor execsystem step (#276)

* FormikSelect

* Convert exec system selects to FormikSelect

* Form initial values

* Propagate onchange events from passed props and formik props

* set field values based on logical queue selection

* Remove selectedSystem state

* Remove unnecessary useeffect

* Remove extra wizard memoization, add debug statements

* Linting

* Use field value hook to set logical queue instead of onchange callback

* Add typing to getLogicalQueue

* unit tests from execsystem logical queue selection

* prettier

* task/TUI-272 -- refactor fileinputs (#277)

* FieldArray render

* job file input fields

* FormikCheck

* Reduce rerenders

* Reduce nesting

* optional inputs

* Required inputs

* Cleanup imports

* lint

* lint

* Reduce uuid usage for keys

* task/TUI-278 -- refactor file operations (#280)

* FieldArray render

* job file input fields

* FormikCheck

* Reduce rerenders

* Reduce nesting

* optional inputs

* Required inputs

* Cleanup imports

* lint

* lint

* Refactor createdir and rename modals

* File Operations

* TransferCreate modal

* Remove react-hook-form wrappers

* checkpoint

* Restore FieldWrapper

* Testing labels

* Disable tests

* Remove old react-hook-form based components

* Fix form submit binding

* Fix form bindings

* initial values should be based on current job value (#283)

* task/TUI-261 -- file input arrays (#266)

* JobFileInputArray utilities and tests

* sourceUrl field array

* attempt at using fieldarrays of strings

* Copy new formik pattern

* Modify initial values

* initial refactor of jobfileinputs into jobfileinputarrays

* fixed and optional source urls

* SourceUrlsField

* Source URL field array

* Add item styles

* Tests

* Allow removal of any sourceUrl, but do not allow removal of sourceUrls if the list would be empty

* task/TUI-265 -- file browsing (#284)

* File browser modal

* Fix unit tests

* Populate field with browser selected value

* Refactor out tapis-app specific FileExplorer in exchange for tapis-ui general FileExplorer

* FormikTapisFile manages its own modal state

* FileInputArrays sourceUrls use browse component

* Organize imports and styles

* useModal hook

* Add multiple sourceUrls

* Implement modal multiselect or unselect

* fix single select

* Show original file selection when browsing

* Prevent duplicate adding of source URLs

* Fix onNavigate events

* linting

* Modal styles

* Unit tests

* linting

* Unit tests

* Task/t UI 286  archive filter (#289)

* archive filter includes

* excludes

* task/TUI-288 - environment variables (#290)

* Env Variables

* linting

* task/TUI-264 -- app args (#292)

* Env Variables

* linting

* jobAppArg utils

* App args

* Bug fix: formik checks

* Disable fields if app argument specified in app

* Generalize Args

* Generalize app field array

* Add other argument types

* Change checkbox message

* Fix addition of new args

* task/TUI-294 -- misc fields (#295)

* Job description

* Add description summary

* Archive options

* Fix disabled statuses and undefined options

* TapisFileInput allows selection of specific types of files

* Directory selection mode in modal

* Archive summary

* Linting

* task/TUI-246 -- exec system options (#297)

* Job description

* Add description summary

* Archive options

* Fix disabled statuses and undefined options

* TapisFileInput allows selection of specific types of files

* Directory selection mode in modal

* Archive summary

* Linting

* Custom formik validation function

* Add initalschema and validation

* MPI command validatoin

* Collapse for queue options

* task/TUI-296 -- job submission step (#298)

* Job description

* Add description summary

* Archive options

* Fix disabled statuses and undefined options

* TapisFileInput allows selection of specific types of files

* Directory selection mode in modal

* Archive summary

* Linting

* Custom formik validation function

* Add initalschema and validation

* MPI command validatoin

* Collapse for queue options

* Job json stripping and formatting

* Copy Button

* Task/t UI 296  job submission step (#299)

* Job description

* Add description summary

* Archive options

* Fix disabled statuses and undefined options

* TapisFileInput allows selection of specific types of files

* Directory selection mode in modal

* Archive summary

* Linting

* Custom formik validation function

* Add initalschema and validation

* MPI command validatoin

* Collapse for queue options

* Job json stripping and formatting

* Copy Button

* Rename job submission step

* Add keys (#302)

* task/TUI-303 -- job arg spec summary (#304)

* Display arguments in summary

* Show environment variables in summary

* More information in file input summary

Co-authored-by: Nathan Dean Freeman <[email protected]>

* task/TUI-305 -- scheduler profiles (#306)

* Display arguments in summary

* Show environment variables in summary

* More information in file input summary

* Scheduler profile API

* Scheduler profile addition

* Scheduler profile selection

* Description list for scheduler options

* Scheudler profile summary

* Fix refetch bug

Co-authored-by: Jake Rosenberg <[email protected]>
Co-authored-by: Nathan Dean Freeman <[email protected]>
  • Loading branch information
3 people authored Apr 19, 2022
1 parent 606a9b0 commit ac65e20
Show file tree
Hide file tree
Showing 109 changed files with 6,024 additions and 603 deletions.
204 changes: 150 additions & 54 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@
"@fortawesome/react-fontawesome": "^0.1.8",
"@material-ui/core": "^4.12.3",
"@reduxjs/toolkit": "^1.5.1",
"@tapis/tapis-typescript": "^0.0.13",
"@tapis/tapis-typescript": "^0.0.15",
"axios": "^0.21.4",
"babel-plugin-react-css-modules": "^5.2.6",
"bootstrap": "^4.6.0",
"cross-fetch": "^3.1.4",
"formik": "^2.2.9",
"js-cookie": "^3.0.0",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
Expand All @@ -22,20 +23,22 @@
"react-copy-to-clipboard": "^5.0.2",
"react-dom": "^17.0.2",
"react-dropzone": "^10.2.1",
"react-hook-form": "^7.14.2",
"react-hot-loader": "^4.13.0",
"react-query": "^3.19.2",
"react-resize-detector": "^6.1.0",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
"react-step-wizard": "^5.3.9",
"react-table": "^7.0.5",
"react-transition-group": "^4.4.1",
"reactstrap": "^8.9.0",
"rxjs": "^6.6.7",
"sass": "^1.37.5",
"streamsaver": "^2.0.5",
"typescript": "^4.3.5",
"uuid": "^7.0.2",
"web-vitals": "^1.1.2"
"web-vitals": "^1.1.2",
"yup": "^0.32.11"
},
"homepage": "https://tapis-project.github.io/tapis-ui",
"scripts": {
Expand Down
Loading

0 comments on commit ac65e20

Please sign in to comment.