feffery dash utils
1.0.0
簡體中文| English
包含一系列用於提升Dash應用開發效率的工具函數/工具類。
安裝配合vscode 插件已有工具函數/工具類列表參與貢獻開發計劃
pip install feffery-dash-utils -U在vscode中配合插件feffery-dash-snippets可快捷實現對各工具函數/工具類的快捷導入,在Python文件中輸入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、i18n_multi_test_app.py,參考配置文件見locales.json、locales1.json、locales2.json
git clone https://github.com/CNFeffery/feffery-dash-utils.git
cd feffery-dash-utils
# 安装开发环境所需依赖
pip install -r requirements/dev.txtstyle_utils style參數編寫輔助函數style() layout_utils router_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