mirror of
https://github.com/inventree/InvenTree.git
synced 2025-05-01 04:56:45 +00:00
* Adds basic API endpoint for requesting plugin panels * Split PanelType out into own file * Placeholder for a plugin panel loaded dynamically * Add some dummy data for the plugin panels * Example of plugin panel selection based on page * Expose some global window attributes * Add new setting * Disable panel return if plugin integration is not enabled * Update hook to auto-magically load plugin panels * Allow custom panel integration for more panel groups * Remove debug call * Tweak query return data * async fn * Adds <PluginPanel> component for handling panel render * Cleanup * Prevent API requests before instance ID is known * Pass instance data through * Framework for a sample plugin which implements custom panels * offload custom panels to sample plugin * Load raw HTML content * Expand custom panel rendering demo * Adjust API endpoints * Add function to clear out static files which do not match installed plugin(s) * Update static files when installing plugins from file * Update static files when installing or uninstalling a plugin * Update static files on config change * Pass more information through to plugin panels * Prepend hostname to plugin source * Pass instance detail through * Cleanup code for passing data through to plugin panels - Define interface type - Shorten variable names * Update docs requirements * Revert "Update docs requirements" This reverts commit 63a06d97f58ae15d837babb799b9ed8b22c3802b. * Add placeholder for documentation * Fix imports * Add a broken panel which tries to load a non-existent javascript file * Render error message if plugin does not load correctly * Only allow superuser to perform plugin actions * Code cleanup * Add "dynamic" contnt - javascript file - to example plugin * Remove default values * Cleanup unused code * PanelGroup updates * Cleanup hooks for changing panel state * More work needed... * Code cleanup * More updates / refactoring - Allow dynamic hiding of a particular panel - Pass target ref as positional argument - Better handling of async calls * Documentation * Bump API version * Provide theme object to plugin context * Adjust sample plugin * Docs updates * Fix includefile call in docs * Improve type annotation * Cleanup * Enable plugin panels for "purchasing index" and "sales index" pages * Fix for plugin query check * Improvements to panel selection - Code refactor / cleanup - Ensure that a valid panel is always displayed - Allow plugin panels to persist, even after reload * Playwright test fixes * Update src/frontend/src/hooks/UsePluginPanels.tsx Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com> * Update src/frontend/src/components/plugins/PluginPanel.tsx Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com> * Update src/frontend/src/components/plugins/PluginContext.tsx Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com> * Fix context * Add more context data * Docs updates * Reimplement local state * Fix mkdocs.yml * Expose 'colorScheme' to plugin context * Define CustomPanel type definition * Add unit testing for user interface plugins * Add front-end tests for plugin panels * Add new setting to plugin_settings_keys * Adds helper function for annotating build line allocations * Improve query efficiency - Especially around unit testing - Ensure all settings are generated - Do not auto-create settings during registry load * Improve query efficiency for build order operations * Reduce max query count for specific test * Revert query count limit * playwright test updates --------- Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com>
56 lines
1.2 KiB
TypeScript
56 lines
1.2 KiB
TypeScript
import { defineConfig, devices } from '@playwright/test';
|
|
|
|
export default defineConfig({
|
|
testDir: './tests',
|
|
fullyParallel: true,
|
|
timeout: 90000,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 1 : 0,
|
|
workers: process.env.CI ? 2 : undefined,
|
|
reporter: process.env.CI ? [['html', { open: 'never' }], ['github']] : 'list',
|
|
|
|
/* Configure projects for major browsers */
|
|
projects: [
|
|
{
|
|
name: 'chromium',
|
|
use: {
|
|
...devices['Desktop Chrome']
|
|
}
|
|
},
|
|
{
|
|
name: 'firefox',
|
|
use: {
|
|
...devices['Desktop Firefox']
|
|
}
|
|
}
|
|
],
|
|
|
|
/* Run your local dev server before starting the tests */
|
|
webServer: [
|
|
{
|
|
command: 'yarn run dev',
|
|
url: 'http://localhost:5173',
|
|
reuseExistingServer: !process.env.CI,
|
|
stdout: 'pipe',
|
|
stderr: 'pipe',
|
|
timeout: 120 * 1000
|
|
},
|
|
{
|
|
command: 'invoke dev.server -a 127.0.0.1:8000',
|
|
env: {
|
|
INVENTREE_DEBUG: 'True',
|
|
INVENTREE_PLUGINS_ENABLED: 'True'
|
|
},
|
|
url: 'http://127.0.0.1:8000/api/',
|
|
reuseExistingServer: !process.env.CI,
|
|
stdout: 'pipe',
|
|
stderr: 'pipe',
|
|
timeout: 120 * 1000
|
|
}
|
|
],
|
|
use: {
|
|
baseURL: 'http://localhost:5173',
|
|
trace: 'on-first-retry'
|
|
}
|
|
});
|