-
Notifications
You must be signed in to change notification settings - Fork 19
Queue Frontend Development
Alec Spottswood edited this page Mar 13, 2020
·
16 revisions
-
task_action_repository.rb
- referenced by
func
of actions in TASK_ACTIONS.json - defines a configuration used by QueueFlowModal.jsx
-
modal_title
,modal_body
-
type
: Task name -
options
: provided in dropdown menu in the modal -
selected
: initial selection in dropdown menu -
modal_selector_placeholder
: placeholder text for dropdown menu -
redirect_after
: redirect path after submit is pressed and there's no error - custom configurations:
back_to_hearing_schedule
-
- referenced by
- QueueFlowModal.jsx
- modal window that pops up when a user selects a task action from the dropdown (in the Case Details page of an appeal)
- Many modals simply feed
props
to QueueFlowModal in order to configuresubmit
,success
,pathAfterSubmit
,validateForm
,button
,reloadPageAfterSubmit
etc. - Some
props
also come from the Redux state, e.g., thesuccess
anderror
messages.
- QueueLoadingScreen.jsx
- used to (potentially) load queues:
queueConfig
,fetchAllAttorneys
,fetchAmaTasksOfUser
,loadAttorneys
- sets common Redux
state.ui
properties, e.g.userId
,userRole
- In what order to these things happen?
- used to (potentially) load queues:
Ever see this in React components: export default (connect(mapStateToProps, mapDispatchToProps)(QueueLoadingScreen))
. Here's what it's used for:
-
mapStateToProps
maps Reduxstate
to the component'sprops
- it calls functions like
getTasks
andtaskById
(defined inselectors.js
)
- it calls functions like
-
mapDispatchToProps
maps results of functions (defined inuiActions.js
) toprops
and Reduxstate
- functions like
setUserId
andfetchAllAttorneys
- These functions return an object with
type
being the Redux action (defined inuiConstants.js
) andpayload
being the thing to be added toprops
.
- functions like
Reducers are defined in uiReducer.js
and are keyed off Redux action type
and do the actual update to the Redux state
.
- When are these reducers called?
Selectors are defined in selectors.js
and are what we use to read and filter through the Redux state
. Here's a quick article with more on what selectors are and why we use them.
(Rough) React component tree for Case Details page
- Queue
- ReduxBase
- QueueApp.jsx
- CaseDetailsLoadingScreen.jsx
- SomeCustomModal.jsx (e.g., AssignToView.jsx)
- QueueFlowModal.jsx
- SomeCustomModal.jsx (e.g., AssignToView.jsx)
- CaseDetailsLoadingScreen.jsx
- QueueApp.jsx
- ReduxBase
(Rough) React component tree for Judge Case Assignment page
- Queue
- ReduxBase
- QueueApp.jsx
- QueueLoadingScreen.jsx
- JudgeAssignTaskListView.jsx
- QueueLoadingScreen.jsx
- QueueApp.jsx
- ReduxBase
- Below are pages within the greater Caseflow wiki related to the Frontend
- Home
- Acronyms and Glossary
- Caseflow products
- Caseflow Intake
- Caseflow Queue
- Appeals Consumer
- Caseflow Reader
- Caseflow eFolder
- Caseflow Hearings
- Caseflow Certification
- Caseflow APIs
- Appeal Status API
- Caseflow Dispatch
-
CSUM Roles
- System Admin
- VHA Team Management
- Active Record Queries Resource
- External Integrations
- Caseflow Demo
- Caseflow ProdTest
- Background
- Stuck Jobs
- VA Notify
-
Caseflow-Team
- Tier 4
- Bat Team
- Technical Documentation
- Backend Code Patterns
- Backend Working Group
- FACOLS, VACOLS DB Schema
- Asyncable Models
- External Data: where and why
- Data Fetching Scripts
- Caseflow Data Model and Dictionary
- User Access Permissions
- Controller Schemas
- Constants
- Frontend Best Practices
- Accessibility
- How-To
- Debugging Tips
- Adding a Feature Flag with FeatureToggle
- Editing AMA issues
- Editing a decision review
- Fixing task trees
- Investigating and diagnosing issues
- Data and Metric Request Workflow
- Exporting and Importing Appeals
- Explain page for Appeals
- Record associations and Foreign Keys
- Upgrading Ruby
- Stuck Appeals
- Testing Action Mailer Messages Locally
- Re-running Seed Files
- Rake Generator for Legacy Appeals
- Manually running Scheduled Jobs
- System Admin UI
- Caseflow Makefile
- Upgrading Postgresql from v11.7 to v14.8 Locally
- VACOLS VM Trigger Fix M1
- Using SlackService to Send a Job Alert
- Technical Talks