import React from 'react';
import {StyleSheet, View, Text} from 'react-native';
import Library from 'trapilib/dist/lib';
import { TextInput } from 'react-native';
let {
CoreSystem,
ViewSystem,
ViewNode
} = Library;
export default class SideBar{
constructor(CoreSystem){
this.CoreSystem = CoreSystem;
}
onUpdate(fn){
this.__onUpdate = fn
}
forceUpdate(props){
this.__onUpdate && this.__onUpdate(props);
}
switchTools(toolName){
//will be a switch function
}
someFunction(){
}
getStyle(style) {
if (typeof style === 'number') {
return ReactNativePropRegistry.getByID(style);
}
return style;
}
editNode(text,key){
console.log(text,key);
this.viewNode.props[key] = text;
this.forceUpdate();
}
//TODO Change everything :P
render(){
let tool = this.tool;
let ModuleSystem = this.CoreSystem.ModuleSystem;
let Structure = {};
if(tool){
if(tool.selectedNode && tool.selectedNode.content && tool.selectedNode.content.value){
this.viewNode = tool.selectedNode.content;
// give ViewNode
Structure = ModuleSystem.fromViewNode(this.viewNode).Inputs;
console.log(Structure);
}
}
let data = Object.keys(Structure || {}).map((key) => {
return(
{key}
{key === 'text' ? (
this.editNode(text, key)}
value={this.viewNode.props[key]}
/>
):(null)}
)
})
return (
Side Bar
{data}
)
}
}
const SelectedStyle = StyleSheet.create({
container:{
padding:5,
borderWidth:2,
borderColor:'green'
}
})
const SideBarStyle = StyleSheet.create({
container:{
padding:1,
flex:1,
flexDirection:'row'
},
title:{
fontSize:20,
textAlign:'center',
fontFamily:'halvetica',
color:'black',
borderBottomWidth:1,
borderBottomColor:'black'
},
body:{
paddingLeft:5,
paddingRight:5
}
})