feat: convert nodule to table

This commit is contained in:
ysandler 2020-07-30 21:37:17 -05:00 committed by Joshua Shoemaker
parent 7a541cf09a
commit ec68f09169
3 changed files with 24 additions and 3 deletions

View File

@ -1,9 +1,22 @@
import Nodules from '../Models/Nodules' import Nodules from '../Models/Nodules'
import Tables from '../Models/Tables'
import FocusTable from '../Models/FocusTable'
class NoduleistController { class NoduleistController {
constructor() { constructor() {
this.nodules = new Nodules() this.nodules = new Nodules()
this.tables = new Tables()
this.focusTable = new FocusTable()
this.updatedNodulesEvent = new Event('updateNodules') this.updatedNodulesEvent = new Event('updateNodules')
this.updatedTablesEvent = new Event('updateTables')
this.setSelectedTableEvent = new Event('setSelectedTable')
}
convertNoduleToTable = id => {
const nodule = this.nodules.getNoduleById(id)
const table = nodule.asTable()
this.tables.addNewTable(table)
document.dispatchEvent(this.updatedTablesEvent)
} }
deleteNodule = id => { deleteNodule = id => {
@ -11,9 +24,10 @@ class NoduleistController {
document.dispatchEvent(this.updatedNodulesEvent) document.dispatchEvent(this.updatedNodulesEvent)
} }
logExportById = id => { selectTableToView = id => {
const nodule = this.nodules.getNoduleById(id) const nodule = this.nodules.getNoduleById(id)
console.log(nodule.export()) this.focusTable.table = nodule
document.dispatchEvent(this.setSelectedTableEvent)
} }
} }

View File

@ -31,6 +31,8 @@ class Tables {
getCollectionProps = () => this.collection.map(table => table.getProperties()) getCollectionProps = () => this.collection.map(table => table.getProperties())
getById = id => this.collection.find(t => id === t.id) getById = id => this.collection.find(t => id === t.id)
getTableByLabel = label => this.collection.find(t => label === t.label)
} }
export default Tables export default Tables

View File

@ -25,10 +25,15 @@ class NoduleListItem extends Component {
Delete <Icon name='trash' /> Delete <Icon name='trash' />
</span> </span>
<span <span
onClick={() => { this.controller.logExportById(nodule.id) }} onClick={() => { this.controller.selectTableToView(nodule.id) }}
style={{ cursor: 'pointer' }}> style={{ cursor: 'pointer' }}>
View <Icon name='table' /> View <Icon name='table' />
</span> </span>
<span
onClick={() => { this.controller.convertNoduleToTable(nodule.id) }}
style={{ cursor: 'pointer' }}>
To Table <Icon name='clone' />
</span>
</Card.Content> </Card.Content>
</Card> </Card>
) )