Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M
mfang2.0
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 92
    • Issues 92
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • 魔方Web开发组
  • mfang2.0
  • Issues
  • #586

Closed
Open
Opened Sep 25, 2023 by 宋永裕@songyongyu💬
  • Report abuse
  • New issue
Report abuse New issue

[Feat] 外设参数区分组排序功能

功能背景

FM33FG0xxA,GPIOx配置,有需要GPIO需要初始化,但它们是需要排序的,已实现确定的时序逻辑。

解决方案

  1. 在给前端的参数区数据里,添加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"
            }
        ]
    }
}
  1. 前端渲染界面,进行排序操作,涉及组件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>
      </>
    );
  };
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
2
Labels
已跟进 测试中
Assign labels
  • View project labels
Reference: fmsh-web-develop/mfang2.0#586