mirror of
https://github.com/inventree/InvenTree.git
synced 2026-09-03 19:38:41 +00:00
Table refactor (#12309)
* Refactor table components - Move underlying components into src/components/tables - Actual table implementation stay in src/tables * Fix vite warnings
This commit is contained in:
@@ -52,7 +52,7 @@ import {
|
|||||||
import type { CalendarState } from '../../hooks/UseCalendar';
|
import type { CalendarState } from '../../hooks/UseCalendar';
|
||||||
import { useLocalState } from '../../states/LocalState';
|
import { useLocalState } from '../../states/LocalState';
|
||||||
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
import { FilterSelectDrawer } from '../../tables/FilterSelectDrawer';
|
import { FilterSelectDrawer } from '../tables/FilterSelectDrawer';
|
||||||
|
|
||||||
export interface InvenTreeCalendarProps extends CalendarOptions {
|
export interface InvenTreeCalendarProps extends CalendarOptions {
|
||||||
enableDownload?: boolean;
|
enableDownload?: boolean;
|
||||||
|
|||||||
@@ -23,14 +23,14 @@ import { useNavigate } from 'react-router-dom';
|
|||||||
import { api } from '../../App';
|
import { api } from '../../App';
|
||||||
import useCalendar from '../../hooks/UseCalendar';
|
import useCalendar from '../../hooks/UseCalendar';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
|
import { StatusRenderer, getStatusColor } from '../render/StatusRenderer';
|
||||||
import {
|
import {
|
||||||
AssignedToMeFilter,
|
AssignedToMeFilter,
|
||||||
HasProjectCodeFilter,
|
HasProjectCodeFilter,
|
||||||
OrderStatusFilter,
|
OrderStatusFilter,
|
||||||
ProjectCodeFilter,
|
ProjectCodeFilter,
|
||||||
ResponsibleFilter
|
ResponsibleFilter
|
||||||
} from '../../tables/Filter';
|
} from '../tables/Filter';
|
||||||
import { StatusRenderer, getStatusColor } from '../render/StatusRenderer';
|
|
||||||
import Calendar from './Calendar';
|
import Calendar from './Calendar';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import type { ImportSessionState } from '../../hooks/UseImportSession';
|
import type { ImportSessionState } from '../../hooks/UseImportSession';
|
||||||
import { InvenTreeTable } from '../../tables/InvenTreeTable';
|
|
||||||
import { RenderRemoteInstance } from '../render/Instance';
|
import { RenderRemoteInstance } from '../render/Instance';
|
||||||
|
import { InvenTreeTable } from '../tables/InvenTreeTable';
|
||||||
|
|
||||||
function ImporterDataCell({
|
function ImporterDataCell({
|
||||||
session,
|
session,
|
||||||
|
|||||||
@@ -47,11 +47,11 @@ import {
|
|||||||
} from '../../states/ImporterState';
|
} from '../../states/ImporterState';
|
||||||
import { usePluginState } from '../../states/PluginState';
|
import { usePluginState } from '../../states/PluginState';
|
||||||
import { useServerApiState } from '../../states/ServerApiState';
|
import { useServerApiState } from '../../states/ServerApiState';
|
||||||
import { InvenTreeTableInternal } from '../../tables/InvenTreeTable';
|
|
||||||
import { EditApiForm } from '../forms/ApiForm';
|
import { EditApiForm } from '../forms/ApiForm';
|
||||||
import { Thumbnail } from '../images/Thumbnail';
|
import { Thumbnail } from '../images/Thumbnail';
|
||||||
import { RenderInstance, RenderRemoteInstance } from '../render/Instance';
|
import { RenderInstance, RenderRemoteInstance } from '../render/Instance';
|
||||||
import { RenderInlineModel } from '../render/Instance';
|
import { RenderInlineModel } from '../render/Instance';
|
||||||
|
import { InvenTreeTableInternal } from '../tables/InvenTreeTable';
|
||||||
|
|
||||||
export const useInvenTreeContext = () => {
|
export const useInvenTreeContext = () => {
|
||||||
const [locale, host] = useLocalState(useShallow((s) => [s.language, s.host]));
|
const [locale, host] = useLocalState(useShallow((s) => [s.language, s.host]));
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { ModelType } from '@lib/enums/ModelType';
|
|||||||
import { formatDecimal } from '@lib/functions/Formatting';
|
import { formatDecimal } from '@lib/functions/Formatting';
|
||||||
import { getDetailUrl } from '@lib/functions/Navigation';
|
import { getDetailUrl } from '@lib/functions/Navigation';
|
||||||
import { shortenString } from '@lib/functions/String';
|
import { shortenString } from '@lib/functions/String';
|
||||||
import { TableHoverCard } from '../../tables/TableHoverCard';
|
|
||||||
import { ApiIcon } from '../items/ApiIcon';
|
import { ApiIcon } from '../items/ApiIcon';
|
||||||
|
import { TableHoverCard } from '../tables/TableHoverCard';
|
||||||
import { type InstanceRenderInterface, RenderInlineModel } from './Instance';
|
import { type InstanceRenderInterface, RenderInlineModel } from './Instance';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { ModelType } from '@lib/enums/ModelType';
|
|||||||
import { formatDecimal } from '@lib/functions/Formatting';
|
import { formatDecimal } from '@lib/functions/Formatting';
|
||||||
import { getDetailUrl } from '@lib/functions/Navigation';
|
import { getDetailUrl } from '@lib/functions/Navigation';
|
||||||
import { shortenString } from '@lib/functions/String';
|
import { shortenString } from '@lib/functions/String';
|
||||||
import { TableHoverCard } from '../../tables/TableHoverCard';
|
|
||||||
import { ApiIcon } from '../items/ApiIcon';
|
import { ApiIcon } from '../items/ApiIcon';
|
||||||
|
import { TableHoverCard } from '../tables/TableHoverCard';
|
||||||
import {
|
import {
|
||||||
InlineSecondaryBadge,
|
InlineSecondaryBadge,
|
||||||
type InstanceRenderInterface,
|
type InstanceRenderInterface,
|
||||||
|
|||||||
+5
-5
@@ -25,18 +25,18 @@ import { resolveItem } from '@lib/functions/Conversion';
|
|||||||
import { cancelEvent } from '@lib/functions/Events';
|
import { cancelEvent } from '@lib/functions/Events';
|
||||||
import type { TableColumn, TableColumnProps } from '@lib/types/Tables';
|
import type { TableColumn, TableColumnProps } from '@lib/types/Tables';
|
||||||
import type { ReactNode } from 'react';
|
import type { ReactNode } from 'react';
|
||||||
import { Thumbnail } from '../components/images/Thumbnail';
|
|
||||||
import { TableStatusRenderer } from '../components/render/StatusRenderer';
|
|
||||||
import { RenderOwner } from '../components/render/User';
|
|
||||||
import {
|
import {
|
||||||
formatCurrency,
|
formatCurrency,
|
||||||
formatDate,
|
formatDate,
|
||||||
formatDecimal
|
formatDecimal
|
||||||
} from '../defaults/formatters';
|
} from '../../defaults/formatters';
|
||||||
import {
|
import {
|
||||||
useGlobalSettingsState,
|
useGlobalSettingsState,
|
||||||
useUserSettingsState
|
useUserSettingsState
|
||||||
} from '../states/SettingsStates';
|
} from '../../states/SettingsStates';
|
||||||
|
import { Thumbnail } from '../images/Thumbnail';
|
||||||
|
import { TableStatusRenderer } from '../render/StatusRenderer';
|
||||||
|
import { RenderOwner } from '../render/User';
|
||||||
import { ProjectCodeHoverCard, TableHoverCard } from './TableHoverCard';
|
import { ProjectCodeHoverCard, TableHoverCard } from './TableHoverCard';
|
||||||
|
|
||||||
export type PartColumnProps = TableColumnProps & {
|
export type PartColumnProps = TableColumnProps & {
|
||||||
@@ -5,15 +5,15 @@ import { ModelType } from '@lib/enums/ModelType';
|
|||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import { isTrue } from '@lib/functions/Conversion';
|
import { isTrue } from '@lib/functions/Conversion';
|
||||||
import type { TableFilter, TableFilterChoice } from '@lib/types/Filters';
|
import type { TableFilter, TableFilterChoice } from '@lib/types/Filters';
|
||||||
import type {
|
|
||||||
StatusCodeInterface,
|
|
||||||
StatusCodeListInterface
|
|
||||||
} from '../components/render/StatusRenderer';
|
|
||||||
import {
|
import {
|
||||||
type StatusLookup,
|
type StatusLookup,
|
||||||
useGlobalStatusState
|
useGlobalStatusState
|
||||||
} from '../states/GlobalStatusState';
|
} from '../../states/GlobalStatusState';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
|
import type {
|
||||||
|
StatusCodeInterface,
|
||||||
|
StatusCodeListInterface
|
||||||
|
} from '../render/StatusRenderer';
|
||||||
|
|
||||||
// Determine the appropriate display label for a given filter, based on its name and the list of available filters
|
// Determine the appropriate display label for a given filter, based on its name and the list of available filters
|
||||||
export function filterDisplayLabel(
|
export function filterDisplayLabel(
|
||||||
+2
-2
@@ -34,8 +34,8 @@ import {
|
|||||||
IconReload,
|
IconReload,
|
||||||
IconX
|
IconX
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
import { api } from '../App';
|
import { api } from '../../App';
|
||||||
import { StandaloneField } from '../components/forms/StandaloneField';
|
import { StandaloneField } from '../forms/StandaloneField';
|
||||||
import {
|
import {
|
||||||
filterDisplayLabel,
|
filterDisplayLabel,
|
||||||
filterDisplayValue,
|
filterDisplayValue,
|
||||||
+5
-5
@@ -33,11 +33,11 @@ import {
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useCallback, useEffect, useMemo, useState } from 'react';
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||||
import { useNavigate, useSearchParams } from 'react-router-dom';
|
import { useNavigate, useSearchParams } from 'react-router-dom';
|
||||||
import { useApi } from '../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import { extractAvailableFields } from '../functions/forms';
|
import { extractAvailableFields } from '../../functions/forms';
|
||||||
import { showApiErrorMessage } from '../functions/notifications';
|
import { showApiErrorMessage } from '../../functions/notifications';
|
||||||
import { useLocalState } from '../states/LocalState';
|
import { useLocalState } from '../../states/LocalState';
|
||||||
import { useUserSettingsState } from '../states/SettingsStates';
|
import { useUserSettingsState } from '../../states/SettingsStates';
|
||||||
import { ColumnFilterPopover } from './FilterSelectDrawer';
|
import { ColumnFilterPopover } from './FilterSelectDrawer';
|
||||||
import InvenTreeTableHeader from './InvenTreeTableHeader';
|
import InvenTreeTableHeader from './InvenTreeTableHeader';
|
||||||
|
|
||||||
+3
-3
@@ -33,9 +33,9 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableState } from '@lib/types/Tables';
|
import type { TableState } from '@lib/types/Tables';
|
||||||
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
||||||
import { showNotification } from '@mantine/notifications';
|
import { showNotification } from '@mantine/notifications';
|
||||||
import { PrintingActions } from '../components/buttons/PrintingActions';
|
import useDataExport from '../../hooks/UseDataExport';
|
||||||
import useDataExport from '../hooks/UseDataExport';
|
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
||||||
import { useDeleteApiFormModal } from '../hooks/UseForm';
|
import { PrintingActions } from '../buttons/PrintingActions';
|
||||||
import { FilterPreview, FilterSelectDrawer } from './FilterSelectDrawer';
|
import { FilterPreview, FilterSelectDrawer } from './FilterSelectDrawer';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+1
-1
@@ -10,7 +10,7 @@ import {
|
|||||||
import { type ReactNode, useMemo } from 'react';
|
import { type ReactNode, useMemo } from 'react';
|
||||||
|
|
||||||
import type { InvenTreeIconType } from '@lib/types/Icons';
|
import type { InvenTreeIconType } from '@lib/types/Icons';
|
||||||
import { InvenTreeIcon } from '../functions/icons';
|
import { InvenTreeIcon } from '../../functions/icons';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A custom hovercard element for displaying extra information in a table cell.
|
* A custom hovercard element for displaying extra information in a table cell.
|
||||||
@@ -32,10 +32,10 @@ import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms';
|
|||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
import { useInstance } from '../../hooks/UseInstance';
|
import { useInstance } from '../../hooks/UseInstance';
|
||||||
import useWizard from '../../hooks/UseWizard';
|
import useWizard from '../../hooks/UseWizard';
|
||||||
import { RenderPartColumn } from '../../tables/ColumnRenderers';
|
|
||||||
import RemoveRowButton from '../buttons/RemoveRowButton';
|
import RemoveRowButton from '../buttons/RemoveRowButton';
|
||||||
import { StandaloneField } from '../forms/StandaloneField';
|
import { StandaloneField } from '../forms/StandaloneField';
|
||||||
import Expand from '../items/Expand';
|
import Expand from '../items/Expand';
|
||||||
|
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render the "requirements" info for a part
|
* Render the "requirements" info for a part
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ import {
|
|||||||
RenderStockItem,
|
RenderStockItem,
|
||||||
RenderStockLocation
|
RenderStockLocation
|
||||||
} from '../components/render/Stock';
|
} from '../components/render/Stock';
|
||||||
|
import { RenderPartColumn } from '../components/tables/ColumnRenderers';
|
||||||
import { useCreateApiFormModal } from '../hooks/UseForm';
|
import { useCreateApiFormModal } from '../hooks/UseForm';
|
||||||
import {
|
import {
|
||||||
useBatchCodeGenerator,
|
useBatchCodeGenerator,
|
||||||
useSerialNumberGenerator
|
useSerialNumberGenerator
|
||||||
} from '../hooks/UseGenerator';
|
} from '../hooks/UseGenerator';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
|
||||||
import { DuplicateField, ProjectCodeField, TagsField } from './CommonFields';
|
import { DuplicateField, ProjectCodeField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ import type {
|
|||||||
} from '@lib/types/Forms';
|
} from '@lib/types/Forms';
|
||||||
import type { TableFieldRowProps } from '../components/forms/fields/TableField';
|
import type { TableFieldRowProps } from '../components/forms/fields/TableField';
|
||||||
import { Thumbnail } from '../components/images/Thumbnail';
|
import { Thumbnail } from '../components/images/Thumbnail';
|
||||||
|
import { StatusFilterOptions } from '../components/tables/Filter';
|
||||||
import { useCreateApiFormModal } from '../hooks/UseForm';
|
import { useCreateApiFormModal } from '../hooks/UseForm';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { StatusFilterOptions } from '../tables/Filter';
|
|
||||||
import { ProjectCodeField, TagsField } from './CommonFields';
|
import { ProjectCodeField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
export function useReturnOrderFields({
|
export function useReturnOrderFields({
|
||||||
|
|||||||
@@ -29,11 +29,11 @@ import {
|
|||||||
TableFieldQuantityInput,
|
TableFieldQuantityInput,
|
||||||
type TableFieldRowProps
|
type TableFieldRowProps
|
||||||
} from '../components/forms/fields/TableField';
|
} from '../components/forms/fields/TableField';
|
||||||
|
import { RenderPartColumn } from '../components/tables/ColumnRenderers';
|
||||||
import useBackgroundTask from '../hooks/UseBackgroundTask';
|
import useBackgroundTask from '../hooks/UseBackgroundTask';
|
||||||
import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm';
|
import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { useUserState } from '../states/UserState';
|
import { useUserState } from '../states/UserState';
|
||||||
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
|
||||||
import { ProjectCodeField, TagsField } from './CommonFields';
|
import { ProjectCodeField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
export function useSalesOrderFields({
|
export function useSalesOrderFields({
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ import {
|
|||||||
import { Thumbnail } from '../components/images/Thumbnail';
|
import { Thumbnail } from '../components/images/Thumbnail';
|
||||||
import { StatusRenderer } from '../components/render/StatusRenderer';
|
import { StatusRenderer } from '../components/render/StatusRenderer';
|
||||||
import { RenderStockLocation } from '../components/render/Stock';
|
import { RenderStockLocation } from '../components/render/Stock';
|
||||||
|
import { StatusFilterOptions } from '../components/tables/Filter';
|
||||||
import { InvenTreeIcon } from '../functions/icons';
|
import { InvenTreeIcon } from '../functions/icons';
|
||||||
import {
|
import {
|
||||||
useApiFormModal,
|
useApiFormModal,
|
||||||
@@ -69,7 +70,6 @@ import {
|
|||||||
} from '../hooks/UseGenerator';
|
} from '../hooks/UseGenerator';
|
||||||
import useStatusCodes from '../hooks/UseStatusCodes';
|
import useStatusCodes from '../hooks/UseStatusCodes';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { StatusFilterOptions } from '../tables/Filter';
|
|
||||||
import { TagsField } from './CommonFields';
|
import { TagsField } from './CommonFields';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import {
|
|||||||
TableFieldQuantityInput,
|
TableFieldQuantityInput,
|
||||||
type TableFieldRowProps
|
type TableFieldRowProps
|
||||||
} from '../components/forms/fields/TableField';
|
} from '../components/forms/fields/TableField';
|
||||||
|
import { RenderPartColumn } from '../components/tables/ColumnRenderers';
|
||||||
import { useCreateApiFormModal } from '../hooks/UseForm';
|
import { useCreateApiFormModal } from '../hooks/UseForm';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
|
||||||
import { ProjectCodeField, TagsField } from './CommonFields';
|
import { ProjectCodeField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
export function useTransferOrderFields({
|
export function useTransferOrderFields({
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import { api } from '../../../../App';
|
import { api } from '../../../../App';
|
||||||
import { FactCollection } from '../../../../components/settings/FactCollection';
|
import { FactCollection } from '../../../../components/settings/FactCollection';
|
||||||
import { GlobalSettingList } from '../../../../components/settings/SettingList';
|
import { GlobalSettingList } from '../../../../components/settings/SettingList';
|
||||||
|
import { InvenTreeTable } from '../../../../components/tables/InvenTreeTable';
|
||||||
import { showApiErrorMessage } from '../../../../functions/notifications';
|
import { showApiErrorMessage } from '../../../../functions/notifications';
|
||||||
import { InvenTreeTable } from '../../../../tables/InvenTreeTable';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Table for displaying available currencies
|
* Table for displaying available currencies
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { StylishText } from '@lib/components/StylishText';
|
|||||||
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 { BooleanColumn } from '../../../../tables/ColumnRenderers';
|
import { BooleanColumn } from '../../../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../../../../tables/InvenTreeTable';
|
import { InvenTreeTable } from '../../../../components/tables/InvenTreeTable';
|
||||||
import CustomUnitsTable from '../../../../tables/settings/CustomUnitsTable';
|
import CustomUnitsTable from '../../../../tables/settings/CustomUnitsTable';
|
||||||
|
|
||||||
function AllUnitTable() {
|
function AllUnitTable() {
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ import {
|
|||||||
} from '@mantine/core';
|
} from '@mantine/core';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
DecimalColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatDate, formatPriceRange } from '../../defaults/formatters';
|
import { formatDate, formatPriceRange } from '../../defaults/formatters';
|
||||||
import { partStocktakeFields } from '../../forms/PartForms';
|
import { partStocktakeFields } from '../../forms/PartForms';
|
||||||
import {
|
import {
|
||||||
@@ -27,8 +32,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { DateColumn, DecimalColumn } from '../../tables/ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../../tables/InvenTreeTable';
|
|
||||||
import { StockTrackingTable } from '../../tables/stock/StockTrackingTable';
|
import { StockTrackingTable } from '../../tables/stock/StockTrackingTable';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import { useSearchParams } from 'react-router-dom';
|
|||||||
import { api } from '../../../App';
|
import { api } from '../../../App';
|
||||||
import { StandaloneField } from '../../../components/forms/StandaloneField';
|
import { StandaloneField } from '../../../components/forms/StandaloneField';
|
||||||
import Expand from '../../../components/items/Expand';
|
import Expand from '../../../components/items/Expand';
|
||||||
import { RenderPartColumn } from '../../../tables/ColumnRenderers';
|
import { RenderPartColumn } from '../../../components/tables/ColumnRenderers';
|
||||||
|
|
||||||
// Field to check for differences when comparing BOM items
|
// Field to check for differences when comparing BOM items
|
||||||
const DELTA_FIELDS = {
|
const DELTA_FIELDS = {
|
||||||
|
|||||||
@@ -17,9 +17,12 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { CHART_COLORS } from '../../../components/charts/colors';
|
import { CHART_COLORS } from '../../../components/charts/colors';
|
||||||
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import { formatDecimal, formatPriceRange } from '../../../defaults/formatters';
|
import { formatDecimal, formatPriceRange } from '../../../defaults/formatters';
|
||||||
import { DateColumn, PartColumn } from '../../../tables/ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
|
||||||
import { LoadingPricingData, NoPricingData } from './PricingPanel';
|
import { LoadingPricingData, NoPricingData } from './PricingPanel';
|
||||||
|
|
||||||
// Display BOM data as a pie chart
|
// Display BOM data as a pie chart
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
||||||
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../../defaults/formatters';
|
import { formatCurrency } from '../../../defaults/formatters';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -23,7 +24,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../../hooks/UseForm';
|
} from '../../../hooks/UseForm';
|
||||||
import { useUserState } from '../../../states/UserState';
|
import { useUserState } from '../../../states/UserState';
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
|
||||||
import { NoPricingData } from './PricingPanel';
|
import { NoPricingData } from './PricingPanel';
|
||||||
|
|
||||||
export default function PriceBreakPanel({
|
export default function PriceBreakPanel({
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency, formatDate } from '../../../defaults/formatters';
|
import { formatCurrency, formatDate } from '../../../defaults/formatters';
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
|
||||||
import { NoPricingData } from './PricingPanel';
|
import { NoPricingData } from './PricingPanel';
|
||||||
|
|
||||||
export default function PurchaseHistoryPanel({
|
export default function PurchaseHistoryPanel({
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { DateColumn } from '../../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../../defaults/formatters';
|
import { formatCurrency } from '../../../defaults/formatters';
|
||||||
import { DateColumn } from '../../../tables/ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
|
||||||
import { NoPricingData } from './PricingPanel';
|
import { NoPricingData } from './PricingPanel';
|
||||||
|
|
||||||
export default function SaleHistoryPanel({
|
export default function SaleHistoryPanel({
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
SupplierPriceBreakColumns,
|
SupplierPriceBreakColumns,
|
||||||
calculateSupplierPartUnitPrice
|
calculateSupplierPartUnitPrice
|
||||||
|
|||||||
@@ -9,9 +9,12 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../../defaults/formatters';
|
import { formatCurrency } from '../../../defaults/formatters';
|
||||||
import { DateColumn, PartColumn } from '../../../tables/ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../../../tables/InvenTreeTable';
|
|
||||||
import { NoPricingData } from './PricingPanel';
|
import { NoPricingData } from './PricingPanel';
|
||||||
|
|
||||||
export default function VariantPricingPanel({
|
export default function VariantPricingPanel({
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import { Group, Paper } from '@mantine/core';
|
|||||||
import { IconCornerLeftUp } from '@tabler/icons-react';
|
import { IconCornerLeftUp } from '@tabler/icons-react';
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import Expand from '../../components/items/Expand';
|
import Expand from '../../components/items/Expand';
|
||||||
import { useUserSettingsState } from '../../states/SettingsStates';
|
|
||||||
import {
|
import {
|
||||||
IPNColumn,
|
IPNColumn,
|
||||||
ReferenceColumn,
|
ReferenceColumn,
|
||||||
RenderPartColumn
|
RenderPartColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { useUserSettingsState } from '../../states/SettingsStates';
|
||||||
|
|
||||||
export function subassemblyRowExpansion({
|
export function subassemblyRowExpansion({
|
||||||
table
|
table
|
||||||
|
|||||||
@@ -30,6 +30,19 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
||||||
import { RenderPart } from '../../components/render/Part';
|
import { RenderPart } from '../../components/render/Part';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
CategoryColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
NoteColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
RenderPartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { PartCategoryFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
||||||
import { bomItemFields, useEditBomSubstitutesForm } from '../../forms/BomForms';
|
import { bomItemFields, useEditBomSubstitutesForm } from '../../forms/BomForms';
|
||||||
@@ -45,19 +58,6 @@ import {
|
|||||||
useUserSettingsState
|
useUserSettingsState
|
||||||
} from '../../states/SettingsStates';
|
} from '../../states/SettingsStates';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
BooleanColumn,
|
|
||||||
CategoryColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
NoteColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
RenderPartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { PartCategoryFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
import { subassemblyRowExpansion } from './BomSubassemblyTable';
|
import { subassemblyRowExpansion } from './BomSubassemblyTable';
|
||||||
|
|
||||||
// Calculate the total stock quantity available for a given BomItem
|
// Calculate the total stock quantity available for a given BomItem
|
||||||
|
|||||||
@@ -11,6 +11,14 @@ 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';
|
||||||
|
import {
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
PartColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
RenderPartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatDecimal } from '../../defaults/formatters';
|
import { formatDecimal } from '../../defaults/formatters';
|
||||||
import { bomItemFields } from '../../forms/BomForms';
|
import { bomItemFields } from '../../forms/BomForms';
|
||||||
import {
|
import {
|
||||||
@@ -18,14 +26,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
PartColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
RenderPartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For a given part, render a table showing all the assemblies the part is used in
|
* For a given part, render a table showing all the assemblies the part is used in
|
||||||
|
|||||||
@@ -13,14 +13,6 @@ import type { StockOperationProps } from '@lib/types/Forms';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { Alert } from '@mantine/core';
|
import { Alert } from '@mantine/core';
|
||||||
import { IconCircleDashedCheck, IconCircleX } from '@tabler/icons-react';
|
import { IconCircleDashedCheck, IconCircleX } from '@tabler/icons-react';
|
||||||
import { useConsumeBuildItemsForm } from '../../forms/BuildForms';
|
|
||||||
import useBackgroundTask from '../../hooks/UseBackgroundTask';
|
|
||||||
import {
|
|
||||||
useDeleteApiFormModal,
|
|
||||||
useEditApiFormModal
|
|
||||||
} from '../../hooks/UseForm';
|
|
||||||
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
DecimalColumn,
|
DecimalColumn,
|
||||||
IPNColumn,
|
IPNColumn,
|
||||||
@@ -29,9 +21,20 @@ import {
|
|||||||
ReferenceColumn,
|
ReferenceColumn,
|
||||||
StatusColumn,
|
StatusColumn,
|
||||||
StockColumn
|
StockColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { IncludeVariantsFilter, StockLocationFilter } from '../Filter';
|
import {
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
IncludeVariantsFilter,
|
||||||
|
StockLocationFilter
|
||||||
|
} from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { useConsumeBuildItemsForm } from '../../forms/BuildForms';
|
||||||
|
import useBackgroundTask from '../../hooks/UseBackgroundTask';
|
||||||
|
import {
|
||||||
|
useDeleteApiFormModal,
|
||||||
|
useEditApiFormModal
|
||||||
|
} from '../../hooks/UseForm';
|
||||||
|
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render a table of allocated stock for a build.
|
* Render a table of allocated stock for a build.
|
||||||
|
|||||||
@@ -25,6 +25,20 @@ import {
|
|||||||
import type { DataTableRowExpansionProps } from 'mantine-datatable';
|
import type { DataTableRowExpansionProps } from 'mantine-datatable';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
CategoryColumn,
|
||||||
|
DecimalColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
LocationColumn,
|
||||||
|
PartColumn,
|
||||||
|
RenderPartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { PartCategoryFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||||
import {
|
import {
|
||||||
useAllocateStockToBuildForm,
|
useAllocateStockToBuildForm,
|
||||||
@@ -40,20 +54,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import useStatusCodes from '../../hooks/UseStatusCodes';
|
import useStatusCodes from '../../hooks/UseStatusCodes';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
BooleanColumn,
|
|
||||||
CategoryColumn,
|
|
||||||
DecimalColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
LocationColumn,
|
|
||||||
PartColumn,
|
|
||||||
RenderPartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { PartCategoryFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if the given build line record is "effectively consumable" -
|
* Return true if the given build line record is "effectively consumable" -
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import {
|
|||||||
TagsFilter,
|
TagsFilter,
|
||||||
TargetDateAfterFilter,
|
TargetDateAfterFilter,
|
||||||
TargetDateBeforeFilter
|
TargetDateBeforeFilter
|
||||||
} from '../Filter';
|
} from '../../components/tables/Filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate a set of common filters for the build order views
|
* Generate a set of common filters for the build order views
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { type ReactNode, useMemo } from 'react';
|
import { type ReactNode, useMemo } from 'react';
|
||||||
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
|
||||||
import {
|
import {
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
PartColumn,
|
PartColumn,
|
||||||
ReferenceColumn
|
ReferenceColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
import BuildOrderFilters from './BuildOrderFilters';
|
import BuildOrderFilters from './BuildOrderFilters';
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,6 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import { useBuildOrderFields } from '../../forms/BuildForms';
|
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
|
||||||
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
BooleanColumn,
|
BooleanColumn,
|
||||||
CompletionDateColumn,
|
CompletionDateColumn,
|
||||||
@@ -28,8 +24,12 @@ import {
|
|||||||
StatusColumn,
|
StatusColumn,
|
||||||
TargetDateColumn,
|
TargetDateColumn,
|
||||||
UserColumn
|
UserColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { useBuildOrderFields } from '../../forms/BuildForms';
|
||||||
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import BuildOrderFilters from './BuildOrderFilters';
|
import BuildOrderFilters from './BuildOrderFilters';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -33,6 +33,24 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { StockOperationProps } from '@lib/types/Forms';
|
import type { StockOperationProps } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
LocationColumn,
|
||||||
|
PartColumn,
|
||||||
|
RenderPartColumn,
|
||||||
|
StatusColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import {
|
||||||
|
BatchFilter,
|
||||||
|
HasBatchCodeFilter,
|
||||||
|
IsSerializedFilter,
|
||||||
|
SerialFilter,
|
||||||
|
SerialGTEFilter,
|
||||||
|
SerialLTEFilter,
|
||||||
|
StatusFilterOptions,
|
||||||
|
StockLocationFilter
|
||||||
|
} from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import {
|
import {
|
||||||
useBuildAutoAllocateFields,
|
useBuildAutoAllocateFields,
|
||||||
@@ -54,24 +72,6 @@ import {
|
|||||||
import useStatusCodes from '../../hooks/UseStatusCodes';
|
import useStatusCodes from '../../hooks/UseStatusCodes';
|
||||||
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
LocationColumn,
|
|
||||||
PartColumn,
|
|
||||||
RenderPartColumn,
|
|
||||||
StatusColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import {
|
|
||||||
BatchFilter,
|
|
||||||
HasBatchCodeFilter,
|
|
||||||
IsSerializedFilter,
|
|
||||||
SerialFilter,
|
|
||||||
SerialGTEFilter,
|
|
||||||
SerialLTEFilter,
|
|
||||||
StatusFilterOptions,
|
|
||||||
StockLocationFilter
|
|
||||||
} from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
import BuildLineTable from './BuildLineTable';
|
import BuildLineTable from './BuildLineTable';
|
||||||
|
|
||||||
type TestResultOverview = {
|
type TestResultOverview = {
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { LinkColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { LinkColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export function AddressTable({
|
export function AddressTable({
|
||||||
companyId,
|
companyId,
|
||||||
|
|||||||
@@ -11,19 +11,19 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import { navigateToLink } from '@lib/functions/Navigation';
|
import { navigateToLink } from '@lib/functions/Navigation';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
CompanyColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { TagsFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { companyFields } from '../../forms/CompanyForms';
|
import { companyFields } from '../../forms/CompanyForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
BooleanColumn,
|
|
||||||
CompanyColumn,
|
|
||||||
DescriptionColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { TagsFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A table which displays a list of company records,
|
* A table which displays a list of company records,
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ import type { ApiFormFieldSet } from '@lib/types/Forms';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { RenderInlineModel } from '../../components/render/Instance';
|
import { RenderInlineModel } from '../../components/render/Instance';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export function ContactTable({
|
export function ContactTable({
|
||||||
companyId,
|
companyId,
|
||||||
|
|||||||
@@ -4,7 +4,10 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import { CompanyColumn, DescriptionColumn } from '../ColumnRenderers';
|
import {
|
||||||
|
CompanyColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
|
|
||||||
export default function ParametricCompanyTable({
|
export default function ParametricCompanyTable({
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import { formatFileSize } from '../../defaults/formatters';
|
import { formatFileSize } from '../../defaults/formatters';
|
||||||
import {
|
import {
|
||||||
@@ -35,7 +36,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define set of columns to display for the attachment table
|
* Define set of columns to display for the attachment table
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { useCallback, useEffect, useMemo } from 'react';
|
|||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import type { BarcodeScanItem } from '../../components/barcodes/BarcodeScanItem';
|
import type { BarcodeScanItem } from '../../components/barcodes/BarcodeScanItem';
|
||||||
import { RenderInstance } from '../../components/render/Instance';
|
import { RenderInstance } from '../../components/render/Instance';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A table for showing barcode scan history data on the scan index page
|
* A table for showing barcode scan history data on the scan index page
|
||||||
|
|||||||
@@ -13,6 +13,15 @@ import type { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
DecimalColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
LineItemColumn,
|
||||||
|
LinkColumn,
|
||||||
|
NoteColumn,
|
||||||
|
ProjectCodeColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
import { extraLineItemFields } from '../../forms/CommonForms';
|
import { extraLineItemFields } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
@@ -21,15 +30,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DecimalColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
LineItemColumn,
|
|
||||||
LinkColumn,
|
|
||||||
NoteColumn,
|
|
||||||
ProjectCodeColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function ExtraLineItemTable({
|
export default function ExtraLineItemTable({
|
||||||
endpoint,
|
endpoint,
|
||||||
|
|||||||
@@ -13,6 +13,15 @@ import { t } from '@lingui/core/macro';
|
|||||||
import { IconFileUpload, IconPlus } from '@tabler/icons-react';
|
import { IconFileUpload, IconPlus } from '@tabler/icons-react';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
NoteColumn,
|
||||||
|
UserColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { UserFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { useParameterFields } from '../../forms/CommonForms';
|
import { useParameterFields } from '../../forms/CommonForms';
|
||||||
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
||||||
import {
|
import {
|
||||||
@@ -22,15 +31,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useImporterState } from '../../states/ImporterState';
|
import { useImporterState } from '../../states/ImporterState';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DateColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
NoteColumn,
|
|
||||||
UserColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { UserFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a table listing parameters
|
* Construct a table listing parameters
|
||||||
|
|||||||
@@ -15,6 +15,11 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
import type { RowAction, TableColumn } from '@lib/types/Tables';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useParameterTemplateFields } from '../../forms/CommonForms';
|
import { useParameterTemplateFields } from '../../forms/CommonForms';
|
||||||
import { useFilters } from '../../hooks/UseFilter';
|
import { useFilters } from '../../hooks/UseFilter';
|
||||||
import {
|
import {
|
||||||
@@ -23,8 +28,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render a table of ParameterTemplate objects
|
* Render a table of ParameterTemplate objects
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { cancelEvent } from '@lib/functions/Events';
|
import { cancelEvent } from '@lib/functions/Events';
|
||||||
|
import { getDetailUrl, navigateToLink } from '@lib/functions/Navigation';
|
||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import {
|
import {
|
||||||
ApiEndpoints,
|
ApiEndpoints,
|
||||||
@@ -7,9 +8,7 @@ import {
|
|||||||
UserRoles,
|
UserRoles,
|
||||||
YesNoButton,
|
YesNoButton,
|
||||||
apiUrl,
|
apiUrl,
|
||||||
formatDecimal,
|
formatDecimal
|
||||||
getDetailUrl,
|
|
||||||
navigateToLink
|
|
||||||
} from '@lib/index';
|
} from '@lib/index';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
@@ -20,6 +19,8 @@ import { IconCirclePlus } from '@tabler/icons-react';
|
|||||||
import { useQuery } from '@tanstack/react-query';
|
import { useQuery } from '@tanstack/react-query';
|
||||||
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import { formatDate } from '../../defaults/formatters';
|
import { formatDate } from '../../defaults/formatters';
|
||||||
import { useParameterFields } from '../../forms/CommonForms';
|
import { useParameterFields } from '../../forms/CommonForms';
|
||||||
@@ -28,8 +29,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
import {
|
import {
|
||||||
PARAMETER_FILTER_OPERATORS,
|
PARAMETER_FILTER_OPERATORS,
|
||||||
ParameterFilter
|
ParameterFilter
|
||||||
|
|||||||
@@ -50,14 +50,14 @@ import {
|
|||||||
TableStatusRenderer
|
TableStatusRenderer
|
||||||
} from '../../components/render/StatusRenderer';
|
} from '../../components/render/StatusRenderer';
|
||||||
import { MachineSettingList } from '../../components/settings/SettingList';
|
import { MachineSettingList } from '../../components/settings/SettingList';
|
||||||
|
import { BooleanColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { BooleanColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import type { MachineDriverI, MachineTypeI } from './MachineTypeTable';
|
import type { MachineDriverI, MachineTypeI } from './MachineTypeTable';
|
||||||
|
|
||||||
interface MachineI {
|
interface MachineI {
|
||||||
|
|||||||
@@ -26,8 +26,11 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
import type { InvenTreeTableProps } from '@lib/types/Tables';
|
||||||
import { InfoItem } from '../../components/items/InfoItem';
|
import { InfoItem } from '../../components/items/InfoItem';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
import {
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { MachineListTable, useMachineTypeDriver } from './MachineListTable';
|
import { MachineListTable, useMachineTypeDriver } from './MachineListTable';
|
||||||
|
|
||||||
export interface MachineTypeI {
|
export interface MachineTypeI {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
|||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import type { TableState } from '@lib/types/Tables';
|
import type { TableState } from '@lib/types/Tables';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
|
||||||
export function NotificationTable({
|
export function NotificationTable({
|
||||||
params,
|
params,
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ import { ModelType } from '@lib/enums/ModelType';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import { DescriptionColumn, PartColumn } from '../ColumnRenderers';
|
import {
|
||||||
|
DescriptionColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
import { PartTableFilters } from './PartTableFilters';
|
import { PartTableFilters } from './PartTableFilters';
|
||||||
|
|
||||||
|
|||||||
@@ -14,16 +14,16 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { IconCircleCheck } from '@tabler/icons-react';
|
import { IconCircleCheck } from '@tabler/icons-react';
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
PartColumn,
|
PartColumn,
|
||||||
ProjectCodeColumn,
|
ProjectCodeColumn,
|
||||||
StatusColumn
|
StatusColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { IncludeVariantsFilter } from '../Filter';
|
import { IncludeVariantsFilter } from '../../components/tables/Filter';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BuildLineSubTable } from '../build/BuildLineTable';
|
import { BuildLineSubTable } from '../build/BuildLineTable';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
||||||
import { ApiIcon } from '../../components/items/ApiIcon';
|
import { ApiIcon } from '../../components/items/ApiIcon';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { partCategoryFields } from '../../forms/PartForms';
|
import { partCategoryFields } from '../../forms/PartForms';
|
||||||
import { InvenTreeIcon } from '../../functions/icons';
|
import { InvenTreeIcon } from '../../functions/icons';
|
||||||
import {
|
import {
|
||||||
@@ -22,8 +27,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PartCategoryTable - Displays a table of part categories
|
* PartCategoryTable - Displays a table of part categories
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { IconInfoCircle } from '@tabler/icons-react';
|
import { IconInfoCircle } from '@tabler/icons-react';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useDynamicParameterValueField } from '../../forms/CommonForms';
|
import { useDynamicParameterValueField } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -23,7 +24,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function PartCategoryTemplateTable({
|
export default function PartCategoryTemplateTable({
|
||||||
categoryId
|
categoryId
|
||||||
|
|||||||
@@ -9,11 +9,18 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
StatusColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import {
|
||||||
|
IncludeVariantsFilter,
|
||||||
|
StatusFilterOptions
|
||||||
|
} from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { formatCurrency, formatDecimal } from '../../defaults/formatters';
|
import { formatCurrency, formatDecimal } from '../../defaults/formatters';
|
||||||
import { DateColumn, ReferenceColumn, StatusColumn } from '../ColumnRenderers';
|
|
||||||
import { IncludeVariantsFilter, StatusFilterOptions } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
|
|
||||||
export default function PartPurchaseOrdersTable({
|
export default function PartPurchaseOrdersTable({
|
||||||
partId
|
partId
|
||||||
|
|||||||
@@ -13,17 +13,17 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
IPNColumn,
|
IPNColumn,
|
||||||
PartColumn,
|
PartColumn,
|
||||||
ProjectCodeColumn,
|
ProjectCodeColumn,
|
||||||
StatusColumn
|
StatusColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { IncludeVariantsFilter } from '../Filter';
|
import { IncludeVariantsFilter } from '../../components/tables/Filter';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import SalesOrderAllocationTable from '../sales/SalesOrderAllocationTable';
|
import SalesOrderAllocationTable from '../sales/SalesOrderAllocationTable';
|
||||||
|
|
||||||
export default function PartSalesAllocationsTable({
|
export default function PartSalesAllocationsTable({
|
||||||
|
|||||||
@@ -21,6 +21,17 @@ import {
|
|||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
||||||
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
import { ActionDropdown } from '../../components/items/ActionDropdown';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
CategoryColumn,
|
||||||
|
DefaultLocationColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
LinkColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
||||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||||
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
||||||
@@ -37,17 +48,6 @@ import { usePluginsWithMixin } from '../../hooks/UsePlugins';
|
|||||||
import { useImporterState } from '../../states/ImporterState';
|
import { useImporterState } from '../../states/ImporterState';
|
||||||
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
BooleanColumn,
|
|
||||||
CategoryColumn,
|
|
||||||
DefaultLocationColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
LinkColumn,
|
|
||||||
PartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
import { PartTableFilters } from './PartTableFilters';
|
import { PartTableFilters } from './PartTableFilters';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ModelType } from '@lib/enums/ModelType';
|
import { ModelType } from '@lib/enums/ModelType';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { TagsFilter } from '../Filter';
|
import { TagsFilter } from '../../components/tables/Filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a set of filters for the part table
|
* Construct a set of filters for the part table
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ import type { ApiFormFieldSet } from '@lib/types/Forms';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import type { UseFormReturn } from 'react-hook-form';
|
import type { UseFormReturn } from 'react-hook-form';
|
||||||
import { RenderUser } from '../../components/render/User';
|
import { RenderUser } from '../../components/render/User';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import {
|
||||||
import { formatDate } from '../../defaults/formatters';
|
LocationColumn,
|
||||||
import { useTestResultFields } from '../../forms/StockForms';
|
PartColumn,
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
StatusColumn
|
||||||
import { LocationColumn, PartColumn, StatusColumn } from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import {
|
import {
|
||||||
BatchFilter,
|
BatchFilter,
|
||||||
HasBatchCodeFilter,
|
HasBatchCodeFilter,
|
||||||
@@ -36,9 +36,13 @@ import {
|
|||||||
SerialGTEFilter,
|
SerialGTEFilter,
|
||||||
SerialLTEFilter,
|
SerialLTEFilter,
|
||||||
StatusFilterOptions
|
StatusFilterOptions
|
||||||
} from '../Filter';
|
} from '../../components/tables/Filter';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
|
import { formatDate } from '../../defaults/formatters';
|
||||||
|
import { useTestResultFields } from '../../forms/StockForms';
|
||||||
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A table which displays all "test results" for the outputs generated by a build order.
|
* A table which displays all "test results" for the outputs generated by a build order.
|
||||||
|
|||||||
@@ -21,15 +21,18 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
|
|
||||||
export default function PartTestTemplateTable({
|
export default function PartTestTemplateTable({
|
||||||
partId,
|
partId,
|
||||||
|
|||||||
@@ -16,14 +16,14 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { Thumbnail } from '../../components/images/Thumbnail';
|
import { Thumbnail } from '../../components/images/Thumbnail';
|
||||||
|
import { NoteColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { NoteColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a table listing related parts for a given part
|
* Construct a table listing related parts for a given part
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
|
||||||
export interface PluginRegistryErrorI {
|
export interface PluginRegistryErrorI {
|
||||||
id: number;
|
id: number;
|
||||||
|
|||||||
@@ -22,6 +22,11 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import PluginDrawer from '../../components/plugins/PluginDrawer';
|
import PluginDrawer from '../../components/plugins/PluginDrawer';
|
||||||
import type { PluginInterface } from '../../components/plugins/PluginInterface';
|
import type { PluginInterface } from '../../components/plugins/PluginInterface';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
LinkColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useApi } from '../../contexts/ApiContext';
|
import { useApi } from '../../contexts/ApiContext';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -30,8 +35,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useServerApiState } from '../../states/ServerApiState';
|
import { useServerApiState } from '../../states/ServerApiState';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BooleanColumn, LinkColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct an indicator icon for a single plugin
|
* Construct an indicator icon for a single plugin
|
||||||
|
|||||||
@@ -3,7 +3,11 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { type ReactNode, useMemo } from 'react';
|
import { type ReactNode, useMemo } from 'react';
|
||||||
import { CompanyColumn, IPNColumn, PartColumn } from '../ColumnRenderers';
|
import {
|
||||||
|
CompanyColumn,
|
||||||
|
IPNColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
|
|
||||||
export default function ManufacturerPartParametricTable({
|
export default function ManufacturerPartParametricTable({
|
||||||
|
|||||||
@@ -15,6 +15,15 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
CompanyColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
LinkColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { TagsFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useManufacturerPartFields } from '../../forms/CompanyForms';
|
import { useManufacturerPartFields } from '../../forms/CompanyForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -22,15 +31,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
CompanyColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
LinkColumn,
|
|
||||||
PartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { TagsFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Construct a table listing manufacturer parts
|
* Construct a table listing manufacturer parts
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import {
|
|||||||
TargetDateBeforeFilter,
|
TargetDateBeforeFilter,
|
||||||
UpdatedAfterFilter,
|
UpdatedAfterFilter,
|
||||||
UpdatedBeforeFilter
|
UpdatedBeforeFilter
|
||||||
} from '../Filter';
|
} from '../../components/tables/Filter';
|
||||||
|
|
||||||
export default function PurchaseOrderFilters({
|
export default function PurchaseOrderFilters({
|
||||||
includeDateFilters = true
|
includeDateFilters = true
|
||||||
|
|||||||
@@ -23,6 +23,20 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { RenderInstance } from '../../components/render/Instance';
|
import { RenderInstance } from '../../components/render/Instance';
|
||||||
|
import {
|
||||||
|
CurrencyColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
LineItemColumn,
|
||||||
|
LinkColumn,
|
||||||
|
LocationColumn,
|
||||||
|
NoteColumn,
|
||||||
|
PartColumn,
|
||||||
|
ProjectCodeColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
TargetDateColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
||||||
import {
|
import {
|
||||||
@@ -37,20 +51,6 @@ import {
|
|||||||
import useStatusCodes from '../../hooks/UseStatusCodes';
|
import useStatusCodes from '../../hooks/UseStatusCodes';
|
||||||
import { useImporterState } from '../../states/ImporterState';
|
import { useImporterState } from '../../states/ImporterState';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
CurrencyColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
LineItemColumn,
|
|
||||||
LinkColumn,
|
|
||||||
LocationColumn,
|
|
||||||
NoteColumn,
|
|
||||||
PartColumn,
|
|
||||||
ProjectCodeColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
TargetDateColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display a table of purchase order line items, for a specific order
|
* Display a table of purchase order line items, for a specific order
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
ReferenceColumn
|
ReferenceColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
import PurchaseOrderFilters from './PurchaseOrderFilters';
|
import PurchaseOrderFilters from './PurchaseOrderFilters';
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,6 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
|
||||||
import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms';
|
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
CompletionDateColumn,
|
CompletionDateColumn,
|
||||||
@@ -27,8 +23,12 @@ import {
|
|||||||
StatusColumn,
|
StatusColumn,
|
||||||
TargetDateColumn,
|
TargetDateColumn,
|
||||||
UpdatedAtColumn
|
UpdatedAtColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
|
import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms';
|
||||||
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import PurchaseOrderFilters from './PurchaseOrderFilters';
|
import PurchaseOrderFilters from './PurchaseOrderFilters';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { type ReactNode, useMemo } from 'react';
|
import { type ReactNode, useMemo } from 'react';
|
||||||
import { CompanyColumn, PartColumn } from '../ColumnRenderers';
|
import {
|
||||||
|
CompanyColumn,
|
||||||
|
PartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
|
|
||||||
export default function SupplierPartParametricTable({
|
export default function SupplierPartParametricTable({
|
||||||
|
|||||||
@@ -18,15 +18,6 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { IconPackageImport } from '@tabler/icons-react';
|
import { IconPackageImport } from '@tabler/icons-react';
|
||||||
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
|
||||||
import { useSupplierPartFields } from '../../forms/CompanyForms';
|
|
||||||
import {
|
|
||||||
useCreateApiFormModal,
|
|
||||||
useDeleteApiFormModal,
|
|
||||||
useEditApiFormModal
|
|
||||||
} from '../../hooks/UseForm';
|
|
||||||
import { usePluginsWithMixin } from '../../hooks/UsePlugins';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
BooleanColumn,
|
BooleanColumn,
|
||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
@@ -36,10 +27,19 @@ import {
|
|||||||
LinkColumn,
|
LinkColumn,
|
||||||
NoteColumn,
|
NoteColumn,
|
||||||
PartColumn
|
PartColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { TagsFilter } from '../Filter';
|
import { TagsFilter } from '../../components/tables/Filter';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
|
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
||||||
|
import { useSupplierPartFields } from '../../forms/CompanyForms';
|
||||||
|
import {
|
||||||
|
useCreateApiFormModal,
|
||||||
|
useDeleteApiFormModal,
|
||||||
|
useEditApiFormModal
|
||||||
|
} from '../../hooks/UseForm';
|
||||||
|
import { usePluginsWithMixin } from '../../hooks/UsePlugins';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Construct a table listing supplier parts
|
* Construct a table listing supplier parts
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ import { getDetailUrl } from '@lib/functions/Navigation';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
import type { ApiFormFieldSet } from '@lib/types/Forms';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { CompanyColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -23,8 +25,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { CompanyColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export function calculateSupplierPartUnitPrice(record: any) {
|
export function calculateSupplierPartUnitPrice(record: any) {
|
||||||
const pack_quantity = record?.part_detail?.pack_quantity_native ?? 1;
|
const pack_quantity = record?.part_detail?.pack_quantity_native ?? 1;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import {
|
|||||||
TargetDateBeforeFilter,
|
TargetDateBeforeFilter,
|
||||||
UpdatedAfterFilter,
|
UpdatedAfterFilter,
|
||||||
UpdatedBeforeFilter
|
UpdatedBeforeFilter
|
||||||
} from '../Filter';
|
} from '../../components/tables/Filter';
|
||||||
|
|
||||||
export default function ReturnOrderFilters({
|
export default function ReturnOrderFilters({
|
||||||
partId,
|
partId,
|
||||||
|
|||||||
@@ -16,6 +16,20 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
LineItemColumn,
|
||||||
|
LinkColumn,
|
||||||
|
NoteColumn,
|
||||||
|
PartColumn,
|
||||||
|
ProjectCodeColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
StatusColumn,
|
||||||
|
StockColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { StatusFilterOptions } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
import {
|
import {
|
||||||
useReceiveReturnOrderLineItems,
|
useReceiveReturnOrderLineItems,
|
||||||
@@ -28,20 +42,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import useStatusCodes from '../../hooks/UseStatusCodes';
|
import useStatusCodes from '../../hooks/UseStatusCodes';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DateColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
LineItemColumn,
|
|
||||||
LinkColumn,
|
|
||||||
NoteColumn,
|
|
||||||
PartColumn,
|
|
||||||
ProjectCodeColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
StatusColumn,
|
|
||||||
StockColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { StatusFilterOptions } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function ReturnOrderLineItemTable({
|
export default function ReturnOrderLineItemTable({
|
||||||
orderId,
|
orderId,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
ReferenceColumn
|
ReferenceColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
import ReturnOrderFilters from './ReturnOrderFilters';
|
import ReturnOrderFilters from './ReturnOrderFilters';
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,6 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
|
||||||
import { useReturnOrderFields } from '../../forms/ReturnOrderForms';
|
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
CompletionDateColumn,
|
CompletionDateColumn,
|
||||||
@@ -27,8 +23,12 @@ import {
|
|||||||
StatusColumn,
|
StatusColumn,
|
||||||
TargetDateColumn,
|
TargetDateColumn,
|
||||||
UpdatedAtColumn
|
UpdatedAtColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
|
import { useReturnOrderFields } from '../../forms/ReturnOrderForms';
|
||||||
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import ReturnOrderFilters from './ReturnOrderFilters';
|
import ReturnOrderFilters from './ReturnOrderFilters';
|
||||||
|
|
||||||
export function ReturnOrderTable({
|
export function ReturnOrderTable({
|
||||||
|
|||||||
@@ -18,6 +18,19 @@ import type { TableColumn } from '@lib/types/Tables';
|
|||||||
import { Alert } from '@mantine/core';
|
import { Alert } from '@mantine/core';
|
||||||
import { IconCircleX, IconTruckDelivery } from '@tabler/icons-react';
|
import { IconCircleX, IconTruckDelivery } from '@tabler/icons-react';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import {
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
LocationColumn,
|
||||||
|
PartColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
StatusColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import {
|
||||||
|
IncludeVariantsFilter,
|
||||||
|
StockLocationFilter
|
||||||
|
} from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { formatDate } from '../../defaults/formatters';
|
import { formatDate } from '../../defaults/formatters';
|
||||||
import { useSalesOrderAllocationFields } from '../../forms/SalesOrderForms';
|
import { useSalesOrderAllocationFields } from '../../forms/SalesOrderForms';
|
||||||
import {
|
import {
|
||||||
@@ -27,16 +40,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
LocationColumn,
|
|
||||||
PartColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
StatusColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { IncludeVariantsFilter, StockLocationFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function SalesOrderAllocationTable({
|
export default function SalesOrderAllocationTable({
|
||||||
partId,
|
partId,
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import {
|
|||||||
TargetDateBeforeFilter,
|
TargetDateBeforeFilter,
|
||||||
UpdatedAfterFilter,
|
UpdatedAfterFilter,
|
||||||
UpdatedBeforeFilter
|
UpdatedBeforeFilter
|
||||||
} from '../Filter';
|
} from '../../components/tables/Filter';
|
||||||
|
|
||||||
export default function SalesOrderFilters({
|
export default function SalesOrderFilters({
|
||||||
partId,
|
partId,
|
||||||
|
|||||||
@@ -30,6 +30,20 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { RenderPart } from '../../components/render/Part';
|
import { RenderPart } from '../../components/render/Part';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
DecimalColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
IPNColumn,
|
||||||
|
LineItemColumn,
|
||||||
|
LinkColumn,
|
||||||
|
ProjectCodeColumn,
|
||||||
|
ReferenceColumn,
|
||||||
|
RenderPartColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import RowExpansionIcon from '../../components/tables/RowExpansionIcon';
|
||||||
|
import { TableHoverCard } from '../../components/tables/TableHoverCard';
|
||||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||||
import { formatCurrency, formatDecimal } from '../../defaults/formatters';
|
import { formatCurrency, formatDecimal } from '../../defaults/formatters';
|
||||||
import { useBuildOrderFields } from '../../forms/BuildForms';
|
import { useBuildOrderFields } from '../../forms/BuildForms';
|
||||||
@@ -46,20 +60,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
DateColumn,
|
|
||||||
DecimalColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
IPNColumn,
|
|
||||||
LineItemColumn,
|
|
||||||
LinkColumn,
|
|
||||||
ProjectCodeColumn,
|
|
||||||
ReferenceColumn,
|
|
||||||
RenderPartColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import RowExpansionIcon from '../RowExpansionIcon';
|
|
||||||
import { TableHoverCard } from '../TableHoverCard';
|
|
||||||
import SalesOrderAllocationTable from './SalesOrderAllocationTable';
|
import SalesOrderAllocationTable from './SalesOrderAllocationTable';
|
||||||
|
|
||||||
export default function SalesOrderLineItemTable({
|
export default function SalesOrderLineItemTable({
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
DescriptionColumn,
|
DescriptionColumn,
|
||||||
ReferenceColumn
|
ReferenceColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import ParametricDataTable from '../general/ParametricDataTable';
|
import ParametricDataTable from '../general/ParametricDataTable';
|
||||||
import SalesOrderFilters from './SalesOrderFilters';
|
import SalesOrderFilters from './SalesOrderFilters';
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,14 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
CompanyColumn,
|
||||||
|
DateColumn,
|
||||||
|
LinkColumn,
|
||||||
|
StatusColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { TagsFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCheckShipmentForm,
|
useCheckShipmentForm,
|
||||||
useCompleteShipmentForm,
|
useCompleteShipmentForm,
|
||||||
@@ -34,14 +42,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
CompanyColumn,
|
|
||||||
DateColumn,
|
|
||||||
LinkColumn,
|
|
||||||
StatusColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { TagsFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function SalesOrderShipmentTable({
|
export default function SalesOrderShipmentTable({
|
||||||
showOrderInfo = false,
|
showOrderInfo = false,
|
||||||
|
|||||||
@@ -9,10 +9,6 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import { formatCurrency } from '../../defaults/formatters';
|
|
||||||
import { useSalesOrderFields } from '../../forms/SalesOrderForms';
|
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
|
||||||
import { useUserState } from '../../states/UserState';
|
|
||||||
import {
|
import {
|
||||||
AllocatedLinesProgressColumn,
|
AllocatedLinesProgressColumn,
|
||||||
CompanyColumn,
|
CompanyColumn,
|
||||||
@@ -29,8 +25,12 @@ import {
|
|||||||
StatusColumn,
|
StatusColumn,
|
||||||
TargetDateColumn,
|
TargetDateColumn,
|
||||||
UpdatedAtColumn
|
UpdatedAtColumn
|
||||||
} from '../ColumnRenderers';
|
} from '../../components/tables/ColumnRenderers';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
import { formatCurrency } from '../../defaults/formatters';
|
||||||
|
import { useSalesOrderFields } from '../../forms/SalesOrderForms';
|
||||||
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
|
import { useUserState } from '../../states/UserState';
|
||||||
import SalesOrderFilters from './SalesOrderFilters';
|
import SalesOrderFilters from './SalesOrderFilters';
|
||||||
|
|
||||||
export function SalesOrderTable({
|
export function SalesOrderTable({
|
||||||
|
|||||||
@@ -13,11 +13,14 @@ import { useDisclosure } from '@mantine/hooks';
|
|||||||
import { IconCircleX } from '@tabler/icons-react';
|
import { IconCircleX } from '@tabler/icons-react';
|
||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
import { api } from '../../App';
|
import { api } from '../../App';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
UserColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { UserFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { showApiErrorMessage } from '../../functions/notifications';
|
import { showApiErrorMessage } from '../../functions/notifications';
|
||||||
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
import { useCreateApiFormModal } from '../../hooks/UseForm';
|
||||||
import { BooleanColumn, UserColumn } from '../ColumnRenderers';
|
|
||||||
import { UserFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export function ApiTokenTable({
|
export function ApiTokenTable({
|
||||||
only_myself = true
|
only_myself = true
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ import { Alert, Text } from '@mantine/core';
|
|||||||
import { IconInfoCircle } from '@tabler/icons-react';
|
import { IconInfoCircle } from '@tabler/icons-react';
|
||||||
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
||||||
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
||||||
|
import { DescriptionColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal
|
useDeleteApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export type AssetI = {
|
export type AssetI = {
|
||||||
pk: number;
|
pk: number;
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ import useTable from '@lib/hooks/UseTable';
|
|||||||
import type { TableFilter } from '@lib/types/Filters';
|
import type { TableFilter } from '@lib/types/Filters';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { RenderUser } from '../../components/render/User';
|
import { RenderUser } from '../../components/render/User';
|
||||||
|
import { UserFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
||||||
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
import { useGlobalSettingsState } from '../../states/SettingsStates';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { UserFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Render detail information for a particular barcode scan result.
|
* Render detail information for a particular barcode scan result.
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import type {
|
|||||||
StatusCodeInterface,
|
StatusCodeInterface,
|
||||||
StatusCodeListInterface
|
StatusCodeListInterface
|
||||||
} from '../../components/render/StatusRenderer';
|
} from '../../components/render/StatusRenderer';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { statusColorMap } from '../../defaults/backendMappings';
|
import { statusColorMap } from '../../defaults/backendMappings';
|
||||||
import { useCustomStateFields } from '../../forms/CommonForms';
|
import { useCustomStateFields } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
@@ -28,7 +29,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useGlobalStatusState } from '../../states/GlobalStatusState';
|
import { useGlobalStatusState } from '../../states/GlobalStatusState';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table for displaying list of custom states
|
* Table for displaying list of custom states
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { customUnitsFields } from '../../forms/CommonForms';
|
import { customUnitsFields } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -19,7 +20,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table for displaying list of custom physical units
|
* Table for displaying list of custom physical units
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ import { t } from '@lingui/core/macro';
|
|||||||
import { ActionIcon, Alert, Badge, Group, HoverCard } from '@mantine/core';
|
import { ActionIcon, Alert, Badge, Group, HoverCard } from '@mantine/core';
|
||||||
import { IconExclamationCircle, IconTestPipe } from '@tabler/icons-react';
|
import { IconExclamationCircle, IconTestPipe } from '@tabler/icons-react';
|
||||||
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
import { type ReactNode, useCallback, useMemo, useState } from 'react';
|
||||||
|
import { DateColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal
|
useDeleteApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { DateColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
function EmailStatusBadge({
|
function EmailStatusBadge({
|
||||||
status
|
status
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
||||||
import { useInstance } from '../../hooks/UseInstance';
|
import { useInstance } from '../../hooks/UseInstance';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
function ErrorDetail({ errorId }: Readonly<{ errorId?: number }>) {
|
function ErrorDetail({ errorId }: Readonly<{ errorId?: number }>) {
|
||||||
const { id } = useParams();
|
const { id } = useParams();
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import { t } from '@lingui/core/macro';
|
|||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
||||||
import { RenderUser } from '../../components/render/User';
|
import { RenderUser } from '../../components/render/User';
|
||||||
|
import { DateColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { UserFilter } from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
import { useDeleteApiFormModal } from '../../hooks/UseForm';
|
||||||
import { DateColumn } from '../ColumnRenderers';
|
|
||||||
import { UserFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function ExportSessionTable() {
|
export default function ExportSessionTable() {
|
||||||
const table = useTable('exportsession');
|
const table = useTable('exportsession');
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function FailedTasksTable({
|
export default function FailedTasksTable({
|
||||||
onRecordsUpdated
|
onRecordsUpdated
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ import { IconUsersGroup } from '@tabler/icons-react';
|
|||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { EditApiForm } from '../../components/forms/ApiForm';
|
import { EditApiForm } from '../../components/forms/ApiForm';
|
||||||
import { RoleTable, type RuleSet } from '../../components/items/RoleTable';
|
import { RoleTable, type RuleSet } from '../../components/items/RoleTable';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal
|
useDeleteApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useInstance } from '../../hooks/UseInstance';
|
import { useInstance } from '../../hooks/UseInstance';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export interface GroupDetailI {
|
export interface GroupDetailI {
|
||||||
pk: number;
|
pk: number;
|
||||||
|
|||||||
@@ -12,6 +12,15 @@ import type { TableFilter } from '@lib/types/Filters';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
||||||
import { RenderUser } from '../../components/render/User';
|
import { RenderUser } from '../../components/render/User';
|
||||||
|
import {
|
||||||
|
DateColumn,
|
||||||
|
StatusColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import {
|
||||||
|
StatusFilterOptions,
|
||||||
|
UserFilter
|
||||||
|
} from '../../components/tables/Filter';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
||||||
import { useFilters } from '../../hooks/UseFilter';
|
import { useFilters } from '../../hooks/UseFilter';
|
||||||
import {
|
import {
|
||||||
@@ -20,9 +29,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import useStatusCodes from '../../hooks/UseStatusCodes';
|
import useStatusCodes from '../../hooks/UseStatusCodes';
|
||||||
import { useImporterState } from '../../states/ImporterState';
|
import { useImporterState } from '../../states/ImporterState';
|
||||||
import { DateColumn, StatusColumn } from '../ColumnRenderers';
|
|
||||||
import { StatusFilterOptions, UserFilter } from '../Filter';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function ImportSessionTable() {
|
export default function ImportSessionTable() {
|
||||||
const table = useTable('importsession');
|
const table = useTable('importsession');
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import type { TableColumn } from '@lib/types/Tables';
|
|||||||
import { notifications, showNotification } from '@mantine/notifications';
|
import { notifications, showNotification } from '@mantine/notifications';
|
||||||
import { IconTrashXFilled, IconX } from '@tabler/icons-react';
|
import { IconTrashXFilled, IconX } from '@tabler/icons-react';
|
||||||
import { api } from '../../App';
|
import { api } from '../../App';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
export default function PendingTasksTable({
|
export default function PendingTasksTable({
|
||||||
onRecordsUpdated
|
onRecordsUpdated
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ import { apiUrl } from '@lib/functions/Api';
|
|||||||
import useTable from '@lib/hooks/UseTable';
|
import useTable from '@lib/hooks/UseTable';
|
||||||
import type { TableFilter } from '@lib/index';
|
import type { TableFilter } from '@lib/index';
|
||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn,
|
||||||
|
ResponsibleColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { projectCodeFields } from '../../forms/CommonForms';
|
import { projectCodeFields } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
@@ -20,12 +26,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import {
|
|
||||||
BooleanColumn,
|
|
||||||
DescriptionColumn,
|
|
||||||
ResponsibleColumn
|
|
||||||
} from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table for displaying list of project codes
|
* Table for displaying list of project codes
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ 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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
|
|
||||||
export default function ScheduledTasksTable() {
|
export default function ScheduledTasksTable() {
|
||||||
const table = useTable('tasks-scheduled');
|
const table = useTable('tasks-scheduled');
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ import type { ApiFormFieldSet } from '@lib/types/Forms';
|
|||||||
import type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
import { IconLock } from '@tabler/icons-react';
|
import { IconLock } from '@tabler/icons-react';
|
||||||
import { EditApiForm } from '../../components/forms/ApiForm';
|
import { EditApiForm } from '../../components/forms/ApiForm';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
selectionEntryFields,
|
selectionEntryFields,
|
||||||
selectionListFields
|
selectionListFields
|
||||||
@@ -22,8 +27,6 @@ import {
|
|||||||
useEditApiFormModal
|
useEditApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useInstance } from '../../hooks/UseInstance';
|
import { useInstance } from '../../hooks/UseInstance';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
|
|
||||||
function SelectionListEntriesTable({
|
function SelectionListEntriesTable({
|
||||||
id,
|
id,
|
||||||
|
|||||||
@@ -14,14 +14,17 @@ import { UserRoles } from '@lib/enums/Roles';
|
|||||||
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 type { TableColumn } from '@lib/types/Tables';
|
import type { TableColumn } from '@lib/types/Tables';
|
||||||
|
import {
|
||||||
|
BooleanColumn,
|
||||||
|
DescriptionColumn
|
||||||
|
} from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import { selectionListFields } from '../../forms/CommonForms';
|
import { selectionListFields } from '../../forms/CommonForms';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal
|
useDeleteApiFormModal
|
||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import SelectionListDrawer from './SelectionListDrawer';
|
import SelectionListDrawer from './SelectionListDrawer';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ import {
|
|||||||
TemplateEditor
|
TemplateEditor
|
||||||
} from '../../components/editors/TemplateEditor';
|
} from '../../components/editors/TemplateEditor';
|
||||||
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
import { AttachmentLink } from '../../components/items/AttachmentLink';
|
||||||
|
import { DescriptionColumn } from '../../components/tables/ColumnRenderers';
|
||||||
|
import { InvenTreeTable } from '../../components/tables/InvenTreeTable';
|
||||||
import {
|
import {
|
||||||
useCreateApiFormModal,
|
useCreateApiFormModal,
|
||||||
useDeleteApiFormModal,
|
useDeleteApiFormModal,
|
||||||
@@ -35,8 +37,6 @@ import {
|
|||||||
} from '../../hooks/UseForm';
|
} from '../../hooks/UseForm';
|
||||||
import { useInstance } from '../../hooks/UseInstance';
|
import { useInstance } from '../../hooks/UseInstance';
|
||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { DescriptionColumn } from '../ColumnRenderers';
|
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
|
||||||
import type { TemplateI } from './TemplateTable';
|
import type { TemplateI } from './TemplateTable';
|
||||||
|
|
||||||
export type SnippetI = {
|
export type SnippetI = {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user