主要亮点
此版本对布局和推拉菜单插件进行了重大的 JavaScript 重构,修复了影响打印、分页、模态框和动画的几个错误,并将所有依赖项更新到了最新的语义化版本兼容版本。
错误修复
- 打印布局:侧边栏和主要内容区域现在在浏览器打印预览中均可见(#5982,PR #5996 由 @herley-shaori 贡献)
- 分页圆角边框:同步了
_bootstrap-variables.scss中 calc 语法与 Bootstrap 5.3 的一致,修复了分组分页按钮显示全圆角边框的问题(#5951,由 @Kneemund 报告) - ESC 键与模态框:
handleEscapeKey()方法不再绕过 Bootstrap 5 中模态框的keyboard: false选项(#5993,由 @braytac 报告) - slideDown/slideUp 动画:修复了持续时间为 0 时
setTimeout排序不可靠的问题,该问题曾导致侧边栏树形菜单的即时打开功能失效(#5964,PR 由 @Kneemund 贡献) - CSS 代码检查:修复了打印布局规则中的属性顺序问题(#5997,由 @lfiorini 报告)
重构
-
布局过渡效果处理(#5956 由 @dfsmania 贡献):
- 修复了有缺陷的
holdTransition定时器(局部变量提升为实例属性) - 移除了每次调用时重复注册的
resize事件监听器 - 将布局初始化整合到
layout.ts中(移除adminlte.ts中的重复代码) - 将
app-loaded类的应用移到了布局 Data API 部分
- 修复了有缺陷的
-
推拉菜单插件全面重构(#5954 由 @dfsmania 贡献):
- 使用单个
PushMenu实例,而非为每个事件处理程序创建新实例 - 正确分离了
setupSidebarBreakPoint()和updateStateByResponsiveLogic()方法 sidebar-open类仅在移动端视口下添加(与 v3 版本的行为一致)- 配置现可从侧边栏元素的数据属性中读取
- 移除了未使用的
menusClose()方法和废弃常量
- 使用单个
改进
- 登录/注册框宽度:从 360px 增加到 400px,以获得更好的表单可读性(#5963 由 @dfsmania 贡献)
- TypeScript 编译:在
tsconfig.json中添加了removeComments: true,未压缩版的adminlte.js体积减少了约 15%(#5953 由 @dfsmania 贡献)
依赖项更新
所有依赖包均已更新至最新的语义化版本兼容版本:
@astrojs/check0.9.7,@astrojs/mdx4.3.13@typescript-eslint/*8.57.0astro5.18.0,autoprefixer10.4.27eslint9.39.4,eslint-plugin-astro1.6.0fs-extra11.3.4,nodemon3.1.14postcss8.5.8,prettier3.8.1rimraf6.1.3,rollup4.59.0sass1.97.3,terser5.46.0
破坏性变更
-
侧边栏状态持久化现为可选功能:
enablePersistence的默认值改为false(此前为true)。如需恢复在页面加载间记忆侧边栏状态的原有行为,请在侧边栏元素上添加data-enable-persistence="true"属性:<aside class="app-sidebar" data-enable-persistence="true"></aside>
贡献者
感谢所有为此版本做出贡献的朋友:
- @dfsmania(Diego Smania)—— 布局重构、推拉菜单重构、登录框宽度调整、tsconfig 清理
- @herley-shaori(Herley)—— 打印布局修复
- @Kneemund(Moritz Mechelk)—— 分页 bug 报告、slideDown/slideUp 修复
- @braytac —— ESC 键模态框 bug 报告
- @lfiorini —— CSS 代码检查问题报告