Просмотр исходного кода

132486 create open modal handler

soumaeda 2 лет назад
Родитель
Сommit
b3a6d2e1f3

+ 5 - 1
apps/app/src/components/Navbar/GrowiContextualSubNavigation.tsx

@@ -214,6 +214,10 @@ const GrowiContextualSubNavigation = (props: GrowiContextualSubNavigationProps):
 
   const { isLinkSharingDisabled } = props;
 
+  const tagEditHandler = () => {
+    openTagEditModal(tagsInfoData?.tags, pageId, revisionId);
+  };
+
   const duplicateItemClickedHandler = useCallback(async(page: IPageForPageDuplicateModal) => {
     const duplicatedHandler: OnDuplicatedFunction = (fromPath, toPath) => {
       router.push(toPath);
@@ -314,7 +318,7 @@ const GrowiContextualSubNavigation = (props: GrowiContextualSubNavigationProps):
               showPageControlDropdown={isAbleToShowPageManagement}
               isReadOnlyUser={isReadOnlyUser}
               isGuestUser={isGuestUser}
-              openTagEditModal={() => openTagEditModal(tagsInfoData?.tags, pageId, revisionId)}
+              openTagEditModal={tagEditHandler}
               additionalMenuItemRenderer={additionalMenuItemsRenderer}
               onClickDuplicateMenuItem={duplicateItemClickedHandler}
               onClickRenameMenuItem={renameItemClickedHandler}

+ 0 - 2
apps/app/src/components/PageControls/PageControls.tsx

@@ -42,10 +42,8 @@ const Tags = (props: TagsProps): JSX.Element => {
     isGuestUser, isReadOnlyUser, openTagEditModal,
   } = props;
 
-
   const isTagLabelsDisabled = !!isGuestUser || !!isReadOnlyUser;
 
-
   return (
     <div className="grw-taglabels-container d-flex align-items-center">
       <a

+ 1 - 1
apps/app/src/components/PageTags/TagEditModal.tsx

@@ -32,11 +32,11 @@ export const TagEditModal: React.FC = () => {
       updateStateAfterSave?.();
 
       toastSuccess('updated tags successfully');
+      closeTagEditModal();
     }
     catch (err) {
       toastError(err);
     }
-    closeTagEditModal();
   }, [closeTagEditModal, pageId, revisionId, updateStateAfterSave]);
 
   return (

+ 1 - 1
apps/app/src/components/PageTags/TagsInput.tsx

@@ -17,7 +17,7 @@ type TypeaheadInstance = {
 type Props = {
   tags?: string[],
   autoFocus: boolean,
-  onTagsUpdated: (tags?: string[] | undefined) => void;
+  onTagsUpdated: (tags?: string[] | undefined) => void,
 }
 
 export const TagsInput: FC<Props> = (props: Props) => {

+ 5 - 6
apps/app/src/stores/modal.tsx

@@ -3,16 +3,14 @@ import { useCallback, useMemo } from 'react';
 import type {
   IAttachmentHasId, IPageToDeleteWithMeta, IPageToRenameWithMeta, IUserGroupHasId,
 } from '@growi/core';
-import useSWR, { SWRResponse, mutate } from 'swr';
+import { SWRResponse } from 'swr';
 
 import Linker from '~/client/models/Linker';
 import MarkdownTable from '~/client/models/MarkdownTable';
 import { BookmarkFolderItems } from '~/interfaces/bookmark-info';
-import { IPageTagsInfo } from '~/interfaces/tag';
 import type {
   OnDuplicatedFunction, OnRenamedFunction, OnDeletedFunction, OnPutBackedFunction, onDeletedBookmarkFolderFunction, OnSelectedFunction,
 } from '~/interfaces/ui';
-import { tags } from '~/services/xss/recommended-whitelist';
 import loggerFactory from '~/utils/logger';
 
 import { useStaticSWR } from './use-static-swr';
@@ -776,7 +774,9 @@ export const usePageSelectModal = (
   };
 };
 
-
+/*
+* TagEditModal
+*/
 type TagEditModalStatus = {
   tags: string[],
   isOpen: boolean,
@@ -789,7 +789,6 @@ type TagEditModalUtils = {
   close(): Promise<void>,
 }
 
-
 export const useTagEditModal = (): SWRResponse<TagEditModalStatus, Error> & TagEditModalUtils => {
   const initialStatus: TagEditModalStatus = {
     isOpen: false,
@@ -801,7 +800,7 @@ export const useTagEditModal = (): SWRResponse<TagEditModalStatus, Error> & TagE
   const swrResponse = useStaticSWR<TagEditModalStatus, Error>('TagEditModal', undefined, { fallbackData: initialStatus });
   const { mutate } = swrResponse;
 
-  const open = async(tags, pageId, revisionId) => {
+  const open = async(tags: string[], pageId: string, revisionId: string) => {
     mutate({
       isOpen: true,
       tags,