Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pragonauts/prg-editor

React Table Editor for REST API and Bulma.css
https://github.com/pragonauts/prg-editor

bulma bulma-css datagrid pragonauts react reactjs

Last synced: about 1 month ago
JSON representation

React Table Editor for REST API and Bulma.css

Awesome Lists containing this project

README

        

# Prg Editor

> React Table Editor for REST API and Bulma.css.

There is [API Documentation](http://pragonauts.github.io/prg-editor).

## Basic Usage

```javascript

import React, { PropTypes, Component } from 'react';
import { Input, Checkbox } from 'prg-form';
import { TableBuilder, TableEditor, Editor, AjaxResource } from 'prg-editor';

class EditorView extends Component {

constructor (props) {
super(props);

this.validator = new Validator();

this.validator.add('text')
.isRequired();

/**
* @type {TableEditor}
*/
this.tableEditor = null;

const tb = new TableBuilder();

const { t } = props;

tb.addText('text', 'Title')
.orderBy()
.orderByDefault();

tb.addAction('id', t('Remove'))
.onClick((e, data) => this.tableEditor.delete(data))
.condition((id, data) => data.isAdministrable);

const resource = new AjaxResource('/api/users/:id');

resource.mapInput = (...args) => this.mapInput(...args);

this.state = {
colsConfig: tb.getColsConfig(),
resource
};
}

mapInput (data) {
return Object.assign(data, {
groups: data.groups
.filter(group => group.group)
});
}

render () {
const { t } = this.props;
const { colsConfig, resource } = this.state;

return ( { this.tableEditor = c; }}
t={this.props.t}
>



);
}

}

EditorView.propTypes = {
t: PropTypes.func
};

EditorView.defaultProps = {
t: w => w
};

export default EditorView;

```