Skip to content

Instantly share code, notes, and snippets.

@bogdanpetru
Created July 17, 2018 08:01
Show Gist options
  • Save bogdanpetru/cfd0cb4e7c83b6aa68af14a5187676bd to your computer and use it in GitHub Desktop.
Save bogdanpetru/cfd0cb4e7c83b6aa68af14a5187676bd to your computer and use it in GitHub Desktop.
import React, {Component} from 'react';
import PropTypes from 'prop-types';
// packages
import l10nUtils from '@8x8/cm-l10n';
// components
import List from './../../components/listView/list.component';
/**
* Members list component
*/
class MembersList extends Component {
/**
* JSDOC
*
* @return {JSX}
*/
getColumns() {
const {prepareColumns} = this.props;
const defaultColumns = {};
return prepareColumns(defaultColumns);
}
/**
* Prepares list data.
*
* @return {Object}
*/
getListData() {
const {prepareData} = this.props;
const preparedListData = {
// TODO add default row logic
};
return prepareData(preparedListData);
}
render() {
const {
sortable,
filteredListStr,
} = this.props;
return (
<List
filteredListStr={filteredListStr}
listColumns={this.getColumns()}
listData={this.getListData}
listHeaderData={this.listHeaderData}
listIds={this.listIds}
onDragEnd={this.dragEndHandler}
onDragOver={this.dragOverHandler}
onDrop={this.onDropHandler}
renderNoResults={this.renderNoResults}
renderShowing={false}
setSelectedItems={this.setSelectedMembers}
sortable={sortable}
/>
);
}
}
MembersList.defaultProps = {
filteredListStr: l10nUtils.translate('MEMBERS'),
pageName: 'members', // TODO use constant
prepareListColumns: (columns) => columns,
prepareData: (columns) => columns,
sortable: false,
};
MembersList.propTypes = {
filteredListStr: PropTypes.string,
listData: PropTypes.arrayOf(PropTypes.object),
pageName: PropTypes.string,
prepareColumns: PropTypes.func,
prepareData: PropTypes.func,
sortable: PropTypes.bool,
};
export default MembersList;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment