diff --git a/src/features/ModelPlan/ModelToOperations/Home/index.tsx b/src/features/ModelPlan/ModelToOperations/Home/index.tsx
index 535ca25109..56c4381def 100644
--- a/src/features/ModelPlan/ModelToOperations/Home/index.tsx
+++ b/src/features/ModelPlan/ModelToOperations/Home/index.tsx
@@ -2,7 +2,6 @@ import React, { useContext, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useHistory, useLocation, useParams } from 'react-router-dom';
import {
- Button,
Grid,
Header,
Icon,
@@ -20,9 +19,9 @@ import { ModelInfoContext } from 'contexts/ModelInfoContext';
import useCheckResponsiveScreen from 'hooks/useCheckMobile';
import useMessage from 'hooks/useMessage';
-import MTOModal from '../_components/FormModal';
import MTOStatusBanner from '../_components/StatusBanner';
import MTOTable from '../_components/Table';
+import MTOTableActions from '../_components/Table/Actions';
export type MTOOption = 'milestones' | 'systems-and-solutions';
@@ -35,7 +34,7 @@ const MTOHome = () => {
const { modelName } = useContext(ModelInfoContext);
- const { data, loading } = useGetModelToOperationsMatrixQuery({
+ const { data, loading, error, refetch } = useGetModelToOperationsMatrixQuery({
variables: {
id: modelID
}
@@ -47,7 +46,7 @@ const MTOHome = () => {
const location = useLocation();
- const { clearMessage, message } = useMessage();
+ const { message } = useMessage();
const params = useMemo(() => {
return new URLSearchParams(location.search);
@@ -59,12 +58,6 @@ const MTOHome = () => {
const [currentView, setCurrentView] = useState('milestones');
- const [isModalOpen, setIsModalOpen] = useState(false);
-
- const [modalType, setModalType] = useState<
- 'category' | 'milestone' | 'solution'
- >('category');
-
useEffect(() => {
if (viewparam && mtoOptions.includes(viewparam as MTOOption)) {
setCurrentView(viewparam as MTOOption);
@@ -85,7 +78,7 @@ const MTOHome = () => {
]}
/>
- {!isModalOpen && message && {message}}
+ {message && {message}}
@@ -165,55 +158,6 @@ const MTOHome = () => {
-
-
setIsModalOpen(false)}
- modalType={modalType}
- />
-
- {/*
- TEMPORARY
-
*/}
-
-
-
-
-
-
{isTablet && (
)}
- {currentView === 'milestones' && }
+ {currentView === 'milestones' && (
+ <>
+ refetch({ id: modelID })} />
+
+ >
+ )}
>
);
diff --git a/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/__snapshots__/index.test.tsx.snap b/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/__snapshots__/index.test.tsx.snap
index 8de16eb01f..0773d76c25 100644
--- a/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/__snapshots__/index.test.tsx.snap
+++ b/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/__snapshots__/index.test.tsx.snap
@@ -166,11 +166,13 @@ exports[`Custom Solution form > matches snapshot 1`] = `
>
Please double-check that you aren't creating an operational solution or IT system that already exists in the
-
solution library
-
+
.
diff --git a/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/index.tsx b/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/index.tsx
index 9763e570cc..eeb1a0c13f 100644
--- a/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/index.tsx
+++ b/src/features/ModelPlan/ModelToOperations/_components/AddCustomSolutionForm/index.tsx
@@ -6,7 +6,7 @@ import {
useForm
} from 'react-hook-form';
import { Trans, useTranslation } from 'react-i18next';
-import { useParams } from 'react-router-dom';
+import { useHistory, useParams } from 'react-router-dom';
import {
Button,
Fieldset,
@@ -39,6 +39,7 @@ const SolutionForm = ({ closeModal }: { closeModal: () => void }) => {
const { solutionType: solutionTypeConfig } =
usePlanTranslation('mtoSolution');
+ const history = useHistory();
const { modelID } = useParams<{ modelID: string }>();
const { message, showMessage, clearMessage } = useMessage();
@@ -262,8 +263,19 @@ const SolutionForm = ({ closeModal }: { closeModal: () => void }) => {
- // TODO: Add a link to the documentation
+ s: (
+
+ )
}}
/>
diff --git a/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/__snapshots__/index.test.tsx.snap b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/__snapshots__/index.test.tsx.snap
new file mode 100644
index 0000000000..31543e7419
--- /dev/null
+++ b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/__snapshots__/index.test.tsx.snap
@@ -0,0 +1,222 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`MTO Table Actions Component > renders correctly and matches snapshot 1`] = `
+
+
+
+
+ Table actions
+
+
+
+
+
+
+
+`;
diff --git a/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.scss b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.scss
new file mode 100644
index 0000000000..0c4f1c8745
--- /dev/null
+++ b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.scss
@@ -0,0 +1,36 @@
+@use 'viewports' as *;
+
+.action-buttons {
+ display: grid;
+ grid-template-rows: 1fr 1fr minmax(1fr, 133px);
+
+ & > div:not(:last-child) {
+ padding-bottom: 24px;
+ margin-bottom: 24px;
+ border-bottom: 1px solid #E6E6E6;
+ }
+
+ @media (min-width: $tablet) {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: minmax(1fr, 133px) minmax(1fr, 133px);
+
+ .action-button--category {
+ grid-column: 1 / span 2;
+ }
+ }
+
+ @media (min-width: $desktop) {
+ grid-template-columns: 1fr 1fr minmax(346px, 1fr);
+ grid-template-rows: 1fr;
+
+ .action-button--category {
+ grid-column: 3 / span 1;
+ }
+
+ & > div:not(:last-child) {
+ padding-bottom: 0;
+ margin-bottom: 0;
+ border-bottom: 0;
+ }
+ }
+}
diff --git a/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.test.tsx b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.test.tsx
new file mode 100644
index 0000000000..f9cba24a92
--- /dev/null
+++ b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.test.tsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import { MemoryRouter, Route } from 'react-router-dom';
+import { MockedProvider } from '@apollo/client/testing';
+import { render, screen, waitFor } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import {
+ commonMilestonesMock,
+ commonSolutionsMock,
+ modelID
+} from 'tests/mock/mto';
+
+import MessageProvider from 'contexts/MessageContext';
+
+import MTOTableActions from '.';
+
+describe('MTO Table Actions Component', () => {
+ it('renders correctly and matches snapshot', async () => {
+ const mockRefetch = vi.fn();
+
+ const { asFragment } = render(
+
+
+
+
+ mockRefetch({ id: modelID })} />
+
+
+
+
+ );
+
+ userEvent.click(screen.getAllByRole('button', { name: /Show actions/ })[0]);
+ await waitFor(async () => {
+ expect(screen.getByText(/1 common milestones/i)).toBeInTheDocument();
+ expect(
+ screen.getByText(/2 common solutions and IT systems/i)
+ ).toBeInTheDocument();
+ });
+
+ // Match the snapshot
+ expect(asFragment()).toMatchSnapshot();
+ });
+});
diff --git a/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.tsx b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.tsx
new file mode 100644
index 0000000000..67c31897f5
--- /dev/null
+++ b/src/features/ModelPlan/ModelToOperations/_components/Table/Actions/index.tsx
@@ -0,0 +1,275 @@
+import React, { useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useHistory, useParams } from 'react-router-dom';
+import { ApolloQueryResult } from '@apollo/client';
+import { Button, Icon } from '@trussworks/react-uswds';
+import {
+ GetModelToOperationsMatrixQuery,
+ GetModelToOperationsMatrixQueryVariables,
+ useCreateStandardCategoriesMutation,
+ useGetMtoCommonSolutionsQuery,
+ useGetMtoMilestonesQuery
+} from 'gql/generated/graphql';
+
+import useMessage from 'hooks/useMessage';
+
+import MTOModal from '../../FormModal';
+
+import './index.scss';
+
+const MTOTableActions = ({
+ refetch
+}: {
+ refetch: ({
+ variables
+ }: {
+ variables?: GetModelToOperationsMatrixQueryVariables;
+ }) => Promise>;
+}) => {
+ const { t } = useTranslation('modelToOperationsMisc');
+
+ const history = useHistory();
+ const { modelID } = useParams<{ modelID: string }>();
+
+ const { clearMessage } = useMessage();
+
+ const [isModalOpen, setIsModalOpen] = useState(false);
+ const [actionsMenuOpen, setActionsMenuOpen] = useState(false);
+
+ const [create] = useCreateStandardCategoriesMutation({
+ variables: { modelPlanID: modelID }
+ });
+
+ const [modalType, setModalType] = useState<
+ 'category' | 'milestone' | 'solution'
+ >('category');
+
+ const { data: milestoneData } = useGetMtoMilestonesQuery({
+ variables: { id: modelID }
+ });
+
+ const { data: solutionData } = useGetMtoCommonSolutionsQuery({
+ variables: { id: modelID }
+ });
+
+ const handleCreate = () => {
+ create().then(response => {
+ if (!response?.errors) {
+ // TODO: Add success message
+ // alert('Standard categories created successfully');
+ }
+ });
+ };
+
+ return (
+ <>
+ {
+ setIsModalOpen(false);
+ refetch({ variables: { id: modelID } });
+ }}
+ modalType={modalType}
+ />
+
+
+
+ {t('table.tableActions.tableActions')}
+
+
+
+
+ {actionsMenuOpen && (
+
+ {/* Milestone Buttons */}
+
+
+
+
+
+
+
+ {t('table.tableActions.milestones')}
+
+
+
+ {t('table.tableActions.commonMilestones', {
+ number:
+ milestoneData?.modelPlan?.mtoMatrix?.commonMilestones
+ ?.length
+ })}
+
+
+
+
+
+
+
+ {/* Operational Solution Buttons */}
+
+
+
+
+
+
+
+ {t('table.tableActions.operationalSolutions')}
+
+
+
+ {t('table.tableActions.commonSolutions', {
+ number:
+ solutionData?.modelPlan?.mtoMatrix?.commonSolutions
+ ?.length
+ })}
+
+
+
+
+
+
+
+ {/* Template and Categories Buttons */}
+
+
+
+
+
+
+ {t('table.tableActions.templateAndCategories')}
+
+
+
+ {t('table.tableActions.availableTemplates')}
+
+
+
+ {t('table.tableActions.standardCategories')}
+
+
+
+
+
+
+
+ )}
+
+ >
+ );
+};
+
+export default MTOTableActions;
diff --git a/src/features/ModelPlan/ModelToOperations/_components/Table/index.tsx b/src/features/ModelPlan/ModelToOperations/_components/Table/index.tsx
index 5965f0c0c7..8bd5e8e3bd 100644
--- a/src/features/ModelPlan/ModelToOperations/_components/Table/index.tsx
+++ b/src/features/ModelPlan/ModelToOperations/_components/Table/index.tsx
@@ -3,6 +3,7 @@ import { DndProvider } from 'react-dnd';
import { HTML5Backend } from 'react-dnd-html5-backend';
import { useTranslation } from 'react-i18next';
import { useParams } from 'react-router-dom';
+import { ApolloError } from '@apollo/client';
import { Button } from '@trussworks/react-uswds';
import classNames from 'classnames';
import { NotFoundPartial } from 'features/NotFound';
@@ -10,7 +11,6 @@ import {
GetModelToOperationsMatrixDocument,
GetModelToOperationsMatrixQuery,
ReorderMtoCategoryMutationVariables,
- useGetModelToOperationsMatrixQuery,
useReorderMtoCategoryMutation
} from 'gql/generated/graphql';
import i18next from 'i18next';
@@ -42,7 +42,15 @@ export type GetModelToOperationsMatrixQueryType =
type GetModelToOperationsMatrixCategoryType =
GetModelToOperationsMatrixQueryType['categories'];
-const MTOTable = () => {
+const MTOTable = ({
+ queryData,
+ loading,
+ error
+}: {
+ queryData?: GetModelToOperationsMatrixQuery;
+ loading: boolean;
+ error?: ApolloError;
+}) => {
const { t } = useTranslation('modelToOperationsMisc');
const { modelID } = useParams<{ modelID: string }>();
@@ -58,16 +66,6 @@ const MTOTable = () => {
]
});
- const {
- data: queryData,
- loading,
- error
- } = useGetModelToOperationsMatrixQuery({
- variables: {
- id: modelID
- }
- });
-
const formattedData = useMemo(
() =>
formatAndHomogenizeMilestoneData(
diff --git a/src/gql/generated/graphql.ts b/src/gql/generated/graphql.ts
index 998e9af080..f79fc50ce2 100644
--- a/src/gql/generated/graphql.ts
+++ b/src/gql/generated/graphql.ts
@@ -5460,6 +5460,13 @@ export type CreateMtoSolutionCustomMutationVariables = Exact<{
export type CreateMtoSolutionCustomMutation = { __typename: 'Mutation', createMTOSolutionCustom: { __typename: 'MTOSolution', id: UUID, name?: string | null, status: MtoSolutionStatus, pocName?: string | null, pocEmail?: string | null, type?: MtoSolutionType | null } };
+export type CreateStandardCategoriesMutationVariables = Exact<{
+ modelPlanID: Scalars['UUID']['input'];
+}>;
+
+
+export type CreateStandardCategoriesMutation = { __typename: 'Mutation', createStandardCategories: boolean };
+
export type GetCustomMtoSolutionsQueryVariables = Exact<{
id: Scalars['UUID']['input'];
}>;
@@ -5481,6 +5488,13 @@ export type GetMtoMilestonesQueryVariables = Exact<{
export type GetMtoMilestonesQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, mtoMatrix: { __typename: 'ModelsToOperationMatrix', commonMilestones: Array<{ __typename: 'MTOCommonMilestone', name: string, key: MtoCommonMilestoneKey, isAdded: boolean, isSuggested: boolean, categoryName: string, subCategoryName?: string | null, facilitatedByRole: Array, commonSolutions: Array<{ __typename: 'MTOCommonSolution', key: MtoCommonSolutionKey }> }> } } };
+export type GetMtoCommonSolutionsQueryVariables = Exact<{
+ id: Scalars['UUID']['input'];
+}>;
+
+
+export type GetMtoCommonSolutionsQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, mtoMatrix: { __typename: 'ModelsToOperationMatrix', commonSolutions: Array<{ __typename: 'MTOCommonSolution', name: string }> } } };
+
export type GetModelToOperationsMatrixQueryVariables = Exact<{
id: Scalars['UUID']['input'];
}>;
@@ -11233,6 +11247,37 @@ export function useCreateMtoSolutionCustomMutation(baseOptions?: Apollo.Mutation
export type CreateMtoSolutionCustomMutationHookResult = ReturnType;
export type CreateMtoSolutionCustomMutationResult = Apollo.MutationResult;
export type CreateMtoSolutionCustomMutationOptions = Apollo.BaseMutationOptions;
+export const CreateStandardCategoriesDocument = gql`
+ mutation CreateStandardCategories($modelPlanID: UUID!) {
+ createStandardCategories(modelPlanID: $modelPlanID)
+}
+ `;
+export type CreateStandardCategoriesMutationFn = Apollo.MutationFunction;
+
+/**
+ * __useCreateStandardCategoriesMutation__
+ *
+ * To run a mutation, you first call `useCreateStandardCategoriesMutation` within a React component and pass it any options that fit your needs.
+ * When your component renders, `useCreateStandardCategoriesMutation` returns a tuple that includes:
+ * - A mutate function that you can call at any time to execute the mutation
+ * - An object with fields that represent the current status of the mutation's execution
+ *
+ * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
+ *
+ * @example
+ * const [createStandardCategoriesMutation, { data, loading, error }] = useCreateStandardCategoriesMutation({
+ * variables: {
+ * modelPlanID: // value for 'modelPlanID'
+ * },
+ * });
+ */
+export function useCreateStandardCategoriesMutation(baseOptions?: Apollo.MutationHookOptions) {
+ const options = {...defaultOptions, ...baseOptions}
+ return Apollo.useMutation(CreateStandardCategoriesDocument, options);
+ }
+export type CreateStandardCategoriesMutationHookResult = ReturnType;
+export type CreateStandardCategoriesMutationResult = Apollo.MutationResult;
+export type CreateStandardCategoriesMutationOptions = Apollo.BaseMutationOptions;
export const GetCustomMtoSolutionsDocument = gql`
query GetCustomMTOSolutions($id: UUID!) {
modelPlan(id: $id) {
@@ -11383,6 +11428,51 @@ export type GetMtoMilestonesQueryHookResult = ReturnType;
export type GetMtoMilestonesSuspenseQueryHookResult = ReturnType;
export type GetMtoMilestonesQueryResult = Apollo.QueryResult;
+export const GetMtoCommonSolutionsDocument = gql`
+ query GetMTOCommonSolutions($id: UUID!) {
+ modelPlan(id: $id) {
+ id
+ mtoMatrix {
+ commonSolutions {
+ name
+ }
+ }
+ }
+}
+ `;
+
+/**
+ * __useGetMtoCommonSolutionsQuery__
+ *
+ * To run a query within a React component, call `useGetMtoCommonSolutionsQuery` and pass it any options that fit your needs.
+ * When your component renders, `useGetMtoCommonSolutionsQuery` returns an object from Apollo Client that contains loading, error, and data properties
+ * you can use to render your UI.
+ *
+ * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
+ *
+ * @example
+ * const { data, loading, error } = useGetMtoCommonSolutionsQuery({
+ * variables: {
+ * id: // value for 'id'
+ * },
+ * });
+ */
+export function useGetMtoCommonSolutionsQuery(baseOptions: Apollo.QueryHookOptions & ({ variables: GetMtoCommonSolutionsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {
+ const options = {...defaultOptions, ...baseOptions}
+ return Apollo.useQuery(GetMtoCommonSolutionsDocument, options);
+ }
+export function useGetMtoCommonSolutionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {
+ const options = {...defaultOptions, ...baseOptions}
+ return Apollo.useLazyQuery(GetMtoCommonSolutionsDocument, options);
+ }
+export function useGetMtoCommonSolutionsSuspenseQuery(baseOptions?: Apollo.SkipToken | Apollo.SuspenseQueryHookOptions) {
+ const options = baseOptions === Apollo.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}
+ return Apollo.useSuspenseQuery(GetMtoCommonSolutionsDocument, options);
+ }
+export type GetMtoCommonSolutionsQueryHookResult = ReturnType;
+export type GetMtoCommonSolutionsLazyQueryHookResult = ReturnType;
+export type GetMtoCommonSolutionsSuspenseQueryHookResult = ReturnType;
+export type GetMtoCommonSolutionsQueryResult = Apollo.QueryResult;
export const GetModelToOperationsMatrixDocument = gql`
query GetModelToOperationsMatrix($id: UUID!) {
modelPlan(id: $id) {
@@ -14475,9 +14565,11 @@ export const TypedCreateMtoCategoryDocument = {"kind":"Document","definitions":[
export const TypedCreateMtoMilestoneDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateMTOMilestone"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commonMilestoneKey"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MTOCommonMilestoneKey"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commonSolutions"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MTOCommonSolutionKey"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createMTOMilestoneCommon"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"modelPlanID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}}},{"kind":"Argument","name":{"kind":"Name","value":"commonMilestoneKey"},"value":{"kind":"Variable","name":{"kind":"Name","value":"commonMilestoneKey"}}},{"kind":"Argument","name":{"kind":"Name","value":"commonSolutions"},"value":{"kind":"Variable","name":{"kind":"Name","value":"commonSolutions"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]} as unknown as DocumentNode;
export const TypedCreateMtoMilestoneCustomDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateMTOMilestoneCustom"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"mtoCategoryID"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createMTOMilestoneCustom"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"modelPlanID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}},{"kind":"Argument","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"Argument","name":{"kind":"Name","value":"mtoCategoryID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"mtoCategoryID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]} as unknown as DocumentNode;
export const TypedCreateMtoSolutionCustomDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateMTOSolutionCustom"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"solutionType"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MTOSolutionType"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pocName"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pocEmail"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createMTOSolutionCustom"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"modelPlanID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}}},{"kind":"Argument","name":{"kind":"Name","value":"solutionType"},"value":{"kind":"Variable","name":{"kind":"Name","value":"solutionType"}}},{"kind":"Argument","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"Argument","name":{"kind":"Name","value":"pocName"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pocName"}}},{"kind":"Argument","name":{"kind":"Name","value":"pocEmail"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pocEmail"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"pocName"}},{"kind":"Field","name":{"kind":"Name","value":"pocEmail"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}}]} as unknown as DocumentNode;
+export const TypedCreateStandardCategoriesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateStandardCategories"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createStandardCategories"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"modelPlanID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelPlanID"}}}]}]}}]} as unknown as DocumentNode;
export const TypedGetCustomMtoSolutionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetCustomMTOSolutions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mtoMatrix"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"solutions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"addedFromSolutionLibrary"}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const TypedGetMtoCategoriesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetMTOCategories"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"mtoMatrix"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"subCategories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const TypedGetMtoMilestonesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetMTOMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mtoMatrix"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"commonMilestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"isAdded"}},{"kind":"Field","name":{"kind":"Name","value":"isSuggested"}},{"kind":"Field","name":{"kind":"Name","value":"categoryName"}},{"kind":"Field","name":{"kind":"Name","value":"subCategoryName"}},{"kind":"Field","name":{"kind":"Name","value":"facilitatedByRole"}},{"kind":"Field","name":{"kind":"Name","value":"commonSolutions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode;
+export const TypedGetMtoCommonSolutionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetMTOCommonSolutions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mtoMatrix"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"commonSolutions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const TypedGetModelToOperationsMatrixDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetModelToOperationsMatrix"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mtoMatrix"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"isUncategorized"}},{"kind":"Field","name":{"kind":"Name","value":"subCategories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"isUncategorized"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"facilitatedBy"}},{"kind":"Field","name":{"kind":"Name","value":"needBy"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"riskIndicator"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"recentEdit"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"id"},"name":{"kind":"Name","value":"modifiedBy"}},{"kind":"Field","name":{"kind":"Name","value":"modifiedByUserAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"modifiedDts"}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const TypedGetMilestoneSuggestedAnswerDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetMilestoneSuggestedAnswer"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"generalCharacteristics"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"participantsAndProviders"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"beneficiaries"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"opsEvalAndLearning"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"payments"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"managePartCDEnrollment"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"collectPlanBids"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"planContractUpdated"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agreementTypes"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"recruitmentMethod"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"selectionMethod"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"communicationMethod"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"providerOverlap"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"participantsIds"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"beneficiaryOverlap"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"helpdeskUse"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"iddocSupport"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"benchmarkForPerformance"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appealPerformance"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appealFeedback"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appealPayments"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appealOther"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evaluationApproaches"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dataNeededForMonitoring"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dataToSendParticicipants"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelLearningSystems"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"developNewQualityMeasures"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"payType"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"shouldAnyProvidersExcludedFFSSystems"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"nonClaimsPayments"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"willRecoverPayments"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelPlan"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"generalCharacteristics"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"generalCharacteristics"}}}]}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"managePartCDEnrollment"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"managePartCDEnrollment"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"collectPlanBids"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"collectPlanBids"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"planContractUpdated"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"planContractUpdated"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"agreementTypes"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agreementTypes"}}}]}]}]}},{"kind":"Field","name":{"kind":"Name","value":"participantsAndProviders"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"participantsAndProviders"}}}]}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"recruitmentMethod"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"recruitmentMethod"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"selectionMethod"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"selectionMethod"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"communicationMethod"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"communicationMethod"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"providerOverlap"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"providerOverlap"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"participantsIds"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"participantsIds"}}}]}]}]}},{"kind":"Field","name":{"kind":"Name","value":"beneficiaries"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"beneficiaries"}}}]}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"beneficiaryOverlap"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"beneficiaryOverlap"}}}]}]}]}},{"kind":"Field","name":{"kind":"Name","value":"opsEvalAndLearning"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"opsEvalAndLearning"}}}]}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"helpdeskUse"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"helpdeskUse"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"iddocSupport"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"iddocSupport"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"benchmarkForPerformance"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"benchmarkForPerformance"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"appealPerformance"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appealPerformance"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"appealFeedback"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appealFeedback"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"appealPayments"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appealPayments"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"appealOther"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appealOther"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"evaluationApproaches"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evaluationApproaches"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"dataNeededForMonitoring"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dataNeededForMonitoring"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"dataToSendParticicipants"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dataToSendParticicipants"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"modelLearningSystems"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelLearningSystems"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"developNewQualityMeasures"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"developNewQualityMeasures"}}}]}]}]}},{"kind":"Field","name":{"kind":"Name","value":"payments"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"payments"}}}]}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"payType"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"payType"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"shouldAnyProvidersExcludedFFSSystems"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"shouldAnyProvidersExcludedFFSSystems"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"nonClaimsPayments"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"nonClaimsPayments"}}}]}]},{"kind":"Field","name":{"kind":"Name","value":"willRecoverPayments"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"include"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"if"},"value":{"kind":"Variable","name":{"kind":"Name","value":"willRecoverPayments"}}}]}]}]}}]}}]}}]} as unknown as DocumentNode;
export const TypedReorderMtoCategoryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ReorderMTOCategory"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"newOrder"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"parentID"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"reorderMTOCategory"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}},{"kind":"Argument","name":{"kind":"Name","value":"newOrder"},"value":{"kind":"Variable","name":{"kind":"Name","value":"newOrder"}}},{"kind":"Argument","name":{"kind":"Name","value":"parentID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"parentID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode;
diff --git a/src/gql/operations/ModelToOperations/CreateStandardCategories.ts b/src/gql/operations/ModelToOperations/CreateStandardCategories.ts
new file mode 100644
index 0000000000..ba9b5a7b47
--- /dev/null
+++ b/src/gql/operations/ModelToOperations/CreateStandardCategories.ts
@@ -0,0 +1,7 @@
+import { gql } from '@apollo/client';
+
+export default gql(/* GraphQL */ `
+ mutation CreateStandardCategories($modelPlanID: UUID!) {
+ createStandardCategories(modelPlanID: $modelPlanID)
+ }
+`);
diff --git a/src/gql/operations/ModelToOperations/GetMTOCommonSolutions.ts b/src/gql/operations/ModelToOperations/GetMTOCommonSolutions.ts
new file mode 100644
index 0000000000..026f7effa1
--- /dev/null
+++ b/src/gql/operations/ModelToOperations/GetMTOCommonSolutions.ts
@@ -0,0 +1,14 @@
+import { gql } from '@apollo/client';
+
+export default gql(/* GraphQL */ `
+ query GetMTOCommonSolutions($id: UUID!) {
+ modelPlan(id: $id) {
+ id
+ mtoMatrix {
+ commonSolutions {
+ name
+ }
+ }
+ }
+ }
+`);
diff --git a/src/i18n/en-US/modelPlan/modelToOperations.ts b/src/i18n/en-US/modelPlan/modelToOperations.ts
index 485a199b9f..838705cf8c 100644
--- a/src/i18n/en-US/modelPlan/modelToOperations.ts
+++ b/src/i18n/en-US/modelPlan/modelToOperations.ts
@@ -230,6 +230,22 @@ export const modelToOperationsMisc: Record = {
editSubCategoryTitle: 'Edit sub-category title',
removeCategory: 'Remove category',
removeSubCategory: 'Remove sub-category'
+ },
+ tableActions: {
+ tableActions: 'Table actions',
+ showActions: 'Show actions',
+ hideActions: 'Hide actions',
+ milestones: 'Milestones',
+ commonMilestones: '{{number}} common milestones',
+ browseMilestoneLibrary: 'Browse milestone library',
+ operationalSolutions: 'Operational solutions',
+ commonSolutions: '{{number}} common solutions and IT systems',
+ browseSolutionLibrary: 'Browse solution library',
+ templateAndCategories: 'Templates and categories',
+ availableTemplates: '1 available template',
+ standardCategories: 'Standard categories',
+ addThisTemplate: 'Add this template',
+ addCustomCategory: 'or, add a custom category'
}
},
errorReorder: 'Failed to reorder the MTO matrix. Please try again.',
diff --git a/src/stylesheets/_viewports.scss b/src/stylesheets/_viewports.scss
index a48197f9ee..44113092c1 100644
--- a/src/stylesheets/_viewports.scss
+++ b/src/stylesheets/_viewports.scss
@@ -1,5 +1,6 @@
$mobile: 480px;
$tablet: 640px;
+$tablet-lg: 880px;
$desktop: 1024px;
$xl: 1280px;
$xxl: 1400px;
diff --git a/src/stylesheets/custom.scss b/src/stylesheets/custom.scss
index f92b509893..c49fc8fb11 100644
--- a/src/stylesheets/custom.scss
+++ b/src/stylesheets/custom.scss
@@ -82,7 +82,27 @@
.width-fit-content {
- width: fit-content;
+ width: fit-content !important;
+}
+@media (min-width: $mobile) {
+ .mobile\:width-fit-content {
+ width: fit-content !important;
+ }
+}
+@media (min-width: $tablet) {
+ .tablet\:width-fit-content {
+ width: fit-content !important;
+ }
+}
+@media (min-width: $tablet-lg) {
+ .tablet-lg\:width-fit-content {
+ width: fit-content !important;
+ }
+}
+@media (min-width: $desktop) {
+ .desktop\:width-fit-content {
+ width: fit-content !important;
+ }
}
.usa-date-picker__calendar {
diff --git a/src/tests/mock/mto.ts b/src/tests/mock/mto.ts
index 8315f51ecf..1ee2b30e23 100644
--- a/src/tests/mock/mto.ts
+++ b/src/tests/mock/mto.ts
@@ -1,9 +1,11 @@
import {
GetMilestoneSuggestedAnswerDocument,
- GetMtoMilestonesDocument
+ GetMtoCommonSolutionsDocument,
+ GetMtoMilestonesDocument,
+ MtoCommonMilestoneKey
} from 'gql/generated/graphql';
-const modelID = 'ce3405a0-3399-4e3a-88d7-3cfc613d2905';
+export const modelID = 'ce3405a0-3399-4e3a-88d7-3cfc613d2905';
export const commonMilestonesMock = [
{
@@ -19,11 +21,12 @@ export const commonMilestonesMock = [
__typename: 'ModelPlan',
id: modelID,
mtoMatrix: {
+ __typename: 'ModelsToOperationMatrix',
commonMilestones: [
{
__typename: 'MTOCommonMilestone',
name: 'Test Milestone',
- key: 'ACQUIRE_AN_EVAL_CONT',
+ key: MtoCommonMilestoneKey.ACQUIRE_AN_EVAL_CONT,
isAdded: false,
isSuggested: true,
categoryName: 'Test Category',
@@ -37,6 +40,38 @@ export const commonMilestonesMock = [
}
];
+export const commonSolutionsMock = [
+ {
+ request: {
+ query: GetMtoCommonSolutionsDocument,
+ variables: {
+ id: modelID
+ }
+ },
+ result: {
+ data: {
+ modelPlan: {
+ __typename: 'ModelPlan',
+ id: modelID,
+ mtoMatrix: {
+ __typename: 'ModelsToOperationMatrix',
+ commonSolutions: [
+ {
+ __typename: 'MTOCommonSolution',
+ name: 'common solution 1'
+ },
+ {
+ __typename: 'MTOCommonSolution',
+ name: 'common solution 2'
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+];
+
export const suggestedMilestonesMock = [
{
request: {