Add config editor to instance view
This commit is contained in:
parent
b0d782906b
commit
15db7b95c3
4 changed files with 49 additions and 0 deletions
|
@ -5,6 +5,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"node-sass": "^4.9.4",
|
"node-sass": "^4.9.4",
|
||||||
"react": "^16.6.0",
|
"react": "^16.6.0",
|
||||||
|
"react-ace": "^6.2.0",
|
||||||
"react-dom": "^16.6.0",
|
"react-dom": "^16.6.0",
|
||||||
"react-router-dom": "^4.3.1",
|
"react-router-dom": "^4.3.1",
|
||||||
"react-scripts": "2.0.5",
|
"react-scripts": "2.0.5",
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
import React, { Component } from "react"
|
import React, { Component } from "react"
|
||||||
import { NavLink, withRouter } from "react-router-dom"
|
import { NavLink, withRouter } from "react-router-dom"
|
||||||
|
import AceEditor from "react-ace"
|
||||||
|
import "brace/mode/yaml"
|
||||||
|
import "brace/theme/github"
|
||||||
import { ReactComponent as ChevronRight } from "../../res/chevron-right.svg"
|
import { ReactComponent as ChevronRight } from "../../res/chevron-right.svg"
|
||||||
import PrefTable, { PrefInput, PrefSelect, PrefSwitch } from "../../components/PreferenceTable"
|
import PrefTable, { PrefInput, PrefSelect, PrefSwitch } from "../../components/PreferenceTable"
|
||||||
import api from "../../api"
|
import api from "../../api"
|
||||||
|
@ -43,6 +46,7 @@ class Instance extends Component {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
started: true,
|
started: true,
|
||||||
type: "",
|
type: "",
|
||||||
|
config: "",
|
||||||
|
|
||||||
saving: false,
|
saving: false,
|
||||||
deleting: false,
|
deleting: false,
|
||||||
|
@ -167,6 +171,12 @@ class Instance extends Component {
|
||||||
value={this.selectedPluginEntry}
|
value={this.selectedPluginEntry}
|
||||||
onChange={({ id }) => this.setState({ type: id })}/>
|
onChange={({ id }) => this.setState({ type: id })}/>
|
||||||
</PrefTable>
|
</PrefTable>
|
||||||
|
<AceEditor mode="yaml" theme="github" onChange={config => this.setState({ config })}
|
||||||
|
name="config" value={this.state.config}
|
||||||
|
editorProps={{
|
||||||
|
fontSize: "10pt",
|
||||||
|
$blockScrolling: true,
|
||||||
|
}}/>
|
||||||
<div className="buttons">
|
<div className="buttons">
|
||||||
{!this.isNew && (
|
{!this.isNew && (
|
||||||
<button className="delete" onClick={this.delete} disabled={this.loading}>
|
<button className="delete" onClick={this.delete} disabled={this.loading}>
|
||||||
|
|
|
@ -26,3 +26,10 @@
|
||||||
max-height: 1.375rem
|
max-height: 1.375rem
|
||||||
border-radius: 50%
|
border-radius: 50%
|
||||||
margin-right: .5rem
|
margin-right: .5rem
|
||||||
|
|
||||||
|
> div.ace_editor
|
||||||
|
height: 15rem !important
|
||||||
|
width: 100% !important
|
||||||
|
font-size: 14px
|
||||||
|
|
||||||
|
margin-bottom: 1rem
|
||||||
|
|
|
@ -1937,6 +1937,11 @@ brace-expansion@^1.1.7:
|
||||||
balanced-match "^1.0.0"
|
balanced-match "^1.0.0"
|
||||||
concat-map "0.0.1"
|
concat-map "0.0.1"
|
||||||
|
|
||||||
|
brace@^0.11.1:
|
||||||
|
version "0.11.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58"
|
||||||
|
integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=
|
||||||
|
|
||||||
braces@^1.8.2:
|
braces@^1.8.2:
|
||||||
version "1.8.5"
|
version "1.8.5"
|
||||||
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
|
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
|
||||||
|
@ -3175,6 +3180,11 @@ detect-port-alt@1.1.6:
|
||||||
address "^1.0.1"
|
address "^1.0.1"
|
||||||
debug "^2.6.0"
|
debug "^2.6.0"
|
||||||
|
|
||||||
|
diff-match-patch@^1.0.4:
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1"
|
||||||
|
integrity sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==
|
||||||
|
|
||||||
diff@^3.2.0:
|
diff@^3.2.0:
|
||||||
version "3.5.0"
|
version "3.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
||||||
|
@ -6298,6 +6308,16 @@ lodash.debounce@^4.0.8:
|
||||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||||
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
||||||
|
|
||||||
|
lodash.get@^4.4.2:
|
||||||
|
version "4.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||||
|
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
|
||||||
|
|
||||||
|
lodash.isequal@^4.5.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||||
|
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||||
|
|
||||||
lodash.kebabcase@^4.0.0:
|
lodash.kebabcase@^4.0.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
|
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
|
||||||
|
@ -8434,6 +8454,17 @@ rc@^1.2.7:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
strip-json-comments "~2.0.1"
|
strip-json-comments "~2.0.1"
|
||||||
|
|
||||||
|
react-ace@^6.2.0:
|
||||||
|
version "6.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-6.2.0.tgz#9ab0fd88cd1ef6712fec4b243b61431964481c11"
|
||||||
|
integrity sha512-Cr27xFNZV2wlQi+mFjgUWfd3yPZV84Sf7XVrEXkDBZmQ5I/oY3x4KvtBjX6ImN7SCWu3sU6z9F3Zh6jH3/jtzw==
|
||||||
|
dependencies:
|
||||||
|
brace "^0.11.1"
|
||||||
|
diff-match-patch "^1.0.4"
|
||||||
|
lodash.get "^4.4.2"
|
||||||
|
lodash.isequal "^4.5.0"
|
||||||
|
prop-types "^15.6.2"
|
||||||
|
|
||||||
react-app-polyfill@^0.1.3:
|
react-app-polyfill@^0.1.3:
|
||||||
version "0.1.3"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-0.1.3.tgz#e57bb50f3751dac0e6b3ac27673812c68c679a1d"
|
resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-0.1.3.tgz#e57bb50f3751dac0e6b3ac27673812c68c679a1d"
|
||||||
|
|
Loading…
Reference in a new issue