A series of tool functions to assist Dash application development.
Project description
feffery-dash-utils
包含一系列用于提升Dash
应用开发效率的工具函数/工具类。
目录
安装
pip install feffery-dash-utils -U
已有工具函数/工具类列表
- style_utils
- tree_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')
参与贡献
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
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
feffery_dash_utils-0.1.2.tar.gz
(19.3 kB
view details)
Built Distribution
File details
Details for the file feffery_dash_utils-0.1.2.tar.gz
.
File metadata
- Download URL: feffery_dash_utils-0.1.2.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67e1c92dcac55f2061f5120c36f149faf1eee80942b212b77810889e4b0804cd |
|
MD5 | b65860f12074db01fc17085b756e90ae |
|
BLAKE2b-256 | da8abb513cc0b6bd919b0ae5c9bb6497f8d789448096695b3305380b98f841a9 |
File details
Details for the file feffery_dash_utils-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: feffery_dash_utils-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3c280d433655dd134ac07f1fc48daf5c190ae759a583abf4576d182aabf555 |
|
MD5 | b16318e2d0c7aff06ca7c523ecd7a877 |
|
BLAKE2b-256 | 8dda20c34a8dc85731761a74df4475072a1cdea8cb5a5cc5f5f33e333812b434 |