两种模式
最近微信的暗黑模式似乎比较火,为大家熬夜又增添一些乐趣,这次说一下Metabase里面的扩展新的模式,熟悉Metabase的人都知道,Metabase的看板dashboard有两种模式:白天模式
、夜间模式
白天模式:
夜间模式:
- 由于Metabase BI开源版本只支持白天、夜晚两种模式,现改造可进行定制开发,并支持切换多模式。
- Metabase BI主题是采用前端参数配置,未将主题设置保存数据库,保留原有设计,通过参数控制主题显示。
- 后期根据用户需求进行定制改造即可
如何扩展模式呢
新增模式
修改文件 /metabase/frontend/src/metabase/components/icons/NightModeIcon.jsx
1 | const OPTIONS = [ |
模式图标定制
Metabase主推图标icon采用的svg path方式,修改文件/metabase/frontend/src/metabase/icon_paths.js
例如:
1 | moon: |
模式样式修改
修改文件/metabase/frontend/src/metabase/css/dashboard.css
样式涉及dashboard背景、标题,card图例、标题、背景等样式,所以将各样式设置Dashboard–+主题标识的方式
1 | /* moon mode start*/ |
模式使用
模式切换
重新打包发布应用,重启应用程序,web端进入dashboard编辑或者预览的全屏模式先,点击切换模式即可
原模式切换:
改造后模式切换:
参数配置化
url+#theme=模式标识
如:http://localhost:3000/dashboard/10#theme=blue
注意点
源码中模式切换是Boolean
类型,如果改成多模式,就不止两种类型,所有需要改成String
类型
交流学习
刚建的群,学习Metabase、Davinci等开源BI,群号:72569367,感兴趣的可以加一下。