use IIFE for entry points.

This commit is contained in:
2025-07-03 18:24:31 +09:00
parent 5926c08da5
commit 83f29b8e63
12 changed files with 64 additions and 51 deletions

View File

@@ -5,11 +5,16 @@ import ErrorFallback from '../common/ErrorFallback';
import Loading from '../common/Loading';
import Settings from './Settings';
const ConfigApp: React.FC = () => {
interface ConfigAppProps {
pluginId: string;
}
const ConfigApp: React.FC<ConfigAppProps> = (props) => {
const { pluginId } = props;
return (
<ErrorBoundary FallbackComponent={ErrorFallback}>
<React.Suspense fallback={<Loading />}>
<Settings />
<Settings pluginId={pluginId} />
</React.Suspense>
</ErrorBoundary>
);

View File

@@ -3,7 +3,6 @@ import React from 'react';
import { KintoneRestAPIClient } from '@kintone/rest-api-client';
import moize from 'moize';
import invariant from 'tiny-invariant';
import { PLUGIN_ID } from '../common/global';
import { naturalCompare } from '../common/stringUtils';
import { KintoneFormFieldProperties } from '../common/types';
import KintonePluginAlert from '../common/ui/KintonePluginAlert';
@@ -23,8 +22,13 @@ const cachedFormFieldsProperties = moize.promise(async (appId: number): Promise<
return properties;
});
const Settings: React.FC = () => {
const config = kintone.plugin.app.getConfig(PLUGIN_ID);
interface SettingsProps {
pluginId: string;
}
const Settings: React.FC<SettingsProps> = (props) => {
const { pluginId } = props;
const config = kintone.plugin.app.getConfig(pluginId);
const appId = kintone.app.getId();
invariant(appId, 'The app ID is not available. Please ensure you are on a Kintone app page.');
const properties = React.use(cachedFormFieldsProperties(appId));

View File

@@ -6,11 +6,13 @@ import ConfigApp from './ConfigApp';
import '../common/ui/51-modern-default.css';
const root = document.getElementById('plugin-config-root');
invariant(root, 'The plugin configuration root element "plugin-config-root" is not found.');
((PLUGIN_ID) => {
const root = document.getElementById('plugin-config-root');
invariant(root, 'The plugin configuration root element "plugin-config-root" is not found.');
ReactDOM.createRoot(root).render(
<React.StrictMode>
<ConfigApp />
</React.StrictMode>,
);
ReactDOM.createRoot(root).render(
<React.StrictMode>
<ConfigApp pluginId={PLUGIN_ID} />
</React.StrictMode>,
);
})(kintone.$PLUGIN_ID);