awv3
Version:
⚡ AWV3 embedded CAD
162 lines • 9.29 kB
JSON
{
"type": "File",
"start": 0,
"end": 2136,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 61,
"column": 0
}
},
"program": {
"type": "Program",
"start": 0,
"end": 2136,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 61,
"column": 0
}
},
"sourceType": "module",
"body": [],
"directives": [],
"leadingComments": null,
"innerComments": [
{
"type": "CommentLine",
"value": " TODO: This needs its own repo to work, otherwise awv3 would have to pull react along",
"start": 0,
"end": 87,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 87
}
}
},
{
"type": "CommentBlock",
"value": "import React from 'react';\nimport { connect } from 'react-redux';\nimport JSONTree from 'react-json-tree';\nimport Plugin from '../../session/plugin';\nimport { Button, Group, Checkbox, Custom } from '../../session/elements';\n\nconst resources = ['isometric'].reduce((prev, item) => ({ ...prev, [item]: require('!!url-loader!awv3-icons/32x32/' + item + '.png') }), {});\n\nconst theme = {\n scheme: 'flat',\n author: 'chris kempson (http://chriskempson.com)',\n base00: 'transparent',\n base01: '#34495E',\n base02: '#7F8C8D',\n base03: '#95A5A6',\n base04: '#BDC3C7',\n base05: '#e0e0e0',\n base06: '#f5f5f5',\n base07: '#ECF0F1',\n base08: '#E74C3C',\n base09: '#E67E22',\n base0A: '#F1C40F',\n base0B: '#2ECC71',\n base0C: '#1ABC9C',\n base0D: '#3498DB',\n base0E: '#9B59B6',\n base0F: '#be643c'\n};\n\n@connect((state, props) => ({ tree: state.connections[state.globals.activeConnection].tree }))\nclass JsonView extends React.PureComponent {\n static contextTypes = { session: React.PropTypes.object };\n render() {\n let data = this.props.resolve\n ? this.context.session.activeConnectionClass.resolveTree(this.props.tree.root)[0]\n : this.props.tree;\n return (\n <div style={{ fontFamily: 'monospace' }}>\n <JSONTree data={data} theme={theme} invertTheme={false} />\n </div>\n );\n }\n}\n\nexport default class Interpreter extends Plugin {\n constructor(session, args) {\n super(session, { type: 'Json', icon: 'isometric', resources, ...args });\n this.resolve = new Checkbox(this, { name: 'Resolve', value: true });\n this.addElement(new Group(this, { format: Group.Format.Table, children: [this.resolve] }));\n this.input = new Custom(this, { name: 'Json', value: <JsonView resolve={true} /> });\n this.addElement(this.input);\n }\n\n onEnabled() {\n this.resetElements();\n this.resolve.observe(state => state.value, value => this.input.value = <JsonView resolve={value} />);\n }\n}",
"start": 89,
"end": 2135,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 60,
"column": 3
}
}
}
]
},
"comments": [
{
"type": "CommentLine",
"value": " TODO: This needs its own repo to work, otherwise awv3 would have to pull react along",
"start": 0,
"end": 87,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 87
}
}
},
{
"type": "CommentBlock",
"value": "import React from 'react';\nimport { connect } from 'react-redux';\nimport JSONTree from 'react-json-tree';\nimport Plugin from '../../session/plugin';\nimport { Button, Group, Checkbox, Custom } from '../../session/elements';\n\nconst resources = ['isometric'].reduce((prev, item) => ({ ...prev, [item]: require('!!url-loader!awv3-icons/32x32/' + item + '.png') }), {});\n\nconst theme = {\n scheme: 'flat',\n author: 'chris kempson (http://chriskempson.com)',\n base00: 'transparent',\n base01: '#34495E',\n base02: '#7F8C8D',\n base03: '#95A5A6',\n base04: '#BDC3C7',\n base05: '#e0e0e0',\n base06: '#f5f5f5',\n base07: '#ECF0F1',\n base08: '#E74C3C',\n base09: '#E67E22',\n base0A: '#F1C40F',\n base0B: '#2ECC71',\n base0C: '#1ABC9C',\n base0D: '#3498DB',\n base0E: '#9B59B6',\n base0F: '#be643c'\n};\n\n@connect((state, props) => ({ tree: state.connections[state.globals.activeConnection].tree }))\nclass JsonView extends React.PureComponent {\n static contextTypes = { session: React.PropTypes.object };\n render() {\n let data = this.props.resolve\n ? this.context.session.activeConnectionClass.resolveTree(this.props.tree.root)[0]\n : this.props.tree;\n return (\n <div style={{ fontFamily: 'monospace' }}>\n <JSONTree data={data} theme={theme} invertTheme={false} />\n </div>\n );\n }\n}\n\nexport default class Interpreter extends Plugin {\n constructor(session, args) {\n super(session, { type: 'Json', icon: 'isometric', resources, ...args });\n this.resolve = new Checkbox(this, { name: 'Resolve', value: true });\n this.addElement(new Group(this, { format: Group.Format.Table, children: [this.resolve] }));\n this.input = new Custom(this, { name: 'Json', value: <JsonView resolve={true} /> });\n this.addElement(this.input);\n }\n\n onEnabled() {\n this.resetElements();\n this.resolve.observe(state => state.value, value => this.input.value = <JsonView resolve={value} />);\n }\n}",
"start": 89,
"end": 2135,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 60,
"column": 3
}
}
}
],
"tokens": [
{
"type": "CommentLine",
"value": " TODO: This needs its own repo to work, otherwise awv3 would have to pull react along",
"start": 0,
"end": 87,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 87
}
}
},
{
"type": "CommentBlock",
"value": "import React from 'react';\nimport { connect } from 'react-redux';\nimport JSONTree from 'react-json-tree';\nimport Plugin from '../../session/plugin';\nimport { Button, Group, Checkbox, Custom } from '../../session/elements';\n\nconst resources = ['isometric'].reduce((prev, item) => ({ ...prev, [item]: require('!!url-loader!awv3-icons/32x32/' + item + '.png') }), {});\n\nconst theme = {\n scheme: 'flat',\n author: 'chris kempson (http://chriskempson.com)',\n base00: 'transparent',\n base01: '#34495E',\n base02: '#7F8C8D',\n base03: '#95A5A6',\n base04: '#BDC3C7',\n base05: '#e0e0e0',\n base06: '#f5f5f5',\n base07: '#ECF0F1',\n base08: '#E74C3C',\n base09: '#E67E22',\n base0A: '#F1C40F',\n base0B: '#2ECC71',\n base0C: '#1ABC9C',\n base0D: '#3498DB',\n base0E: '#9B59B6',\n base0F: '#be643c'\n};\n\n@connect((state, props) => ({ tree: state.connections[state.globals.activeConnection].tree }))\nclass JsonView extends React.PureComponent {\n static contextTypes = { session: React.PropTypes.object };\n render() {\n let data = this.props.resolve\n ? this.context.session.activeConnectionClass.resolveTree(this.props.tree.root)[0]\n : this.props.tree;\n return (\n <div style={{ fontFamily: 'monospace' }}>\n <JSONTree data={data} theme={theme} invertTheme={false} />\n </div>\n );\n }\n}\n\nexport default class Interpreter extends Plugin {\n constructor(session, args) {\n super(session, { type: 'Json', icon: 'isometric', resources, ...args });\n this.resolve = new Checkbox(this, { name: 'Resolve', value: true });\n this.addElement(new Group(this, { format: Group.Format.Table, children: [this.resolve] }));\n this.input = new Custom(this, { name: 'Json', value: <JsonView resolve={true} /> });\n this.addElement(this.input);\n }\n\n onEnabled() {\n this.resetElements();\n this.resolve.observe(state => state.value, value => this.input.value = <JsonView resolve={value} />);\n }\n}",
"start": 89,
"end": 2135,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 60,
"column": 3
}
}
},
{
"type": {
"label": "eof",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 2136,
"end": 2136,
"loc": {
"start": {
"line": 61,
"column": 0
},
"end": {
"line": 61,
"column": 0
}
}
}
]
}