mirror of
https://github.com/inventree/InvenTree.git
synced 2026-07-04 14:10:52 +00:00
[UI] Fix imports (#12292)
- Adjust import structure - Prevent wall-of-text warnings from vite
This commit is contained in:
@@ -24,7 +24,7 @@ import { ModelInformationDict } from '@lib/enums/ModelInformation';
|
|||||||
import type { ModelType } from '@lib/enums/ModelType';
|
import type { ModelType } from '@lib/enums/ModelType';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import { cancelEvent } from '@lib/functions/Events';
|
import { cancelEvent } from '@lib/functions/Events';
|
||||||
import { getDetailUrl, navigateToLink } from '@lib/index';
|
import { getDetailUrl, navigateToLink } from '@lib/functions/Navigation';
|
||||||
import type { ApiFormFieldType } from '@lib/types/Forms';
|
import type { ApiFormFieldType } from '@lib/types/Forms';
|
||||||
import { useApi } from '../../../contexts/ApiContext';
|
import { useApi } from '../../../contexts/ApiContext';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ export type { InstanceRenderInterface } from '@lib/types/Rendering';
|
|||||||
import {
|
import {
|
||||||
getBaseUrl,
|
getBaseUrl,
|
||||||
getDetailUrl,
|
getDetailUrl,
|
||||||
navigateToLink,
|
navigateToLink
|
||||||
shortenString
|
} from '@lib/functions/Navigation';
|
||||||
} from '@lib/index';
|
import { shortenString } from '@lib/functions/String';
|
||||||
import { IconLink } from '@tabler/icons-react';
|
import { IconLink } from '@tabler/icons-react';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import { usePluginState } from '../../states/PluginState';
|
import { usePluginState } from '../../states/PluginState';
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import type { NavigateFunction } from 'react-router-dom';
|
|||||||
|
|
||||||
import { ModelInformationDict } from '@lib/enums/ModelInformation';
|
import { ModelInformationDict } from '@lib/enums/ModelInformation';
|
||||||
import type { ModelType } from '@lib/enums/ModelType';
|
import type { ModelType } from '@lib/enums/ModelType';
|
||||||
import { getDetailUrl, navigateToLink } from '@lib/index';
|
import { getDetailUrl, navigateToLink } from '@lib/functions/Navigation';
|
||||||
import { IconLink } from '@tabler/icons-react';
|
import { IconLink } from '@tabler/icons-react';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ import 'mantine-datatable/styles.css';
|
|||||||
import 'react-grid-layout/css/styles.css';
|
import 'react-grid-layout/css/styles.css';
|
||||||
import 'react-resizable/css/styles.css';
|
import 'react-resizable/css/styles.css';
|
||||||
|
|
||||||
import type * as LinguiCore from '@lingui/core';
|
import * as LinguiCore from '@lingui/core';
|
||||||
import type * as LinguiReact from '@lingui/react';
|
import * as LinguiReact from '@lingui/react';
|
||||||
// Global types to be exported for use in plugins
|
// Global types to be exported for use in plugins
|
||||||
import type * as MantineCore from '@mantine/core';
|
import * as MantineCore from '@mantine/core';
|
||||||
import type * as MantineNotifications from '@mantine/notifications';
|
import * as MantineNotifications from '@mantine/notifications';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import type * as ReactDOM from 'react-dom';
|
import * as ReactDOM from 'react-dom';
|
||||||
import * as ReactDOMClient from 'react-dom/client';
|
import * as ReactDOMClient from 'react-dom/client';
|
||||||
|
|
||||||
import './styles/overrides.css';
|
import './styles/overrides.css';
|
||||||
@@ -24,7 +24,6 @@ import './styles/overrides.css';
|
|||||||
import { getBaseUrl } from '@lib/functions/Navigation';
|
import { getBaseUrl } from '@lib/functions/Navigation';
|
||||||
import type { HostList } from '@lib/types/Server';
|
import type { HostList } from '@lib/types/Server';
|
||||||
import MainView from './views/MainView';
|
import MainView from './views/MainView';
|
||||||
import { loadWindowGlobals } from './window';
|
|
||||||
|
|
||||||
// define settings
|
// define settings
|
||||||
declare global {
|
declare global {
|
||||||
@@ -123,5 +122,11 @@ ReactDOMClient.createRoot(
|
|||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
);
|
);
|
||||||
|
|
||||||
// Load globals onto the window object, so that they can be accessed by plugins without requiring direct imports
|
// All window globals assigned here since these modules are already statically bundled
|
||||||
loadWindowGlobals();
|
window.React = React;
|
||||||
|
window.ReactDOM = ReactDOM;
|
||||||
|
window.ReactDOMClient = ReactDOMClient;
|
||||||
|
window.MantineCore = MantineCore;
|
||||||
|
window.MantineNotifications = MantineNotifications;
|
||||||
|
window.LinguiCore = LinguiCore;
|
||||||
|
window.LinguiReact = LinguiReact;
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { t } from '@lingui/core/macro';
|
|||||||
import { Alert, Divider, Group, Stack, Text } from '@mantine/core';
|
import { Alert, Divider, Group, Stack, Text } from '@mantine/core';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
|
|
||||||
|
import { RowEditAction } from '@lib/components/RowActions';
|
||||||
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
||||||
import { ModelType } from '@lib/enums/ModelType';
|
import { ModelType } from '@lib/enums/ModelType';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import { ActionButton, RowEditAction, UserRoles } from '@lib/index';
|
import { ActionButton, UserRoles } from '@lib/index';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
||||||
import { IconExclamationCircle, IconReplace } from '@tabler/icons-react';
|
import { IconExclamationCircle, IconReplace } from '@tabler/icons-react';
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
|
import { RowDeleteAction, RowEditAction } from '@lib/components/RowActions';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import {
|
import {
|
||||||
ApiEndpoints,
|
ApiEndpoints,
|
||||||
ModelType,
|
ModelType,
|
||||||
RowDeleteAction,
|
|
||||||
RowEditAction,
|
|
||||||
YesNoButton,
|
YesNoButton,
|
||||||
apiUrl,
|
apiUrl,
|
||||||
formatDecimal
|
formatDecimal
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
|
import {
|
||||||
|
RowDeleteAction,
|
||||||
|
RowDuplicateAction,
|
||||||
|
RowEditAction
|
||||||
|
} from '@lib/components/RowActions';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import {
|
import {
|
||||||
AddItemButton,
|
AddItemButton,
|
||||||
ApiEndpoints,
|
ApiEndpoints,
|
||||||
type ApiFormFieldSet,
|
type ApiFormFieldSet,
|
||||||
RowDeleteAction,
|
|
||||||
RowDuplicateAction,
|
|
||||||
RowEditAction,
|
|
||||||
UserRoles,
|
UserRoles,
|
||||||
apiUrl
|
apiUrl
|
||||||
} from '@lib/index';
|
} from '@lib/index';
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import { useCallback, useMemo, useState } from 'react';
|
|||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
|
||||||
import { AddItemButton } from '@lib/components/AddItemButton';
|
import { AddItemButton } from '@lib/components/AddItemButton';
|
||||||
|
import { RowDeleteAction, RowEditAction } from '@lib/components/RowActions';
|
||||||
import { StylishText } from '@lib/components/StylishText';
|
import { StylishText } from '@lib/components/StylishText';
|
||||||
import { YesNoButton } from '@lib/components/YesNoButton';
|
import { YesNoButton } from '@lib/components/YesNoButton';
|
||||||
import {
|
import {
|
||||||
@@ -32,7 +33,7 @@ import {
|
|||||||
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import { RowDeleteAction, RowEditAction, formatDecimal } from '@lib/index';
|
import { formatDecimal } from '@lib/index';
|
||||||
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
||||||
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
||||||
import { Trans } from '@lingui/react/macro';
|
import { Trans } from '@lingui/react/macro';
|
||||||
|
|||||||
@@ -15,8 +15,9 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
|||||||
import { ModelType } from '@lib/enums/ModelType';
|
import { ModelType } from '@lib/enums/ModelType';
|
||||||
import { UserRoles } from '@lib/enums/Roles';
|
import { UserRoles } from '@lib/enums/Roles';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
|
import { getDetailUrl } from '@lib/functions/Navigation';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import { type ApiFormModalProps, getDetailUrl } from '@lib/index';
|
import type { ApiFormModalProps } from '@lib/index';
|
||||||
import type { TableColumn, TableState } from '@lib/types/Tables';
|
import type { TableColumn, TableState } from '@lib/types/Tables';
|
||||||
import { IconUsersGroup } from '@tabler/icons-react';
|
import { IconUsersGroup } from '@tabler/icons-react';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
|||||||
import { ModelType } from '@lib/enums/ModelType';
|
import { ModelType } from '@lib/enums/ModelType';
|
||||||
import { UserRoles } from '@lib/enums/Roles';
|
import { UserRoles } from '@lib/enums/Roles';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
|
import { getDetailUrl } from '@lib/functions/Navigation';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import { type ApiFormModalProps, getDetailUrl } from '@lib/index';
|
import type { ApiFormModalProps } from '@lib/index';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn, TableState } from '@lib/types/Tables';
|
import type { TableColumn, TableState } from '@lib/types/Tables';
|
||||||
import { showNotification } from '@mantine/notifications';
|
import { showNotification } from '@mantine/notifications';
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
import {
|
||||||
|
RowDeleteAction,
|
||||||
|
RowDuplicateAction,
|
||||||
|
RowEditAction,
|
||||||
|
RowViewAction
|
||||||
|
} from '@lib/components/RowActions';
|
||||||
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
@@ -6,10 +12,6 @@ import {
|
|||||||
AddItemButton,
|
AddItemButton,
|
||||||
ModelType,
|
ModelType,
|
||||||
ProgressBar,
|
ProgressBar,
|
||||||
RowDeleteAction,
|
|
||||||
RowDuplicateAction,
|
|
||||||
RowEditAction,
|
|
||||||
RowViewAction,
|
|
||||||
UserRoles,
|
UserRoles,
|
||||||
formatDecimal
|
formatDecimal
|
||||||
} from '@lib/index';
|
} from '@lib/index';
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
/**
|
|
||||||
* Expose certain globals to the window object, so that they can be accessed by plugins,
|
|
||||||
* without requiring plugins to import these dependencies directly.
|
|
||||||
*/
|
|
||||||
export function loadWindowGlobals() {
|
|
||||||
// (window as any).React = React;
|
|
||||||
import('react').then((module) => {
|
|
||||||
window.React = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
// (window as any).ReactDOM = ReactDOM;
|
|
||||||
import('react-dom').then((module) => {
|
|
||||||
window.ReactDOM = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
// (window as any).ReactDOMClient = ReactDOMClient;
|
|
||||||
import('react-dom/client').then((module) => {
|
|
||||||
window.ReactDOMClient = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
// (window as any).MantineCore = MantineCore;
|
|
||||||
import('@mantine/core').then((module) => {
|
|
||||||
window.MantineCore = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
// (window as any).MantineNotifications = MantineNotifications;
|
|
||||||
import('@mantine/notifications').then((module) => {
|
|
||||||
window.MantineNotifications = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
import('@lingui/core').then((module) => {
|
|
||||||
window.LinguiCore = module;
|
|
||||||
});
|
|
||||||
|
|
||||||
import('@lingui/react').then((module) => {
|
|
||||||
window.LinguiReact = module;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user