-
Notifications
You must be signed in to change notification settings - Fork 272
Closed
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededin progressjavascriptPull requests that update Javascript codePull requests that update Javascript code
Description
This is an issue to track progress on converting the remaining class components to React hooks.
They should be converted in javascript for review purposes (continue to use PropTypes
). A separate issue will be created for converting to typescript if needed.
Decorators should also be removed. There is usually a corresponding hook to achieve the same functionality.
For example, a class component using @withWidth
and props.width
can be written as a functional component that uses const width = useWidth()
Please keep PR size small, and run tests locally, to help speed up reviews.
- app/admin/AdminDialog.js: AdminDialog (ui/hooks: admin dialog #996)
- app/alerts/components/AlertDetails.js: AlertDetails (ui/hooks: alert details #997)
- app/alerts/components/AlertsListControls.js: AlertsListControls (ui/hooks: alert list controls #998)
- app/alerts/components/AlertsListFilter.js: AlertsListFilter (ui/hooks: alerts list filter #999)
- app/alerts/components/UpdateAlertsSnackbar.js: UpdateAlertsSnackbar (ui/hooks: update alerts snackbar #1000)
- app/alerts/pages/AlertDetailPage.js: AlertDetailPage (ui/hooks: alert detail page #1001)
- app/dialogs/components/DialogContentError.js: DialogContentError (@KatieMSB ui/hooks: dialog content error #1004)
- app/dialogs/components/DialogTitleWrapper.js: DialogTitleWrapper (@KatieMSB ui/hooks: dialog title wrapper #1005)
-
app/dialogs/components/DropDownMenu.js: DropdownMenu(@KatieMSB ui: remove DropDownMenu component #1156) - app/dialogs/FormDialog.js: FormDialog (@dctalbot ui/hooks: form dialog #1236)
- app/documentation/components/IntegrationKeyAPI.js: IntegrationKeyAPI (@pnengchu ui/hooks: IntegrationKeyAPI #1020)
- app/error-pages/Errors.js: GenericError (@KatieMSB ui/hooks: convert errors #1009)
- app/error-pages/Errors.js: ObjectNotFound (@KatieMSB ui/hooks: convert errors #1009)
- app/error-pages/Errors.js: PageNotFound (@KatieMSB ui/hooks: convert errors #1009)
- app/escalation-policies/PolicyCreateDialog.js: PolicyCreateDialog (@KatieMSB ui/hooks: policy create dialog #1013)
- app/escalation-policies/PolicyEditDialog.js: PolicyEditDialog (@KatieMSB ui/hooks: policy edit dialog #1016)
- app/escalation-policies/PolicyForm.js: PolicyForm (@KatieMSB ui/hooks: policy form #1017)
- app/escalation-policies/PolicyServicesCard.js: PolicyServicesCard (@KatieMSB ui/hooks: policy services card #1022)
- app/escalation-policies/PolicyServicesQuery.js: PolicyServicesQuery (@KatieMSB ui/hooks: policy services query #1023)
- app/escalation-policies/PolicyStepCreateDialog.js: PolicyStepCreateDialog (@KatieMSB ui/hooks: policy step create dialog #1041)
- app/escalation-policies/PolicyStepDeleteDialog.js: PolicyStepDeleteDialog (@KatieMSB ui/hooks: policy step delete dialog #1042)
- app/escalation-policies/PolicyStepEditDialog.js: PolicyStepEditDialog (@KatieMSB ui/hooks: policy step edit dialog #1043)
- app/escalation-policies/PolicyStepForm.js: PolicyStepForm (@KatieMSB ui/hooks: policy step form #1048)
- app/escalation-policies/PolicyStep.js: PolicyStep (@KatieMSB ui/hooks: policy step #1049)
- app/escalation-policies/PolicyStepsCard.js: PolicyStepsCard (@KatieMSB ui/hooks: policy step card #1050)
- app/escalation-policies/PolicyStepsQuery.js: PolicyStepsQuery (@KatieMSB ui/hooks: policy steps query #1051)
- app/forms/FormContainer.js: FormContainer (@tony-tvu ui/forms: convert to function component #2427)
- app/forms/FormField.js: FormField (@KatieMSB ui/hooks: form field #1653)
- app/forms/Form.js: Form (@pnengchu ui/hooks: app/forms/Form.js #1008)
- app/icons/components/Icons.js: Add (@pnengchu ui/hooks: Icons #1030)
- app/icons/components/Icons.js: Slack (@pnengchu ui/hooks: Icons #1030)
- app/icons/components/Icons.js: SlackBW (@pnengchu ui/hooks: Icons #1030)
- app/icons/components/Icons.js: Trash (@pnengchu ui/hooks: Icons #1030)
- app/icons/components/Icons.js: Warning (@pnengchu ui/hooks: Icons #1030)
- app/lists/FlatList.js: FlatList (temp-schedules: shift list transitions #982)
- app/loading/components/LoadingButton.js: LoadingButton (@kanish671 ui/hooks: LoadingButton, typo fix #1451)
- app/main/App.js: App (@dctalbot ui/hooks: App #1010)
- app/main/components/SideBarDrawerList.js: SideBarDrawerList (@dctalbot ui/hooks: sidebar drawer list #1021)
- app/main/components/ToolbarAction.js: ToolbarAction (@dctalbot ui/hooks: toolbar action #1077)
- app/main/components/ToolbarTitle.js: NameLoader (@KatieMSB ui/hooks: toolbar title #1316)
- app/main/components/ToolbarTitle.js: ToolbarTitle (@KatieMSB ui/hooks: toolbar title #1316)
-
app/main/ErrorBoundary.js: ErrorBoundary(ui/hooks: ErrorBoundary #1844) -
app/main/MobileSideBar.js: MobileSideBar(@dctalbot ui: fixed mobile navigation accessibility #1170) - ~~app/main/URLErrorDialog.js: URLErrorDialog (@dctalbot ui/main: remove URLErrorDialog #2039)
- app/main/WideSideBar.js: WideSideBar (@dctalbot ui/hooks: wide sidebar #1076)
- app/rotations/RotationAddUserDialog.js: RotationAddUserDialog (@kanish671 ui/hooks: RotationAddUserDialog #1452)
- app/rotations/RotationCreateDialog.js: RotationCreateDialog (@kanish671 ui/hooks: RotationCreateDialog #1453)
- app/rotations/RotationSetActiveDialog.js: RotationSetActiveDialog (@kanish671 ui/hooks: RotationSetActiveDialog #1454)
- app/rotations/RotationUserDeleteDialog.js: RotationUserDeleteDialog (@kanish671 ui/hooks: RotationUserDeleteDialog #1455)
- app/rotations/RotationUserList.js: RotationUserList (@kanish671, @dctalbot ui/hooks: rotation user list #1499)
- app/schedules/CalendarEventWrapper.js: CalendarEventWrapper
- app/schedules/ScheduleAssignedToList.js: ScheduleAssignedToList (@voromahery ui/hooks: ScheduleAssignedToList #1695)
- app/schedules/ScheduleCalendar.js: ScheduleCalendar
- app/schedules/ScheduleCalendarQuery.js: ScheduleCalendarQuery
- app/schedules/ScheduleCreateDialog.js: ScheduleCreateDialog (ui/hooks: ScheduleCreateDialog #1690)
- app/schedules/ScheduleEditDialog.js: ScheduleEditDialog (@voromahery ui/hooks: ScheduleEditDialog #1701)
- app/schedules/ScheduleForm.js: ScheduleForm (ui/hooks: ScheduleForm #1696)
- app/schedules/ScheduleNewOverrideFAB.js: ScheduleNewOverrideFAB (@voromahery ui/hooks: ScheduleNewOverrideFAB #1704)
- app/schedules/ScheduleOverrideDeleteDialog.js: ScheduleOverrideDeleteDialog (ui/hooks: ScheduleOverrideDeleteDialog #1725)
- app/schedules/ScheduleOverrideEditDialog.js: ScheduleOverrideEditDialog (ui/hooks: ScheduleOverrideEditDialog #1769)
- app/schedules/ScheduleOverrideList.js: ScheduleOverrideList (ui: move breadcrumb page actions into content view #1571)
- app/schedules/ScheduleRouter.js: ScheduleList (ui/hooks: ScheduleList #1727)
- app/schedules/ScheduleRouter.js: ScheduleRouter
- app/schedules/ScheduleRuleDeleteDialog.js: ScheduleRuleDeleteDialog (@ganamavo ui/hooks: ScheduleRuleDeleteDialog #1717)
- app/schedules/ScheduleRuleEditDialog.js: ScheduleRuleEditDialog (ui/hooks: ScheduleRuleEditDialog #1792)
- app/schedules/ScheduleRuleForm.js: ScheduleRuleForm (ui/hooks: ScheduleRuleForm #1730)
- app/schedules/ScheduleRuleList.js: ScheduleRuleList (@KatieMSB ui/hooks: schedule rule list #1620)
- app/schedules/ScheduleShiftList.js: ScheduleShiftList (@dctalbot ui/hooks: schedule shift list #1027)
- app/services/IntegrationKeyCreateDialog.js: IntegrationKeyCreateDialog (ui/hooks: IntegrationKeyCreateDialog #1734)
- app/services/ServiceLabelDeleteDialog.js: ServiceLabelDeleteDialog (ui/hooks: ServiceLabelDeleteDialog #1749)
- app/services/ServiceLabelEditDialog.js: ServiceLabelCreateDialog (ui/hooks: ServiceLabelEditDialog #1750)
- app/services/ServiceLabelForm.js: LabelForm (@phoenix6561 ui/hooks: serviceLabelForm.js #1289)
- app/services/ServiceLabelList.js: ServiceLabelList (ui/hooks: ServiceLabelList #1752)
- app/users/UserContactMethodDeleteDialog.js: UserContactMethodDeleteDialog(@alejandra-martinez ui/hooks: user contact method delete dialog #1024)
- app/users/UserContactMethodEditDialog.js: UserContactMethodEditDialog (ui/hooks: UserContactMethodEditDialog #1731)
- app/users/UserContactMethodForm.js: UserContactMethodForm
- app/users/UserContactMethodSelect.js: UserContactMethodSelect (ui/hooks: UserContactMethodSelect #1742)
- app/users/UserNotificationRuleCreateDialog.js: UserNotificationRuleCreateDialog (ui/hooks: UserNotificationRuleCreateDialog #1746)
- app/users/UserNotificationRuleDeleteDialog.js: UserNotificationRuleDeleteDialog (ui/hooks: UserNotificationRuleDeleteDialog #1747)
- app/users/UserNotificationRuleForm.js: UserNotificationRuleForm (ui/hooks: UserNotificationRuleForm #1748)
- app/users/UserNotificationRuleList.js: UserNotificationRuleList (ui/hooks: UserNotificationRuleList #1751)
- app/users/UserStatusUpdatePreference.js: UserStatusUpdatePreference (ui/hooks: UserStatusUpdatePreference #1753)
- app/util/AppBarSearchContainer.js: SearchProvider (ui/hooks:SearchProvider #1842)
- app/util/AppBarSearchContainer.js: SearchUpdater (ui/hooks:SearchUpdater #1843)
-
app/util/Chips.js: PolicyChip(@dctalbot ui/hooks: chips #1231) - app/util/Chips.js: RotationChip (@dctalbot ui/hooks: chips #1231)
- app/util/Chips.js: ScheduleChip (@dctalbot ui/hooks: chips #1231)
- app/util/Chips.js: SlackChip (@dctalbot ui/hooks: chips #1231)
- app/util/Chips.js: UserChip (@dctalbot ui/hooks: chips #1231)
- app/util/CountDown.js: CountDown (@dctalbot ui/hooks: count down #1100)
- app/util/FilterContainer.js: FilterContainer (@dctalbot ui/hooks: filter container #1078)
- app/util/GoogleAnalytics.js: GoogleAnalytics ui/hooks: google analytics #1884
-
app/util/gracefulUnmount.js: GracefulUnmounter -
app/util/gracefulUnmount.js: GracefulUnmounterProvider - app/util/Markdown.js: Markdown (@dctalbot ui: remove dead css and refactor markdown css #1290)
- app/util/MountWatcher.js: MountWatcher ui/hooks: mount watcher #1885
-
app/util/Options.js: Optionsui/util: delete deprecatedOptions
class #1886 - app/util/OtherActionsDesktop.js: OtherActionsMenuDesktop (@Voninkazo ui/hooks: OtherActionsMenuDesktop #1702)
- app/util/OtherActions.js: OtherActions (ui/hooks: OtherActions #1700)
- app/util/OtherActionsMobile.js: OtherActionsMenuMobile (@Voninkazo ui/hooks: OtherActionsMobile #1716)
- app/util/PageActions.js: PageActionContainer (@kanish671 ui/hooks: page actions #1255)
- app/util/PageActions.js: PageActionProvider (@kanish671 ui/hooks: page actions #1255)
- app/util/PageActions.js: PageActions (@kanish671 ui/hooks: page actions #1255)
- app/util/PageActions.js: PageActionUpdater (@kanish671 ui/hooks: page actions #1255)
-
app/util/Query.js: Query(deprecated) - app/wizard/WizardForm.js: WizardForm (ui/hooks: WizardForm #1791)
- app/wizard/WizardRouter.js: WizardRouter (ui/hooks: WizardRouter #1689)
- app/wizard/WizardScheduleForm.js: WizardScheduleForm (ui/hooks: WizardScheduleForm #1770)
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededin progressjavascriptPull requests that update Javascript codePull requests that update Javascript code