[Feat] 外设参数区分组排序功能
功能背景
FM33FG0xxA,GPIOx配置,有需要GPIO需要初始化,但它们是需要排序的,已实现确定的时序逻辑。
解决方案
- 在给前端的参数区数据里,添加sort_group、和sort_by字段,收集分组并进行排序
{
"code": 200,
"message": "SUCCESS",
"data": {
"Parameters": [
{
"Advance": "PA0",
"FunName": "PA0",
"sort_group": "GPIOx",
"sort_by": "sort",
"data_type": "DEFAULT",
"title": "IO Param Init(PA0)",
"params": [
{
"Min": 0,
"Max": 144,
"name": "sort",
"tip": "初始化排序",
"type": "Int",
"vel": 0
}
],
"param_group": "Struct_IOINIT"
}
]
}
}
- 前端渲染界面,进行排序操作,涉及组件LeftPeripheralConfigContent
const renderParameters = (parameters) => {
//在这里进行排序算法 <==
return (
<>
<Collapse bordered={false} defaultActiveKey={[parameters[0].title]}>
{parameters.map((parameter) => {
return (
<Panel
header={parameter.title}
key={parameter.title}
extra={
<Tooltip placement="right" title="点击获取函数和结构体原型">
<SettingOutlined onClick={(e) => showParameterStruct(e, parameter)} />
</Tooltip>
}
>
{renderParameter(parameter)}
</Panel>
);
})}
</Collapse>
</>
);
};