nitin42 / terminal-in-react
- воскресенье, 9 июля 2017 г. в 03:12:54
A tiny component that renders a terminal
A tiny component that renders a terminal
Added this
npm install terminal-in-react --save
or if you use yarn
yarn add terminal-in-react
import React, { Component } from 'react';
import Terminal from 'terminal-in-react';
class App extends Component {
showMsg = () => 'Hello World'
render() {
return (
<div>
<Terminal
color="green"
backgroundColor="black"
barColor="black"
style={{ fontWeight: 'bold', fontSize: '1em' }}
commands={{
'open-google': () => window.open("https://www.google.com/", "_blank"),
showmsg: this.showMsg,
popup: () => alert("Terminal in React")
}}
description={{
'open-google': 'opens google.com',
showmsg: 'shows a message',
alert: 'alert', popup: 'alert'
}}
msg="You can write anything here. Example - Hello! My name is Foo and I like Bar."
/>
</div>
);
}
}
Be careful when copying this example because it uses
window
object ('open-google': () => window.open("https://www.google.com/", "_blank"),
) which is only available on the client-side and it will give you an error if you're doing server side rendering.
To add your own command, use prop commands
which accepts an object. This objects then maps command name -> command function
.
Let's take an example. You want to open a website with a command open-google
<Terminal commands={{ 'open-google': () => window.open("https://www.google.com/", "_blank")}} />
Add a description of your command using prop description
.
<Terminal description={{ 'open-google': 'opens google' }} />
You can have the terminal watch console.log/info function and print out
<Terminal watchConsoleLogging />
Use
color
to change the color of the text.backgroundColor
to change the background.barColor
to change the color of bar.prompt
to change the prompt (>
) color.Thank you so much Jonathan Gertig for this
Follow me on Twitter @NTulswani for new updates and progress
Props | Type | Default |
---|---|---|
color | string | 'green' |
backgroundColor | string | 'black' |
prompt | string | 'green' |
barColor | string | 'black' |
description | object | {} |
commands | object | { clear: this.clearScreen(), help: this.showHelp(), show: this.showMsg() } |
msg | string | - |
watchConsoleLogging | bool | false |
clear
- Clears the screenhelp
- List all the commandsshow
- Shows a msg if anySure! Create an issue for that and I will look into it.