A series of tool functions to assist Dash application development.
Project description
feffery-dash-utils
包含一系列用于提升Dash
应用开发效率的工具函数/工具类。
目录
安装
配合 vscode 插件
已有工具函数/工具类列表
参与贡献
开发计划
安装
pip install feffery-dash-utils -U
配合 vscode 插件
在vscode
中配合插件feffery-dash-snippets可快捷实现对各工具函数/工具类的快捷导入,示例:
已有工具函数/工具类列表
- style_utils
- tree_utils
- i18n_utils
style()
用于快捷生成Dash
组件的style
参数字典,内置了绝大多数小驼峰命名格式的常用css
属性,在常见 ide 中将鼠标悬停于参数名之上可查看对应的中英文属性功能介绍,内容基于w3cschool
自动生成。
使用示例
from feffery_dash_utils.style_utils import style
# 方式一:直接编写键值对样式
fac.AntdText(
'测试',
style=style(
fontSize=16,
color='red'
)
)
# 方式二:解析CSS代码片段
fac.AntdText(
'测试',
style=style(
"""
.IvkwhTOsc9wu6RdvHESR .yK52Sq0w7wspWaS28YNl {
width: 91.46%;
margin-left: 4.27%;
margin-bottom: 5%;
position: relative;
}"""
)
)
# 方式三:混合使用
fac.AntdText(
'测试',
style=style(
"""
.IvkwhTOsc9wu6RdvHESR .yK52Sq0w7wspWaS28YNl {
width: 91.46%;
margin-left: 4.27%;
margin-bottom: 5%;
position: relative;
}""",
fontSize=16,
color='red'
)
)
TreeManager
用于对类似AntdTree
、AntdTreeSelect
等树形组件所依赖的树形结构数据进行快捷管理操作,具体包含的方法有:
update_tree_node()
用于对树形结构数据中指定key
对应节点进行整体或增量更新。
使用示例
from feffery_dash_utils.tree_utils import TreeManager
# 示例树形数据
demo_tree = [
{
'title': '节点1',
'key': '节点1',
'children': [
{
'title': '节点1-1',
'key': '节点1-1',
'children': [
{
'title': '节点1-1-1',
'key': '节点1-1-1',
},
{
'title': '节点1-1-2',
'key': '节点1-1-2',
},
],
}
],
},
{'title': '节点2', 'key': '节点2'},
]
# 对示例树形数据指定节点进行整体替换
TreeManager.update_tree_node(
demo_tree,
'节点1-1',
{'title': '节点1-1', 'key': '节点1-1'},
)
# 对示例树形数据指定节点进行增量更新
TreeManager.update_tree_node(
demo_tree,
'节点1-1',
{'title': '节点1-1new'},
'overlay',
)
add_node_before()
在树形结构数据中指定key
对应节点之前插入平级新节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager
# 示例树形数据
demo_tree = [
{
'title': '节点1',
'key': '节点1',
'children': [
{
'title': '节点1-1',
'key': '节点1-1',
'children': [
{
'title': '节点1-1-1',
'key': '节点1-1-1',
},
{
'title': '节点1-1-2',
'key': '节点1-1-2',
},
],
}
],
},
{'title': '节点2', 'key': '节点2'},
]
# 在示例树形数据指定节点前插入平级新节点
TreeManager.add_node_before(
demo_tree,
'节点1-1',
{'title': '节点1-0', 'key': '节点1-0'},
)
add_node_after()
在树形结构数据中指定key
对应节点之后插入平级新节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager
# 示例树形数据
demo_tree = [
{
'title': '节点1',
'key': '节点1',
'children': [
{
'title': '节点1-1',
'key': '节点1-1',
'children': [
{
'title': '节点1-1-1',
'key': '节点1-1-1',
},
{
'title': '节点1-1-2',
'key': '节点1-1-2',
},
],
}
],
},
{'title': '节点2', 'key': '节点2'},
]
# 在示例树形数据指定节点后插入平级新节点
TreeManager.add_node_after(
demo_tree,
'节点1-1',
{'title': '节点1-2', 'key': '节点1-2'},
)
delete_node()
删除树形结构数据中指定key
对应节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager
# 示例树形数据
demo_tree = [
{
'title': '节点1',
'key': '节点1',
'children': [
{
'title': '节点1-1',
'key': '节点1-1',
'children': [
{
'title': '节点1-1-1',
'key': '节点1-1-1',
},
{
'title': '节点1-1-2',
'key': '节点1-1-2',
},
],
}
],
},
{'title': '节点2', 'key': '节点2'},
]
# 删除示例树形数据指定节点
TreeManager.delete_node(demo_tree, '节点2')
get_node()
查询树形结构数据中指定key
对应节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager
# 示例树形数据
demo_tree = [
{
'title': '节点1',
'key': '节点1',
'children': [
{
'title': '节点1-1',
'key': '节点1-1',
'children': [
{
'title': '节点1-1-1',
'key': '节点1-1-1',
},
{
'title': '节点1-1-2',
'key': '节点1-1-2',
},
],
}
],
},
{'title': '节点2', 'key': '节点2'},
]
# 查询示例树形数据中存在的指定节点
TreeManager.get_node(demo_tree, '节点1-1')
# 查询示例树形数据中不存在的指定节点(将返回None)
TreeManager.get_node(demo_tree, '节点1-666')
Translator
用于在Dash
应用中快捷构建国际化多语种方案,基于前端cookies
和本地国际化配置文件驱动。
使用示例
示例应用见i18n_test_app.py,参考配置文件见locales.json。
参与贡献
git clone https://github.com/CNFeffery/feffery-dash-utils.git
cd feffery-dash-utils
# 安装开发环境所需依赖
pip install -r requirements/dev.txt
开发计划
- 样式相关工具函数子模块
style_utils
-
style
参数编写辅助函数style()
-
- 布局相关工具函数子模块
layout_utils
- 模板相关工具函数子模块
template_utils
- 表格相关工具函数子模块
table_utils
- 回调函数相关工具函数子模块
callback_utils
- 树形处理相关工具函数子模块
tree_utils
- 树形数据结构管理类
TreeManager
- 树节点更新函数
update_tree_node()
- 树节点前置插入函数
add_node_before()
- 树节点后置插入函数
add_node_after()
- 树节点删除函数
delete_node()
- 树节点查询函数
get_node()
- 树节点更新函数
- 树形数据结构管理类
- 主题样式相关工具函数子模块
theme_utils
- 国际化相关工具函数子模块
i18n_utils
- 文案内容快捷国际化操作类
Translator
- 文案内容快捷国际化操作类
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file feffery_dash_utils-0.1.4.tar.gz
.
File metadata
- Download URL: feffery_dash_utils-0.1.4.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2c0ad128928da62b1724c2b23ed1c15f6cd5e75d6451ff7fa2a9fa49a2894c3 |
|
MD5 | 8e03ab15042234ef2ab0cc0ae56d8101 |
|
BLAKE2b-256 | 32445d17f7c7f2c2d6226b6960be136b1486d277043b8d20aca47e08b4a9d1da |
File details
Details for the file feffery_dash_utils-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: feffery_dash_utils-0.1.4-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bb9f43bf50dd714496343174f268c42d9ac3c34198f0a19ba2aab169d0a3c4c |
|
MD5 | 915b27a0e7ca0d322581ad26b36fcb44 |
|
BLAKE2b-256 | 66d88ae97f661aeb3818c355c906e4f58784e7ad35432b38a62895abaa45e7dd |