Zeke Zhang 0d0c81cc90
refactor: make the menu responsive to screen width (#6331)
* chore: convert routes

* chore: stash

* chore: stash

* feat: support to add menu item

* feat: add MenuSchemaToolbar

* refactor: extract EditMenuItem component

* feat: add hidden option

* refactor: extract HiddenMenuItem

* feat: add 'Move to' option

* feat: add insert options

* feat: remove route

* fix: children

* fix: route

* feat: enhance menu item rendering and group handling in admin layout

* feat: add container support to MenuSchemaToolbar and fix display issue in Group

* fix: add conditional check before moving routes in menu item settings

* feat(navigation): add default page navigation for admin layout

* chore(versions): 😊 publish v1.6.0-alpha.24

* feat: export AppNotFound component and integrate 404 handling in AdminDynamicPage

* fix: update admin layout route path to use item options URL

* chore(versions): 😊 publish v1.6.0-alpha.25

* refactor: rename route node retrieval functions for clarity and add legacy route compatibility

* refactor: clean up layout component by removing unused styles and improving header rendering

* refactor: simplify menu item components by removing unused schema insertion logic and optimizing imports

* refactor: add 'x-async' property to tab schema and clean up server imports

* refactor: tabs

* feat: support extending frontend filter operators (#6085)

* feat: operator extension

* fix: bug

* refactor: code improve

* fix: jsonLogic

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* feat: add fake schema for routing in SortableItem and remove unused fieldSchema import

* feat: adjust content padding in InternalAdminLayout for improved layout

* refactor: remove registerOperators (#6224)

* refactor(plugin-workflow): trigger workflow action settings (#6143)

* refactor(plugin-workflow): move bind workflow settings to plugin

* refactor(plugin-block-workbench): move component to core

* refactor(plugin-block-workbench): adjust component api

* fix(plugin-workflow-action-trigger): fix test cases

* fix(plugin-workflow): fix component scope

* fix(plugin-workflow-action-trigger): fix test cases

* chore(versions): 😊 publish v1.6.0-alpha.26

* feat: support the extension of preset fields in collections (#6183)

* feat: support the extension of preset fields in collections

* fix: bug

* fix: bug

* fix: bug

* refactor: create collection

* fix: config

* fix: test case

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* feat: replace SchemaComponent with RemoteSchemaComponent and add AppNotFound for empty tabs

* refactor: rename useCurrentRoute to useCurrentRouteData for clarity

* fix: redirect to first tab by default

* feat: support for the extension of optional fields for Kanban, Calendar, and Formula Field plugins (#6076)

* feat: kanban field extention

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* feat: calender title fields

* feat: background color fields

* fix: bug

* fix: bug

* feat: formula field expression support field

* feat: preset fields

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* revert: preset fields

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: locale

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale

* fix: test

* fix: bug

* fix: test

* fix: test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* fix: enhance access permission check and clean up unused props in Page component

* fix: adjust Action.Page style to set top position to 0

* fix: update redirect logic to point to the first page route in admin layout

* chore(versions): 😊 publish v1.6.0-alpha.27

* fix: add link handling in MenuItem to open URLs in a new tab

* fix(data-source-main): update order

* fix: integrate drag-and-drop functionality in MenuItem and Page components

* fix: add drag-and-drop support in admin layout and improve loading behavior

* fix: header style

* fix: set sider width in admin layout

* fix: refactor InternalAdminLayout for improved readability and maintainability

* fix: optimize token management in InternalAdminLayout for better styling consistency

* fix: style

* fix: avoid error

* fix: update container reference in MenuSchemaToolbarWithContainer

* fix: add icon style to MenuSchemaToolbar

* fix: remove bottom border from header in admin layout

* fix: add collapsed button render function to InternalAdminLayout

* fix: update viewport meta tag for better responsiveness

* fix: add MenuItemIcon component for conditional icon rendering in admin layout

* fix: wrap SchemaToolbar in SiderContext.Provider to prevent style issues in collapsed state

* fix: update InternalAdminLayout styles for improved menu item appearance

* fix: adjust menu item spacing and height for compact mode in admin layout

* fix: add collapse handling and page change logic in InternalAdminLayout

* fix: add header context provider and update MenuItemIcon rendering logic in InternalAdminLayout

* fix: replace Modal with App.useApp().modal in HiddenMenuItem for improved modal handling

* fix: enhance click area for links in MenuItem and streamline group navigation logic

* fix: refresh routes after adding link menu

* fix: add mobile actions popover for improved user interaction in admin layout

* fix: adjust layout width and margin for improved alignment in admin layout

* style: fix the style of the top collapsed menu button dropdown

* fix: add active background color for selected menu items in collapsed menu

* fix: improve z-index management for modal, drawer, and page components to prevent overlap with collapsed menu button

* fix: adjust position of collapsed button to prevent overlap with subpages

* fix: update collapsed button rendering to handle mobile context and prevent overlap with subpages

* fix: prevent schema data request for group pages in admin layout

* fix: handle undefined menu titles by providing a default value

* fix: add refresh functionality for desktop routes in menu permissions

* fix: adjust page header padding based on route settings and token

* fix: center text

* fix: add tooltip support for menu items in collapsed state

* fix: tooltip

* fix: improve page tab routing and deletion handling

* fix: adjust admin layout height to account for header

* fix: improve route navigation and deletion handling in admin layout

* chore: update version

* fix(routing): Add Navigate import from react-router-dom

* fix(e2e): locator

* test: remove demo and useless test case for Page component

* fix: improve page creation and routing in e2e utils

* fix: improve z-index handling for embedded pages

* feat(admin-layout): Add aria-label to menu item links for improved accessibility

* fix(mobile-ui): Adjust toolbar and navigation bar styling

* test(acl): Simplify menu item visibility test setup

* test: update e2e test templates and route handling

* fix: fix compatibility issues

* fix(admin-layout): improve default page navigation handling

* fix(acl): add optional chaining to prevent potential null/undefined error in uiButtonSchemasBlacklist check

* fix: keep alive

* fix(desktop-routes): enhance route retrieval with automatic child route inclusion

* test: add test

* fix(page): update navigation logic to use location pathname for tab routing

* fix(route): export CurrentRouteProvider for better accessibility in routing context

* refactor(layout): remove unused styles for cleaner code

* fix(layout): integrate useGlobalTheme for consistent theming and clean up unused parameters

* fix(route): improve route redirection logic

---------

Co-authored-by: nocobase[bot] <179432756+nocobase[bot]@users.noreply.github.com>
Co-authored-by: Katherine <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
2025-03-05 22:52:24 +08:00

89 lines
3.1 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { generatePlugins, getUmiConfig } from '@nocobase/devtools/umiConfig';
import path from 'path';
import { defineConfig } from 'umi';
const umiConfig = getUmiConfig();
process.env.MFSU_AD = 'none';
process.env.DID_YOU_KNOW = 'none';
const pluginPrefix = (process.env.PLUGIN_PACKAGE_PREFIX || '').split(',').filter((item) => !item.includes('preset')); // 因为现在 preset 是直接引入的,所以不能忽略,如果以后 preset 也是动态插件的形式引入,那么这里可以去掉
const isDevCmd = !!process.env.IS_DEV_CMD;
const appPublicPath = isDevCmd ? '/' : '{{env.APP_PUBLIC_PATH}}';
generatePlugins();
export default defineConfig({
title: 'Loading...',
devtool: process.env.NODE_ENV === 'development' ? 'source-map' : false,
favicons: [`${appPublicPath}favicon_no_exist.ico`], // 设置一个不存在的 favicon防止显示 Umi 默认的 favicon
metas: [{ name: 'viewport', content: 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' }],
links: [{ rel: 'stylesheet', href: `${appPublicPath}global.css` }],
headScripts: [
{
content: isDevCmd
? `
window['__nocobase_public_path__'] = "${process.env.APP_PUBLIC_PATH || '/'}";
window['__nocobase_dev_public_path__'] = "/";
`
: `
window['__webpack_public_path__'] = '{{env.APP_PUBLIC_PATH}}';
window['__nocobase_public_path__'] = '{{env.APP_PUBLIC_PATH}}';
window['__nocobase_api_base_url__'] = '{{env.API_BASE_URL}}';
window['__nocobase_api_client_storage_prefix__'] = '{{env.API_CLIENT_STORAGE_PREFIX}}';
window['__nocobase_api_client_storage_type__'] = '{{env.API_CLIENT_STORAGE_TYPE}}';
window['__nocobase_ws_url__'] = '{{env.WS_URL}}';
window['__nocobase_ws_path__'] = '{{env.WS_PATH}}';
`,
},
{
src: `${appPublicPath}browser-checker.js?v=1`,
},
],
cacheDirectoryPath: process.env.APP_CLIENT_CACHE_DIR || `node_modules/.cache`,
outputPath: path.resolve(__dirname, '../dist/client'),
hash: true,
alias: {
...umiConfig.alias,
},
define: {
...umiConfig.define,
'process.env.USE_REMOTE_PLUGIN': process.env.USE_REMOTE_PLUGIN,
},
proxy: {
...umiConfig.proxy,
},
publicPath: 'auto',
fastRefresh: false, // 热更新会导致 Context 丢失,不开启
mfsu: false,
esbuildMinifyIIFE: true,
// srcTranspiler: 'esbuild', // 不行,各种报错
// mfsu: {
// esbuild: true // 不行,各种报错
// },
// 浏览器兼容性,兼容到 2018 年的浏览器
targets: {
chrome: 69,
edge: 79,
safari: 12,
},
jsMinifierOptions: {
target: ['chrome80', 'es2020'],
},
codeSplitting: {
jsStrategy: 'depPerChunk',
},
chainWebpack(config, { env }) {
if (env === 'production') {
config.plugin('ignore nocobase plugins').use(require('webpack').IgnorePlugin, [
{
resourceRegExp: new RegExp(pluginPrefix.join('|')),
},
]);
}
return config;
},
extraBabelPlugins: ['react-imported-component/babel'],
routes: [{ path: '/*', component: 'index' }],
});