5.6.5-nexter • Published 5 years ago

@beisen/grid-page-builder v5.6.5-nexter

Weekly downloads
51
License
ISC
Repository
gitlab
Last release
5 years ago

Grid Page Builder接入文档

名词解释: 功能组件:功能组件就是拖拽到工作区的组件 属性组件:在编辑的时候点击功能组件,在左右就会显示出组件可编辑的属性列表,每一个列表项其实就是一个组件,这个组件就是属性组件,支持自定义开发。

内置可编辑属性

组件内置属性

    'title': 标题,
    'border': 边框,
    'width': 宽度,
    'height': 高度,
    'padding': 内边距,
    'margin': 外边距,
    'hidden': 隐藏

页面内置属性

    'background': 背景,
    'toTop': 返回顶部

API

onBeforeCreateComponent(type, payload, pageData) 在创建Component之前的回调,如果return false 测不生成组件

onCreateComponent (component, data) 创建component元数据时的回调

componentListData 左侧组件列表数据描述

defaultProps 默认页面或者组件属性的设置,属性来自内置属性

replaceComponent(domNode, props) 渲染组件的时候用来替换组件,第一个参数是组件渲染时的节点,第二个参数是渲染组件时的数据

getEditProps(type, id)当点击组件时获取组件的可编辑属性的回调,type为组件的类型,id为组件实例的id,适用于组件编辑属性没有绑定到组件定义上

defaultProps={{
  component:['title', 'border']
}}

Component Class

getEditProps 获取此组件的可编辑属性列表,与propsComponent相关联

基本接入代码示例

import React, {Component} from 'react';
import GridWorkspace, {TubState} from '@beisen/grid-page-builder';
import '@beisen/grid-page-builder/style.css'
import templates from 'components/uibuilder/PageTemplates';
import components from 'components/uibuilder/ElementCollection';
import propsComponents from 'components/uibuilder/PropsCollection';
import {v1} from 'uuid';

export default class Grid extends Component {

  constructor(props, contents){
    super();
    this.state = {tubState: TubState.create()};
  }

  handleChange = (tubState) => {
     this.setState({tubState})
  }

  handleSave = (tubState) => {
      //点击完保存按钮后的回调
      //window.localStorage.uibuilder = JSON.stringify(tubState);
  }

  renderComponent = (Comp /* */) => {
    //自定义渲染方法,可以用此方法更新组件渲染的格式
    return <div>1111<Comp data={editableData} {...mergeProps} /></div>
  }

  genId(data){
    //生成id的方法,如果不提供此方法,grip-page-builder会使用uuid的v1方法来生成uid
    return v1();
  }

  render() {
    return (
        <GridWorkspace
          renderComponent={this.renderComponent}
          tubState={this.state.tubState} //TubState实例,用来管理编辑器的数据
          components={components} //全部组件列表**未分组**
          propsComponents={propsComponents} //属性组件列表
          templates={templates} //模板列表
          onChange={this.handleChange} //当产生编辑动作时的回调,用来更新tubState
          onSave={this.handleSave} //点击保存按钮的回调,可以拿到当前的编辑器状态的数据对象
          genUID={this.genId} //生成id的方法,可以不提供,默认使用uuid的v1方法生成uid
          />
    );
  }
}

如何对组件列表进行分组

生成一套如下面示例代码所示格式的数据,并且使用availableComponents传递给page Builder

注意数据中components列表中对应的data字段,这里的的数据会作为参数传递给被实例的对应类型的组件 所以,可以用来做为初始化数据

// ....Component

render() {
    return (
      <GridWorkspace
        ....
        availableComponents={this.genAvailableComponent()} //使用此属性对组件列表进行分组
        />
    );
  }

genAvailableComponent(){
    return  [{
      name: 'Group1',
      id: v1(),
      components: [{
        name: 'ITalentWiget',
        id: v1(),
        data: {
          a: 1,
          b: 2,
          url: 'https://res.mail.qq.com/bizmail/zh_CN/htmledition/images/bizmail/v3/logo1ca3fe.png'
        }
      }, {
        name: 'FeedTask',
        id: v1(),
        displayName: '初始数据图标',
        data: {
          a: 3,
          b: 4
        }
      }]
    }, {
      name: 'Group1',
      id: v1(),
      components: [{
        name: 'ITalentWiget',
        id: v1(),
        data: {
          a: 1,
          b: 2,
          url: 'https://res.mail.qq.com/bizmail/zh_CN/htmledition/images/bizmail/v3/logo1ca3fe.png'
        }
      }, {
        name: 'FeedTask',
        id: v1(),
        displayName: '初始数据图标2',
        data: {
          a: 3,
          b: 4
        }
      }]
    }]
  }

如何设置组件列表中的图标

1.对组件设置静态属性diaplayName和icon

2.availableComponents属性中对components中的元素设置diaplayTitle和icon属性

3.在开发组件的时候render方法中当mode=1的时候提供自定义的图标模板

如果使用矢量图标建议

关于组件尺寸

grid-page-builder弱化了grid的概念,会为每一个组件生成一个grid做为容器,所以组件建议的尺寸是宽100%, 高100%,这样在调整grid 尺寸的时候,组件的尺寸会跟着变化

当布局为grid类型并且在组件列表项中添加以下配置,可以对组件的尺寸做出限制

  gridSizeLimit: {
      maxH: 20,
      minH: 10,
      maxW: 6,
      minW:3,
    },
    gridInitSize: {
      w: 6,
      h: 20
    },

组件选中状态

使用tubState.setSelect(id)可以对选中指定组件

5.6.5-nexter

5 years ago

5.6.4-nexter

5 years ago

5.6.3-nexter

5 years ago

5.6.2-nexter

5 years ago

5.6.1-nexter

5 years ago

5.6.0-nexter

5 years ago

5.5.25-nexter

5 years ago

5.5.24-nexter

5 years ago

5.5.23-nexter

5 years ago

5.5.22-nexter

5 years ago

5.5.21-nexter

5 years ago

5.5.19-nexter

5 years ago

5.5.18-nexter

5 years ago

5.5.17-nexter

5 years ago

5.5.16-nexter

5 years ago

5.5.15-nexter

5 years ago

5.5.14-nexter

5 years ago

5.5.13-nexter

5 years ago

5.5.12-nexter

5 years ago

5.5.11-nexter

5 years ago

5.5.10-nexter

5 years ago

5.5.9-nexter

5 years ago

5.5.8-nexter

5 years ago

5.5.7-nexter

6 years ago

5.5.6-nexter

6 years ago

5.5.5-nexter

6 years ago

5.5.4-nexter

6 years ago

5.5.3-nexter

6 years ago

5.5.2-nexter

6 years ago

5.5.1-nexter

6 years ago

5.5.0-nexter

6 years ago

5.4.4-nexter

6 years ago

5.4.3-nexter

6 years ago

5.4.2-nexter

6 years ago

5.4.1-nexter

6 years ago

5.4.0-nexter

6 years ago

5.3.4-nexter

6 years ago

5.3.3-nexter

6 years ago

5.3.2-nexter

6 years ago

5.3.1-nexter

6 years ago

5.2.1-nexter

6 years ago

5.2.0-nexter

6 years ago

5.1.6-nexter

6 years ago

5.1.5-nexter

6 years ago

5.1.4-nexter

6 years ago

5.1.3-nexter

6 years ago

5.1.2-nexter

6 years ago

5.1.1-nexter

6 years ago

5.1.0-nexter

6 years ago

5.0.0-nexter

6 years ago

4.3.2-nexter

6 years ago

4.3.1-nexter

6 years ago

4.3.0-nexter

6 years ago

4.2.0-nexter

6 years ago

4.1.0-nexter

6 years ago

4.0.1-nexter

6 years ago

4.0.0-nexter

6 years ago

4.0.21-beta

6 years ago

4.0.20-beta

6 years ago

4.0.19-beta

6 years ago

4.0.18-beta

6 years ago

4.0.17-beta

6 years ago

4.0.16-beta

6 years ago

4.0.15-beta

6 years ago

4.0.14-beta

6 years ago

4.0.13-beta

6 years ago

4.0.12-beta

6 years ago

4.0.11-beta

6 years ago

4.0.10-beta

6 years ago

3.0.14

6 years ago

4.0.9-beta

6 years ago

4.0.8-beta

6 years ago

4.0.7-beta

6 years ago

3.0.13

6 years ago

4.0.6-beta

6 years ago

4.0.5-beta

6 years ago

4.0.4-beta

6 years ago

3.0.12

6 years ago

3.0.11

6 years ago

3.0.10

6 years ago

3.0.9

6 years ago

3.0.8

7 years ago

4.0.3-beta

7 years ago

4.0.2-beta

7 years ago

4.0.1-beta

7 years ago

4.0.0-beta

7 years ago

3.0.7

7 years ago

3.0.6

7 years ago

3.0.5

7 years ago

3.0.4

7 years ago

2.1.20

7 years ago

3.0.3

7 years ago

3.0.2

7 years ago

3.0.1

7 years ago

3.0.0

7 years ago

2.5.55

7 years ago

2.5.54

7 years ago

2.5.53

7 years ago

2.5.52

7 years ago

2.5.51

7 years ago

2.5.50

7 years ago

2.5.49

7 years ago

2.5.48

7 years ago

2.5.47

7 years ago

2.5.46

7 years ago

2.5.45

7 years ago

2.5.44

7 years ago

2.5.43

7 years ago

2.5.42

7 years ago

2.5.41

7 years ago

2.5.40

7 years ago

2.5.39

7 years ago

2.5.38

7 years ago

2.5.37

7 years ago

2.5.36

7 years ago

2.5.35

7 years ago

2.5.34

7 years ago

2.5.33

7 years ago

2.5.32

7 years ago

2.5.31

7 years ago

2.5.30

7 years ago

2.5.29

7 years ago

2.5.28

7 years ago

2.5.27

7 years ago

2.5.26

7 years ago

2.5.25

7 years ago

2.5.24

7 years ago

2.5.23

7 years ago

2.5.22

7 years ago

2.5.21

7 years ago

2.5.20

7 years ago

2.5.19

7 years ago

2.5.18

7 years ago

2.5.17

7 years ago

2.5.16

7 years ago

2.5.15

7 years ago

2.5.14

7 years ago

2.5.13

7 years ago

2.5.12

7 years ago

2.5.12-beta

7 years ago

2.5.11-beta

7 years ago

2.5.10-beta

7 years ago

2.5.9-beta

7 years ago

2.5.8-beta

7 years ago

2.5.7-beta

7 years ago

2.5.6-beta

7 years ago

2.5.5-beta

7 years ago

2.5.4-beta

7 years ago

2.5.3

7 years ago

2.5.2

7 years ago

2.5.1

7 years ago

2.5.0

7 years ago

2.1.19

7 years ago

2.1.18

7 years ago

2.1.17

7 years ago

2.1.16

7 years ago

2.1.15

7 years ago

2.1.14

7 years ago

2.1.13

7 years ago

2.1.12

7 years ago

2.1.11

7 years ago

2.1.10

7 years ago

2.1.9

7 years ago

2.1.8

7 years ago

2.1.7

7 years ago

2.1.6

7 years ago

2.1.5

7 years ago

2.1.4

7 years ago

2.1.3

7 years ago

2.1.2

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.26-beta

7 years ago

2.0.25-beta

7 years ago

2.0.24-beta

7 years ago

2.0.23-beta

7 years ago

2.0.21-beta

7 years ago

2.0.20-beta

7 years ago

2.0.19-beta

7 years ago

2.0.18-beta

7 years ago

2.0.17-beta

7 years ago

2.0.16-beta

7 years ago

2.0.15-beta

7 years ago

2.0.14-beta

7 years ago

2.0.13-beta

7 years ago

2.0.12-beta

7 years ago

2.0.11-beta

7 years ago

2.0.10-beta

7 years ago

2.0.9-beta

7 years ago

2.0.8-beta

7 years ago

2.0.7-beta

7 years ago

2.0.6-beta

7 years ago

2.0.5-beta

7 years ago

2.0.4-beta

7 years ago

2.0.3-beta

7 years ago

2.0.1-beta

7 years ago

2.0.0

7 years ago

1.0.28

7 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago