mirror of
https://github.com/inventree/InvenTree.git
synced 2026-07-18 04:33:48 +00:00
[UI] Preview Drawer (#12117)
* Add <GlobalPreviewDrawer> component * Allow plugins to interact * provide either pk or instance data * open preview drawer from calendar views * Launch preview drawer directly from tables * Add preview types * Fix types * CLear data on close * Fix transition * Allow caller to pass preview component * AttributeGrid * Use a table component * Display info items * Navigate to detail page from drawer * Updates * Refactor to use part detail view * Display parameters * Fix image caching * Apply same to StockItem * Remove old component * Refactor details grid component * Preview panel for PurchaseOrder model * Implement for SalesOrder * Support ReturnOrder * SupplierPart and ManufacturerPart * Support preview in parameteric tables * support Company and BuildOrder * Fix numbervalue * BuildOrder and SalesOrderShipment * location and category * add user setting * Fix typing * Handle link clicks within preview drawer * fixes * Implement onClose callback * Handle row click when panel preview is disabled * Support custom detail links * update playwright tests * UI tweaks * Add CHANGELOG entry * docs * define default API params per model type * Split out more docs pages * Simplify state ref * Refactoring * Simplify PreviewDrawer component * observe user setting in calendar view * Enable PreviewDrawer from RowViewAction * Push render functions onto ModelInformation dict * Fix lib compilation * Refactor internal uses of RowViewAction * typescript fixes * Simplify PreviewDrawer component structure * remove TODO placeholders
This commit is contained in:
@@ -10,7 +10,7 @@ import {
|
||||
} from '@tabler/icons-react';
|
||||
import { type ReactNode, useMemo, useState } from 'react';
|
||||
import { cancelEvent } from '../functions/Events';
|
||||
import { getDetailUrl } from '../functions/Navigation';
|
||||
import { eventModified, getDetailUrl } from '../functions/Navigation';
|
||||
import { navigateToLink } from '../functions/Navigation';
|
||||
import type { RowAction, RowViewProps } from '../types/Tables';
|
||||
|
||||
@@ -23,8 +23,18 @@ export function RowViewAction(props: RowViewProps): RowAction {
|
||||
color: undefined,
|
||||
icon: <IconArrowRight />,
|
||||
onClick: (event: any) => {
|
||||
const url = getDetailUrl(props.modelType, props.modelId);
|
||||
navigateToLink(url, props.navigate, event);
|
||||
const showPreviewPanel = props.isPreviewEnabled?.() ?? false;
|
||||
|
||||
if (
|
||||
!showPreviewPanel ||
|
||||
eventModified(event as any) ||
|
||||
!props.openPreview
|
||||
) {
|
||||
const url = getDetailUrl(props.modelType, props.modelId);
|
||||
navigateToLink(url, props.navigate, event);
|
||||
} else {
|
||||
props.openPreview(props.modelType, props.modelId);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user