From 97eebe2cfb729c34ef9d508129ac13e5fe956762 Mon Sep 17 00:00:00 2001 From: Daniel Jordan Date: Wed, 12 Jun 2024 16:44:16 +0000 Subject: [PATCH] initial commit, y'all know what happened, dont call the cops --- src/scenes/Office/OrdersInfo.jsx | 106 ----------------- src/scenes/Office/OrdersViewerPanel.js | 156 ------------------------- src/store/entities/selectors.js | 4 - 3 files changed, 266 deletions(-) delete mode 100644 src/scenes/Office/OrdersInfo.jsx delete mode 100644 src/scenes/Office/OrdersViewerPanel.js diff --git a/src/scenes/Office/OrdersInfo.jsx b/src/scenes/Office/OrdersInfo.jsx deleted file mode 100644 index eee9486caa0..00000000000 --- a/src/scenes/Office/OrdersInfo.jsx +++ /dev/null @@ -1,106 +0,0 @@ -import React, { Component } from 'react'; -import PropTypes from 'prop-types'; -import { bindActionCreators } from 'redux'; -import { connect } from 'react-redux'; -import { get } from 'lodash'; - -import OrdersViewerPanel from './OrdersViewerPanel'; - -import LoadingPlaceholder from 'shared/LoadingPlaceholder'; -import Alert from 'shared/Alert'; -import DocumentContent from 'shared/DocumentViewer/DocumentContent'; -import { getRequestStatus } from 'shared/Swagger/selectors'; -import { loadMove, selectMove } from 'shared/Entities/modules/moves'; -import { loadOrders, loadOrdersLabel } from 'shared/Entities/modules/orders'; -import { loadServiceMember, selectServiceMember } from 'shared/Entities/modules/serviceMembers'; -import { stringifyName } from 'shared/utils/serviceMember'; -import { selectOrdersById } from 'store/entities/selectors'; - -import './office.scss'; -import withRouter from 'utils/routing'; - -class OrdersInfo extends Component { - componentDidMount() { - this.props.loadMove(this.props.moveId); - } - - componentDidUpdate(prevProps) { - const { serviceMemberId, ordersId } = this.props; - // Both serviceMemberId and ordersId come from the move - // If we have one, we can safely assume we have the other - if (serviceMemberId !== prevProps.serviceMemberId) { - this.props.loadServiceMember(serviceMemberId); - this.props.loadOrders(ordersId); - } - } - - render() { - const { serviceMember, uploads } = this.props; - const name = stringifyName(serviceMember); - - if (!this.props.loadDependenciesHasSuccess && !this.props.loadDependenciesHasError) return ; - if (this.props.loadDependenciesHasError) - return ( -
-
-
- - Something went wrong contacting the server. - -
-
-
- ); - return ( -
-
-
- {uploads.map((upload) => ( - - ))} -
-
- -
-
-
- ); - } -} - -OrdersInfo.propTypes = { - loadMove: PropTypes.func.isRequired, -}; - -const mapStateToProps = (state, { router: { params } }) => { - const { moveId } = params; - const move = selectMove(state, moveId); - const ordersId = move.orders_id; - const orders = selectOrdersById(state, ordersId); - const uploads = orders?.uploaded_orders?.uploads || []; - const serviceMemberId = move.service_member_id; - const serviceMember = selectServiceMember(state, serviceMemberId); - const loadOrdersRequest = getRequestStatus(state, loadOrdersLabel); - - return { - swaggerError: state.swaggerInternal.hasErrored, - moveId, - ordersSchema: get(state, 'swaggerInternal.spec.definitions.CreateUpdateOrders', {}), - ordersId, - serviceMember, - serviceMemberId, - uploads, - loadDependenciesHasSuccess: loadOrdersRequest.isSuccess, - loadDependenciesHasError: loadOrdersRequest.error, - }; -}; - -const mapDispatchToProps = (dispatch) => bindActionCreators({ loadMove, loadOrders, loadServiceMember }, dispatch); - -export default withRouter(connect(mapStateToProps, mapDispatchToProps)(OrdersInfo)); diff --git a/src/scenes/Office/OrdersViewerPanel.js b/src/scenes/Office/OrdersViewerPanel.js deleted file mode 100644 index c346eb0e26e..00000000000 --- a/src/scenes/Office/OrdersViewerPanel.js +++ /dev/null @@ -1,156 +0,0 @@ -import React from 'react'; -import { connect } from 'react-redux'; -import { get } from 'lodash'; -import { Field, FormSection, getFormValues, reduxForm } from 'redux-form'; - -import { selectMove } from 'shared/Entities/modules/moves'; -import { selectServiceMemberForOrders, updateServiceMember } from 'shared/Entities/modules/serviceMembers'; -import { selectOrdersForMove, updateOrders } from 'shared/Entities/modules/orders'; -import { formatDate, formatDateTime } from 'utils/formatters'; -import { editablePanelify, PanelField, PanelSwaggerField, RowBasedHeader } from 'shared/EditablePanel'; -import { SwaggerField } from 'shared/JsonSchemaForm/JsonSchemaField'; -import LocationSearchBox from 'components/LocationSearchBox/LocationSearchBox'; -import { renderStatusIcon } from 'shared/utils'; - -import './office.scss'; - -const OrdersViewerDisplay = (props) => { - const { orders } = props; - const currentDutyLocation = get(orders, 'origin_duty_location.name', ''); - const uploads = get(orders, 'uploaded_orders.uploads', []); - const ordersFieldsProps = { - values: props.orders, - schema: props.ordersSchema, - }; - - return ( -
- {props.move.locator} - {props.serviceMember.edipi} -

- {renderStatusIcon(orders.status)} - Orders {orders.orders_number} ({formatDate(orders.issue_date)}) -

- {uploads.length > 0 && ( -

Uploaded {formatDateTime(orders.uploaded_orders.uploads[0].created_at)}

- )} - - - - - - - - - - - - - - - - {orders.has_dependents && } - - - - - - -
- ); -}; - -const OrdersViewerEdit = (props) => { - const { orders } = props; - const uploads = get(orders, 'uploaded_orders.uploads', []); - const schema = props.ordersSchema; - - return ( -
- {props.move.locator} - {props.serviceMember.edipi} - - {renderStatusIcon(orders.status)} - Orders {orders.orders_number} ({formatDate(orders.issue_date)}) - - {uploads.length > 0 && ( -

Uploaded {formatDateTime(orders.uploaded_orders.uploads[0].created_at)}

- )} - - - - - - - - - -
- -
-
- -
- -
- - - - -
-
- ); -}; - -const formName = 'orders_document_viewer'; - -const editEnabled = true; -let OrdersViewerPanel = editablePanelify(OrdersViewerDisplay, OrdersViewerEdit, editEnabled, RowBasedHeader); -OrdersViewerPanel = reduxForm({ form: formName })(OrdersViewerPanel); - -function mapStateToProps(state, ownProps) { - const { moveId } = ownProps; - const orders = selectOrdersForMove(state, moveId); - const serviceMember = selectServiceMemberForOrders(state, orders.id); - - return { - // reduxForm - initialValues: { - orders, - serviceMember, - }, - - ordersSchema: get(state, 'swaggerInternal.spec.definitions.Orders', {}), - - hasError: false, - isUpdating: false, - - orders, - serviceMember, - move: selectMove(state, moveId), - - // editablePanelify - getUpdateArgs() { - const values = getFormValues(formName)(state); - return [orders.id, values.orders, serviceMember.id, values.serviceMember]; - }, - }; -} - -function mapDispatchToProps(dispatch) { - const update = (ordersId, orders, serviceMemberId, serviceMember) => { - serviceMember.current_location_id = serviceMember.current_location.id; - dispatch(updateServiceMember(serviceMemberId, serviceMember)); - - if (!orders.has_dependents) { - orders.spouse_has_pro_gear = false; - } - - orders.new_duty_location_id = orders.new_duty_location.id; - dispatch(updateOrders(ordersId, orders)); - }; - - return { update }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(OrdersViewerPanel); diff --git a/src/store/entities/selectors.js b/src/store/entities/selectors.js index 356b6793ddc..68658bbd7bf 100644 --- a/src/store/entities/selectors.js +++ b/src/store/entities/selectors.js @@ -102,10 +102,6 @@ export const selectCurrentOrders = (state) => { return activeOrders || orders[0] || null; }; -export const selectOrdersById = (state, id) => { - return state.entities.orders?.[`${id}`] || null; -}; - export const selectUploadsForCurrentOrders = (state) => { const orders = selectCurrentOrders(state); return orders ? orders.uploaded_orders?.uploads : [];