diff --git a/src/Controllers/NoduleListController.js b/src/Controllers/NoduleListController.js index 54401fd..d2f5bf8 100644 --- a/src/Controllers/NoduleListController.js +++ b/src/Controllers/NoduleListController.js @@ -1,9 +1,22 @@ import Nodules from '../Models/Nodules' +import Tables from '../Models/Tables' +import FocusTable from '../Models/FocusTable' class NoduleistController { constructor() { this.nodules = new Nodules() + this.tables = new Tables() + this.focusTable = new FocusTable() 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 => { @@ -11,9 +24,10 @@ class NoduleistController { document.dispatchEvent(this.updatedNodulesEvent) } - logExportById = id => { + selectTableToView = id => { const nodule = this.nodules.getNoduleById(id) - console.log(nodule.export()) + this.focusTable.table = nodule + document.dispatchEvent(this.setSelectedTableEvent) } } diff --git a/src/Models/Tables.js b/src/Models/Tables.js index 190c25c..ed3bc8c 100644 --- a/src/Models/Tables.js +++ b/src/Models/Tables.js @@ -31,6 +31,8 @@ class Tables { getCollectionProps = () => this.collection.map(table => table.getProperties()) getById = id => this.collection.find(t => id === t.id) + + getTableByLabel = label => this.collection.find(t => label === t.label) } export default Tables diff --git a/src/views/NoduleList/NoduleListItem.js b/src/views/NoduleList/NoduleListItem.js index 00757ce..36b9f3a 100644 --- a/src/views/NoduleList/NoduleListItem.js +++ b/src/views/NoduleList/NoduleListItem.js @@ -25,10 +25,15 @@ class NoduleListItem extends Component { Delete { this.controller.logExportById(nodule.id) }} + onClick={() => { this.controller.selectTableToView(nodule.id) }} style={{ cursor: 'pointer' }}> View + { this.controller.convertNoduleToTable(nodule.id) }} + style={{ cursor: 'pointer' }}> + To Table + )