UNPKG

awv3

Version:
162 lines 9.29 kB
{ "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 } } } ] }