mirror of
https://github.com/ascribe/onion.git
synced 2024-12-22 17:33:14 +01:00
made edition table row selectable
This commit is contained in:
parent
1c470203b7
commit
bfb40bb19e
@ -3,7 +3,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import Table from '../ascribe_table/table';
|
import Table from '../ascribe_table/table';
|
||||||
import TableItem from '../ascribe_table/table_item';
|
import TableItemSelectable from '../ascribe_table/table_item_selectable';
|
||||||
|
|
||||||
import { ColumnModel } from '../ascribe_table/models/table_models';
|
import { ColumnModel } from '../ascribe_table/models/table_models';
|
||||||
|
|
||||||
@ -16,7 +16,8 @@ let AccordionListItemTable = React.createClass({
|
|||||||
show: React.PropTypes.bool,
|
show: React.PropTypes.bool,
|
||||||
changeOrder: React.PropTypes.func,
|
changeOrder: React.PropTypes.func,
|
||||||
orderBy: React.PropTypes.string,
|
orderBy: React.PropTypes.string,
|
||||||
orderAsc: React.PropTypes.bool
|
orderAsc: React.PropTypes.bool,
|
||||||
|
selectItem: React.PropTypes.func
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@ -32,9 +33,11 @@ let AccordionListItemTable = React.createClass({
|
|||||||
orderAsc={this.props.orderAsc}>
|
orderAsc={this.props.orderAsc}>
|
||||||
{this.props.itemList.map((item, i) => {
|
{this.props.itemList.map((item, i) => {
|
||||||
return (
|
return (
|
||||||
<TableItem
|
<TableItemSelectable
|
||||||
className="ascribe-table-item-selectable"
|
className="ascribe-table-item-selectable"
|
||||||
key={i} />
|
key={i}
|
||||||
|
selectItem={this.props.selectItem}
|
||||||
|
parentId={this.props.parentId}/>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</Table>
|
</Table>
|
||||||
|
@ -202,7 +202,8 @@ let AccordionListItemTableEditions = React.createClass({
|
|||||||
show={show}
|
show={show}
|
||||||
orderBy={orderBy}
|
orderBy={orderBy}
|
||||||
orderAsc={orderAsc}
|
orderAsc={orderAsc}
|
||||||
changeOrder={this.changeEditionListOrder} />
|
changeOrder={this.changeEditionListOrder}
|
||||||
|
selectItem={this.selectItem}/>
|
||||||
<AccordionListItemTableToggle
|
<AccordionListItemTableToggle
|
||||||
className="ascribe-accordion-list-table-toggle"
|
className="ascribe-accordion-list-table-toggle"
|
||||||
onClick={this.loadFurtherEditions}
|
onClick={this.loadFurtherEditions}
|
||||||
|
@ -12,12 +12,14 @@ let TableItem = React.createClass({
|
|||||||
propTypes: {
|
propTypes: {
|
||||||
columnList: React.PropTypes.arrayOf(React.PropTypes.instanceOf(ColumnModel)),
|
columnList: React.PropTypes.arrayOf(React.PropTypes.instanceOf(ColumnModel)),
|
||||||
columnContent: React.PropTypes.object,
|
columnContent: React.PropTypes.object,
|
||||||
className: React.PropTypes.string
|
className: React.PropTypes.string,
|
||||||
|
onClick: React.PropTypes.func
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<TableItemWrapper
|
<TableItemWrapper
|
||||||
|
onClick={this.props.onClick}
|
||||||
columnList={this.props.columnList}
|
columnList={this.props.columnList}
|
||||||
columnContent={this.props.columnContent}
|
columnContent={this.props.columnContent}
|
||||||
columnWidth={12} />
|
columnWidth={12} />
|
||||||
|
@ -7,18 +7,13 @@ let TableItemCheckbox = React.createClass({
|
|||||||
propTypes: {
|
propTypes: {
|
||||||
editionId: React.PropTypes.number,
|
editionId: React.PropTypes.number,
|
||||||
pieceId: React.PropTypes.number,
|
pieceId: React.PropTypes.number,
|
||||||
selectItem: React.PropTypes.func,
|
|
||||||
selected: React.PropTypes.bool
|
selected: React.PropTypes.bool
|
||||||
},
|
},
|
||||||
|
|
||||||
selectItem() {
|
|
||||||
this.props.selectItem(this.props.pieceId, this.props.editionId);
|
|
||||||
},
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" onChange={this.selectItem} checked={this.props.selected}/>
|
<input type="checkbox" checked={this.props.selected} readOnly/>
|
||||||
</span>
|
</span>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ let TableItemSelectable = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
selectItem() {
|
selectItem() {
|
||||||
this.props.selectItem(this.props.parentId, this.props.columnContent.edition_number);
|
this.props.selectItem(this.props.parentId, this.props.columnContent.id);
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
@ -11,14 +11,15 @@ let TableItemWrapper = React.createClass({
|
|||||||
propTypes: {
|
propTypes: {
|
||||||
columnList: React.PropTypes.arrayOf(React.PropTypes.instanceOf(ColumnModel)),
|
columnList: React.PropTypes.arrayOf(React.PropTypes.instanceOf(ColumnModel)),
|
||||||
columnContent: React.PropTypes.object,
|
columnContent: React.PropTypes.object,
|
||||||
columnWidth: React.PropTypes.number.isRequired
|
columnWidth: React.PropTypes.number.isRequired,
|
||||||
|
onClick: React.PropTypes.func
|
||||||
},
|
},
|
||||||
|
|
||||||
mixins: [Router.Navigation],
|
mixins: [Router.Navigation],
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<tr>
|
<tr onClick={this.props.onClick}>
|
||||||
{this.props.columnList.map((column, i) => {
|
{this.props.columnList.map((column, i) => {
|
||||||
|
|
||||||
let TypeElement = column.displayType;
|
let TypeElement = column.displayType;
|
||||||
|
Loading…
Reference in New Issue
Block a user