From f265d0ff457199ae64d76cae1cfc3728a8aefa4a Mon Sep 17 00:00:00 2001 From: "maruyama.t" Date: Thu, 7 Mar 2024 10:41:30 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20812:=20=E3=80=8CoderLicense?= =?UTF-8?q?=E3=80=8D=E3=82=84=E3=80=8CCardLicense=E3=80=8D=E3=82=92?= =?UTF-8?q?=E9=96=8B=E3=81=84=E3=81=A6=E9=96=89=E3=81=98=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=81=8F=E3=81=9A=E3=83=AA=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=81=8C=E3=81=8A=E3=81=8B=E3=81=97=E3=81=8F=E3=81=AA=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task3771: 対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3771) ポップアップを×で閉じた際に、パンくずリストを保持したまま、`dispatch(getMyAccountAsync()`しており画面を初期化していた。 画面を更新するのかしないのかあいまいな挙動になっていた。 対応としては、他のポップアップと同様、×で閉じた場合は画面は更新しないように修正。 追加でパンくずリストを初期化する処理を作成し、ポップアップ側でAPIを呼び出した場合のみそれを実行する。 ## レビューポイント - 特筆する点はなし ## UIの変更 - スクショ置き場 https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task3771?csf=1&web=1&e=USf40m ## 動作確認状況 - ローカルで確認 ## 補足 - 相談、参考資料などがあれば --- .../features/license/partnerLicense/partnerLicenseSlice.ts | 4 ++++ .../src/pages/LicensePage/cardLicenseIssuePopup.tsx | 6 ++++++ .../src/pages/LicensePage/licenseOrderPopup.tsx | 6 ++++++ dictation_client/src/pages/LicensePage/partnerLicense.tsx | 3 --- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/dictation_client/src/features/license/partnerLicense/partnerLicenseSlice.ts b/dictation_client/src/features/license/partnerLicense/partnerLicenseSlice.ts index 8fd549a..ed843c4 100644 --- a/dictation_client/src/features/license/partnerLicense/partnerLicenseSlice.ts +++ b/dictation_client/src/features/license/partnerLicense/partnerLicenseSlice.ts @@ -61,6 +61,9 @@ export const partnerLicenseSlice = createSlice({ const { deleteCount } = action.payload; state.apps.hierarchicalElements.splice(-deleteCount); }, + clearHierarchicalElement: (state) => { + state.apps.hierarchicalElements = []; + }, changeSelectedRow: ( state, action: PayloadAction<{ value?: PartnerLicenseInfo }> @@ -110,6 +113,7 @@ export const { pushHierarchicalElement, popHierarchicalElement, spliceHierarchicalElement, + clearHierarchicalElement, changeSelectedRow, savePageInfo, } = partnerLicenseSlice.actions; diff --git a/dictation_client/src/pages/LicensePage/cardLicenseIssuePopup.tsx b/dictation_client/src/pages/LicensePage/cardLicenseIssuePopup.tsx index 9298a50..d3cd6fe 100644 --- a/dictation_client/src/pages/LicensePage/cardLicenseIssuePopup.tsx +++ b/dictation_client/src/pages/LicensePage/cardLicenseIssuePopup.tsx @@ -2,6 +2,10 @@ import React, { useState, useCallback, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { AppDispatch } from "app/store"; import { useDispatch, useSelector } from "react-redux"; +import { + clearHierarchicalElement, + getMyAccountAsync, +} from "features/license/partnerLicense"; import styles from "../../styles/app.module.scss"; import { getTranslationID } from "../../translation"; import close from "../../assets/images/close.svg"; @@ -92,6 +96,8 @@ export const CardLicenseIssuePopup: React.FC = ( setIsPushCreateButton(false); if (meta.requestStatus === "fulfilled") { + dispatch(getMyAccountAsync()); + dispatch(clearHierarchicalElement()); closePopup(); } }, [ diff --git a/dictation_client/src/pages/LicensePage/licenseOrderPopup.tsx b/dictation_client/src/pages/LicensePage/licenseOrderPopup.tsx index 8d46a79..a6dc34b 100644 --- a/dictation_client/src/pages/LicensePage/licenseOrderPopup.tsx +++ b/dictation_client/src/pages/LicensePage/licenseOrderPopup.tsx @@ -14,6 +14,10 @@ import { cleanupApps, selectIsLoading, } from "features/license/licenseOrder"; +import { + clearHierarchicalElement, + getMyAccountAsync, +} from "features/license/partnerLicense"; import close from "../../assets/images/close.svg"; import progress_activit from "../../assets/images/progress_activit.svg"; @@ -90,6 +94,8 @@ export const LicenseOrderPopup: React.FC = (props) => { setIsPushOrderButton(false); if (meta.requestStatus === "fulfilled") { + dispatch(getMyAccountAsync()); + dispatch(clearHierarchicalElement()); closePopup(); } }, [ diff --git a/dictation_client/src/pages/LicensePage/partnerLicense.tsx b/dictation_client/src/pages/LicensePage/partnerLicense.tsx index 6e72762..acc9801 100644 --- a/dictation_client/src/pages/LicensePage/partnerLicense.tsx +++ b/dictation_client/src/pages/LicensePage/partnerLicense.tsx @@ -216,13 +216,11 @@ const PartnerLicense: React.FC = (): JSX.Element => { return ( <> - {/* 表示確認用の仮画面 */} {/* isPopupOpenがfalseの場合はポップアップのhtmlを生成しないように対応。これによりポップアップは都度生成されて初期化の考慮が減る */} {isCardLicenseIssuePopupOpen && ( { setIsCardLicenseIssuePopupOpen(false); - dispatch(getMyAccountAsync()); }} /> )} @@ -230,7 +228,6 @@ const PartnerLicense: React.FC = (): JSX.Element => { { setIslicenseOrderPopupOpen(false); - dispatch(getMyAccountAsync()); }} /> )}