From af0bea2e9fb234639d4ab75875b62d331f775aa0 Mon Sep 17 00:00:00 2001 From: wintsa <770775984@qq.com> Date: Wed, 13 May 2026 16:32:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=85=81=E8=AE=B8=E7=82=B9?= =?UTF-8?q?=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../console-2026-05-13T08-22-17-883Z.log | 1 + .../console-2026-05-13T08-32-16-668Z.log | 2 + .../page-2026-05-13T08-32-17-264Z.yml | 80 +++++++++++++++++++ src/App.tsx | 20 +++-- src/styles.css | 9 ++- vite-test.err.log | 1 + vite-test.out.log | 5 ++ 7 files changed, 111 insertions(+), 7 deletions(-) create mode 100644 .playwright-mcp/console-2026-05-13T08-22-17-883Z.log create mode 100644 .playwright-mcp/console-2026-05-13T08-32-16-668Z.log create mode 100644 .playwright-mcp/page-2026-05-13T08-32-17-264Z.yml create mode 100644 vite-test.err.log create mode 100644 vite-test.out.log diff --git a/.playwright-mcp/console-2026-05-13T08-22-17-883Z.log b/.playwright-mcp/console-2026-05-13T08-22-17-883Z.log new file mode 100644 index 0000000..1a0b828 --- /dev/null +++ b/.playwright-mcp/console-2026-05-13T08-22-17-883Z.log @@ -0,0 +1 @@ +[ 550538ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=ae174d51:20102 diff --git a/.playwright-mcp/console-2026-05-13T08-32-16-668Z.log b/.playwright-mcp/console-2026-05-13T08-32-16-668Z.log new file mode 100644 index 0000000..69e0344 --- /dev/null +++ b/.playwright-mcp/console-2026-05-13T08-32-16-668Z.log @@ -0,0 +1,2 @@ +[ 136ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=ae174d51:20102 +[ 595ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://127.0.0.1:5173/favicon.ico:0 diff --git a/.playwright-mcp/page-2026-05-13T08-32-17-264Z.yml b/.playwright-mcp/page-2026-05-13T08-32-17-264Z.yml new file mode 100644 index 0000000..80af2f7 --- /dev/null +++ b/.playwright-mcp/page-2026-05-13T08-32-17-264Z.yml @@ -0,0 +1,80 @@ +- main [ref=e3]: + - generic: + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - region "年度费用模板" [ref=e4]: + - generic "筛选条件" [ref=e5]: + - button "省市区" [ref=e6] [cursor=pointer]: + - img [ref=e7] + - generic [ref=e11]: 省市区 + - button "自然地理区位" [ref=e12] [cursor=pointer]: + - img [ref=e13] + - generic [ref=e16]: 自然地理区位 + - button "设施类别" [ref=e17] [cursor=pointer]: + - img [ref=e18] + - generic [ref=e22]: 设施类别 + - button "建设阶段" [ref=e23] [cursor=pointer]: + - img [ref=e24] + - generic [ref=e29]: 建设阶段 + - button "规划形式" [ref=e30] [cursor=pointer]: + - img [ref=e31] + - generic [ref=e36]: 规划形式 + - region "年度总费用图表" [ref=e37]: + - generic [ref=e38]: + - button "纵坐标:造价(元)" [ref=e40] [cursor=pointer]: 造价(元) + - generic [ref=e41]: + - figure "图表,共有0个系列": + - generic [ref=e42]: + - img "interactive chart": + - generic: + - img + - img + - region [ref=e43] + - toolbar "标注" [ref=e44]: + - button "库" [ref=e45] [cursor=pointer]: + - generic: + - generic: 库 + - button "树" [ref=e46] [cursor=pointer]: + - generic: + - generic: 树 + - button "均" [ref=e47] [cursor=pointer]: + - generic: 均 + - button "Line Tool" [disabled] [ref=e48] + - button "Text Tool" [disabled] [ref=e49] + - button "Shape Tool" [disabled] [ref=e50] + - button "Fibonacci Tool" [disabled] [ref=e51] + - button "全屏(F11)" [ref=e52] [cursor=pointer] + - button "Clear annotations" [disabled] [ref=e53] + - status: + - generic: 请选择右侧分类项 + - toolbar "缩放" [ref=e54]: + - button "缩小" [disabled] [ref=e55] + - button "放大" [ref=e56] [cursor=pointer] + - button "左移" [disabled] [ref=e57] + - button "右移" [disabled] [ref=e58] + - button "重置" [disabled] [ref=e59] + - complementary "选择内容" [ref=e60]: + - tablist "选择内容切换项" [ref=e61]: + - tab "自然地理区位" [selected] [ref=e62] [cursor=pointer] + - tab "设施类别" [ref=e63] [cursor=pointer] + - tab "建设阶段" [ref=e64] [cursor=pointer] + - tab "规划形式" [ref=e65] [cursor=pointer] + - generic [ref=e66]: + - generic [ref=e67]: 自然地理区位 + - generic [ref=e68]: 加载中 \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index f102ea9..00c5b87 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1463,18 +1463,27 @@ function App() { button.setAttribute(name, value); } }; + const enableCustomToolbarButton = (button: HTMLButtonElement) => { + if (button.disabled) { + button.disabled = false; + } + if (button.hasAttribute('disabled')) { + button.removeAttribute('disabled'); + } + setButtonAttribute(button, 'aria-disabled', 'false'); + }; const syncToolbarButtons = () => { const templateButton = getTemplateButton(); if (templateButton) { templateButton.classList.add('chart-template-button'); - setButtonAttribute(templateButton, 'aria-disabled', 'false'); + enableCustomToolbarButton(templateButton); setButtonAttribute(templateButton, 'aria-expanded', String(filterModalKey === 'templateLibrary')); } const indicatorButton = getIndicatorButton(); if (indicatorButton) { indicatorButton.classList.add('chart-indicator-button'); - setButtonAttribute(indicatorButton, 'aria-disabled', 'false'); + enableCustomToolbarButton(indicatorButton); setButtonAttribute(indicatorButton, 'aria-expanded', String(filterModalKey === 'indicatorTree')); } @@ -1489,7 +1498,7 @@ function App() { const isFullscreen = document.fullscreenElement === fullscreenTarget; button.classList.add('chart-fullscreen-button'); button.classList.toggle('ag-charts-toolbar__button--active', isFullscreen); - setButtonAttribute(button, 'aria-disabled', 'false'); + enableCustomToolbarButton(button); setButtonAttribute(button, 'aria-pressed', String(isFullscreen)); icon?.classList.toggle('anticon-arrow-salt', !isFullscreen); icon?.classList.toggle('anticon-shrink', isFullscreen); @@ -1498,7 +1507,7 @@ function App() { const statisticButton = getStatisticButton(); if (statisticButton) { statisticButton.classList.add('chart-statistic-button'); - setButtonAttribute(statisticButton, 'aria-disabled', 'false'); + enableCustomToolbarButton(statisticButton); setButtonAttribute(statisticButton, 'aria-expanded', String(statisticMenuOpen)); } }; @@ -1586,6 +1595,7 @@ function App() { window.setTimeout(syncToolbarButtons, 0), window.setTimeout(syncToolbarButtons, 100), window.setTimeout(syncToolbarButtons, 500), + window.setTimeout(syncToolbarButtons, 1000), ]; document.addEventListener('keydown', handleKeyDown, true); document.addEventListener('fullscreenchange', handleFullscreenChange); @@ -1606,7 +1616,7 @@ function App() { frame.removeEventListener('keydown', handleToolbarKeyDown, true); observer.disconnect(); }; - }, [appliedFilters, filterModalKey, filterTreeByKey, statisticMenuOpen]); + }, [activeContentKey, appliedFilters, filterModalKey, filterTreeByKey, selectedContentNodes.length, statisticMenuOpen]); const chartOptions = useMemo(() => { const groupNames: string[] = []; diff --git a/src/styles.css b/src/styles.css index d62a484..114aec7 100644 --- a/src/styles.css +++ b/src/styles.css @@ -361,8 +361,12 @@ button { .chart-frame .chart-template-button, .chart-frame .chart-indicator-button, -.chart-frame .chart-statistic-button { +.chart-frame .chart-statistic-button, +.chart-frame .chart-fullscreen-button { color: #46413b; + cursor: pointer !important; + opacity: 1 !important; + pointer-events: auto !important; } .chart-frame .ag-charts-myButton-template, @@ -378,7 +382,8 @@ button { .chart-frame .chart-template-button[aria-expanded="true"], .chart-frame .chart-indicator-button[aria-expanded="true"], -.chart-frame .chart-statistic-button[aria-expanded="true"] { +.chart-frame .chart-statistic-button[aria-expanded="true"], +.chart-frame .chart-fullscreen-button.ag-charts-toolbar__button--active { color: #0078a8; border-color: rgba(0, 120, 168, 0.36); background: rgba(255, 252, 248, 0.94); diff --git a/vite-test.err.log b/vite-test.err.log new file mode 100644 index 0000000..d5308a4 --- /dev/null +++ b/vite-test.err.log @@ -0,0 +1 @@ +$ vite --host 0.0.0.0 --host "127.0.0.1" --port "5173" diff --git a/vite-test.out.log b/vite-test.out.log new file mode 100644 index 0000000..5ff076f --- /dev/null +++ b/vite-test.out.log @@ -0,0 +1,5 @@ + + VITE v7.3.2 ready in 283 ms + + ➜ Local: http://127.0.0.1:5173/ + ➜ press h + enter to show help