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

declear useNoCdn and useUploadableFile

kaori 3 лет назад
Родитель
Сommit
26d46b3da8

+ 3 - 1
packages/app/src/client/services/ContextExtractor.tsx

@@ -22,7 +22,7 @@ import {
   useIsSearchPage, useIsForbidden, useIsIdenticalPath, useHasParent,
   useIsSearchPage, useIsForbidden, useIsIdenticalPath, useHasParent,
   useIsAclEnabled, useIsSearchServiceConfigured, useIsSearchServiceReachable, useIsEnabledAttachTitleHeader,
   useIsAclEnabled, useIsSearchServiceConfigured, useIsSearchServiceReachable, useIsEnabledAttachTitleHeader,
   useDefaultIndentSize, useIsIndentSizeForced, useCsrfToken, useGrowiVersion, useAuditLogEnabled,
   useDefaultIndentSize, useIsIndentSizeForced, useCsrfToken, useGrowiVersion, useAuditLogEnabled,
-  useActivityExpirationSeconds, useAuditLogAvailableActions, useRendererConfig,
+  useActivityExpirationSeconds, useAuditLogAvailableActions, useRendererConfig, useNoCdn, useUploadableFile,
 } from '../../stores/context';
 } from '../../stores/context';
 
 
 const { isTrashPage: _isTrashPage } = pagePathUtils;
 const { isTrashPage: _isTrashPage } = pagePathUtils;
@@ -133,6 +133,8 @@ const ContextExtractorOnce: FC = () => {
     plantumlUri: configByContextHydrate.env.PLANTUML_URI,
     plantumlUri: configByContextHydrate.env.PLANTUML_URI,
     blockdiagUri: configByContextHydrate.env.BLOCKDIAG_URI,
     blockdiagUri: configByContextHydrate.env.BLOCKDIAG_URI,
   });
   });
+  useNoCdn(configByContextHydrate.env.NO_CDN);
+  useUploadableFile(configByContextHydrate.upload.file);
 
 
   // Page
   // Page
   useDeleteUsername(deleteUsername);
   useDeleteUsername(deleteUsername);

+ 7 - 7
packages/app/src/components/PageEditor.tsx

@@ -14,7 +14,7 @@ import { throttle, debounce } from 'throttle-debounce';
 import { apiGet, apiPostForm } from '~/client/util/apiv1-client';
 import { apiGet, apiPostForm } from '~/client/util/apiv1-client';
 import { getOptionsToSave } from '~/client/util/editor';
 import { getOptionsToSave } from '~/client/util/editor';
 import {
 import {
-  useIsEditable, useIsIndentSizeForced, useCurrentPagePath, useCurrentPageId,
+  useIsEditable, useIsIndentSizeForced, useCurrentPagePath, useCurrentPageId, useNoCdn, useUploadableFile,
 } from '~/stores/context';
 } from '~/stores/context';
 import {
 import {
   useCurrentIndentSize, useSWRxSlackChannels, useIsSlackEnabled, useIsTextlintEnabled, usePageTagsForEditors,
   useCurrentIndentSize, useSWRxSlackChannels, useIsSlackEnabled, useIsTextlintEnabled, usePageTagsForEditors,
@@ -99,6 +99,8 @@ const PageEditor = (props: Props): JSX.Element => {
   const { data: isIndentSizeForced } = useIsIndentSizeForced();
   const { data: isIndentSizeForced } = useIsIndentSizeForced();
   const { data: indentSize, mutate: mutateCurrentIndentSize } = useCurrentIndentSize();
   const { data: indentSize, mutate: mutateCurrentIndentSize } = useCurrentIndentSize();
   const { mutate: mutateIsEnabledUnsavedWarning } = useIsEnabledUnsavedWarning();
   const { mutate: mutateIsEnabledUnsavedWarning } = useIsEnabledUnsavedWarning();
+  const { data: noCdn } = useNoCdn();
+  const { data: uploadableFile } = useUploadableFile();
 
 
   const { data: rendererOptions } = usePreviewOptions();
   const { data: rendererOptions } = usePreviewOptions();
 
 
@@ -401,10 +403,9 @@ const PageEditor = (props: Props): JSX.Element => {
 
 
   // const config = props.appContainer.getConfig();
   // const config = props.appContainer.getConfig();
   // const isUploadable = config.upload.image || config.upload.file;
   // const isUploadable = config.upload.image || config.upload.file;
-  // const isUploadableFile = config.upload.file;
-  // const isMathJaxEnabled = !!config.env.MATHJAX;
+  const isNoCdn = envUtils.toBoolean(noCdn || '');
+  const isUploadableFile = uploadableFile;
 
 
-  // const noCdn = envUtils.toBoolean(config.env.NO_CDN);
 
 
   // TODO: omit no-explicit-any -- 2022.06.02 Yuki Takei
   // TODO: omit no-explicit-any -- 2022.06.02 Yuki Takei
   // It is impossible to avoid the error
   // It is impossible to avoid the error
@@ -419,10 +420,10 @@ const PageEditor = (props: Props): JSX.Element => {
         <EditorAny
         <EditorAny
           ref={editorRef}
           ref={editorRef}
           value={markdown}
           value={markdown}
-          // noCdn={noCdn}
+          noCdn={isNoCdn}
           isMobile={isMobile}
           isMobile={isMobile}
           // isUploadable={isUploadable}
           // isUploadable={isUploadable}
-          // isUploadableFile={isUploadableFile}
+          isUploadableFile={isUploadableFile}
           isTextlintEnabled={isTextlintEnabled}
           isTextlintEnabled={isTextlintEnabled}
           indentSize={indentSize}
           indentSize={indentSize}
           onScroll={editorScrolledHandler}
           onScroll={editorScrolledHandler}
@@ -437,7 +438,6 @@ const PageEditor = (props: Props): JSX.Element => {
           markdown={markdown}
           markdown={markdown}
           rendererOptions={rendererOptions}
           rendererOptions={rendererOptions}
           ref={previewRef}
           ref={previewRef}
-          // isMathJaxEnabled={isMathJaxEnabled}
           renderMathJaxOnInit={false}
           renderMathJaxOnInit={false}
           onScroll={offset => scrollEditorByPreviewScrollWithThrottle(offset)}
           onScroll={offset => scrollEditorByPreviewScrollWithThrottle(offset)}
         />
         />

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

@@ -218,6 +218,14 @@ export const useRendererConfig = (initialData?: RendererConfig): SWRResponse<Ren
   return useStaticSWR('growiRendererConfig', initialData);
   return useStaticSWR('growiRendererConfig', initialData);
 };
 };
 
 
+export const useNoCdn = (initialData?: string): SWRResponse<string, any> => {
+  return useStaticSWR('noCdn', initialData);
+};
+
+export const useUploadableFile = (initialData?: any): SWRResponse<any, any> => {
+  return useStaticSWR('uploadableFile', initialData);
+};
+
 export const useIsBlinkedHeaderAtBoot = (initialData?: boolean): SWRResponse<boolean, Error> => {
 export const useIsBlinkedHeaderAtBoot = (initialData?: boolean): SWRResponse<boolean, Error> => {
   return useStaticSWR('isBlinkedAtBoot', initialData);
   return useStaticSWR('isBlinkedAtBoot', initialData);
 };
 };