Shun Miyazawa 3 лет назад
Родитель
Сommit
cdfeafc064

+ 2 - 0
packages/app/src/client/services/ContextExtractor.tsx

@@ -19,6 +19,7 @@ import {
   useNotFoundTargetPathOrId, useIsSearchPage, useIsForbidden, useIsIdenticalPath, useHasParent,
   useNotFoundTargetPathOrId, useIsSearchPage, useIsForbidden, useIsIdenticalPath, useHasParent,
   useIsAclEnabled, useIsSearchServiceConfigured, useIsSearchServiceReachable, useIsEnabledAttachTitleHeader, useIsNotFoundPermalink,
   useIsAclEnabled, useIsSearchServiceConfigured, useIsSearchServiceReachable, useIsEnabledAttachTitleHeader, useIsNotFoundPermalink,
   useDefaultIndentSize, useIsIndentSizeForced, useCsrfToken, useIsEmptyPage, useEmptyPageId, useGrowiVersion, useActivityExpirationSeconds,
   useDefaultIndentSize, useIsIndentSizeForced, useCsrfToken, useIsEmptyPage, useEmptyPageId, useGrowiVersion, useActivityExpirationSeconds,
+  useAuditLogAvailableActions,
 } from '../../stores/context';
 } from '../../stores/context';
 
 
 const { isTrashPage: _isTrashPage } = pagePathUtils;
 const { isTrashPage: _isTrashPage } = pagePathUtils;
@@ -124,6 +125,7 @@ const ContextExtractorOnce: FC = () => {
   useIsIndentSizeForced(configByContextHydrate.isIndentSizeForced);
   useIsIndentSizeForced(configByContextHydrate.isIndentSizeForced);
   useDefaultIndentSize(configByContextHydrate.adminPreferredIndentSize);
   useDefaultIndentSize(configByContextHydrate.adminPreferredIndentSize);
   useActivityExpirationSeconds(configByContextHydrate.activityExpirationSeconds);
   useActivityExpirationSeconds(configByContextHydrate.activityExpirationSeconds);
+  useAuditLogAvailableActions(configByContextHydrate.auditLogAvailableActions);
   useGrowiVersion(configByContextHydrate.crowi.version);
   useGrowiVersion(configByContextHydrate.crowi.version);
 
 
   // Page
   // Page

+ 2 - 3
packages/app/src/components/Admin/AuditLog/AuditLogSettings.tsx

@@ -3,8 +3,7 @@ import React, { FC, useState } from 'react';
 import { useTranslation } from 'react-i18next';
 import { useTranslation } from 'react-i18next';
 import { Collapse } from 'reactstrap';
 import { Collapse } from 'reactstrap';
 
 
-import { useSWRxAvailableActions } from '~/stores/activity';
-import { useActivityExpirationSeconds } from '~/stores/context';
+import { useActivityExpirationSeconds, useAuditLogAvailableActions } from '~/stores/context';
 
 
 export const AuditLogSettings: FC = () => {
 export const AuditLogSettings: FC = () => {
   const { t } = useTranslation();
   const { t } = useTranslation();
@@ -14,7 +13,7 @@ export const AuditLogSettings: FC = () => {
   const { data: activityExpirationSecondsData } = useActivityExpirationSeconds();
   const { data: activityExpirationSecondsData } = useActivityExpirationSeconds();
   const activityExpirationSeconds = activityExpirationSecondsData != null ? activityExpirationSecondsData : 2592000;
   const activityExpirationSeconds = activityExpirationSecondsData != null ? activityExpirationSecondsData : 2592000;
 
 
-  const { data: availableActionsData } = useSWRxAvailableActions();
+  const { data: availableActionsData } = useAuditLogAvailableActions();
   const availableActions = availableActionsData != null ? availableActionsData : [];
   const availableActions = availableActionsData != null ? availableActionsData : [];
 
 
   return (
   return (

+ 1 - 0
packages/app/src/server/models/config.ts

@@ -246,6 +246,7 @@ schema.statics.getLocalconfig = function(crowi) {
     pageLimitationL: crowi.configManager.getConfig('crowi', 'customize:showPageLimitationL'),
     pageLimitationL: crowi.configManager.getConfig('crowi', 'customize:showPageLimitationL'),
     pageLimitationXL: crowi.configManager.getConfig('crowi', 'customize:showPageLimitationXL'),
     pageLimitationXL: crowi.configManager.getConfig('crowi', 'customize:showPageLimitationXL'),
     activityExpirationSeconds: crowi.configManager.getConfig('crowi', 'app:activityExpirationSeconds'),
     activityExpirationSeconds: crowi.configManager.getConfig('crowi', 'app:activityExpirationSeconds'),
+    auditLogAvailableActions: crowi.activityService.getAvailableActions(false),
     isSidebarDrawerMode: crowi.configManager.getConfig('crowi', 'customize:isSidebarDrawerMode'),
     isSidebarDrawerMode: crowi.configManager.getConfig('crowi', 'customize:isSidebarDrawerMode'),
     isSidebarClosedAtDockMode: crowi.configManager.getConfig('crowi', 'customize:isSidebarClosedAtDockMode'),
     isSidebarClosedAtDockMode: crowi.configManager.getConfig('crowi', 'customize:isSidebarClosedAtDockMode'),
   };
   };

+ 6 - 0
packages/app/src/stores/context.tsx

@@ -3,6 +3,8 @@ import { Key, SWRResponse } from 'swr';
 import useSWRImmutable from 'swr/immutable';
 import useSWRImmutable from 'swr/immutable';
 
 
 
 
+import { SupportedActionType } from '~/interfaces/activity';
+
 import { TargetAndAncestors, IsNotFoundPermalink } from '../interfaces/page-listing-results';
 import { TargetAndAncestors, IsNotFoundPermalink } from '../interfaces/page-listing-results';
 import { IUser } from '../interfaces/user';
 import { IUser } from '../interfaces/user';
 
 
@@ -179,6 +181,10 @@ export const useActivityExpirationSeconds = (initialData?: number) : SWRResponse
   return useStaticSWR<number, Error>('activityExpirationSeconds', initialData);
   return useStaticSWR<number, Error>('activityExpirationSeconds', initialData);
 };
 };
 
 
+export const useAuditLogAvailableActions = (initialData?: Array<SupportedActionType>) : SWRResponse<Array<SupportedActionType>, Error> => {
+  return useStaticSWR<Array<SupportedActionType>, Error>('auditLogAvailableActions', initialData);
+};
+
 export const useGrowiVersion = (initialData?: string): SWRResponse<string, any> => {
 export const useGrowiVersion = (initialData?: string): SWRResponse<string, any> => {
   return useStaticSWR('growiVersion', initialData);
   return useStaticSWR('growiVersion', initialData);
 };
 };