mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-18 17:00:17 +00:00
UI work...
This commit is contained in:
parent
03dbec960a
commit
e58047eaa0
@ -1,12 +1,36 @@
|
|||||||
var ZeroTierNetwork = React.createClass({
|
var ZeroTierNetwork = React.createClass({
|
||||||
|
getInitialState: function() {
|
||||||
|
return {
|
||||||
|
deleted: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
leaveNetwork: function(event) {
|
leaveNetwork: function(event) {
|
||||||
|
Ajax.call({
|
||||||
|
url: 'network/'+this.props.nwid+'?auth='+this.props.authToken,
|
||||||
|
cache: false,
|
||||||
|
type: 'DELETE',
|
||||||
|
success: function(data) {
|
||||||
|
this.setState({deleted: true});
|
||||||
|
}.bind(this),
|
||||||
|
error: function(error) {
|
||||||
|
}.bind(this)
|
||||||
|
});
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
return (
|
return (
|
||||||
<div className="zeroTierNetwork">
|
<div className="zeroTierNetwork">
|
||||||
<div className="networkInfo"><span className="zeroTierAddress">{this.props.nwid}</span> <b>[</b> <span>{this.props.name}</span> <b>]</b></div>
|
{
|
||||||
|
(this.state.deleted) ? (
|
||||||
|
<div className="deletedOverlay"> </div>
|
||||||
|
) : (null)
|
||||||
|
}
|
||||||
|
<div className="networkInfo">
|
||||||
|
<span className="networkId">{this.props.nwid}</span>
|
||||||
|
<span className="networkName">{this.props.name}</span>
|
||||||
|
</div>
|
||||||
<div className="networkProps">
|
<div className="networkProps">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="name">Status</div>
|
<div className="name">Status</div>
|
||||||
|
@ -56,8 +56,11 @@ var ZeroTierNode = React.createClass({
|
|||||||
cache: false,
|
cache: false,
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if (data)
|
if (data) {
|
||||||
this.setState(JSON.parse(data));
|
var status = JSON.parse(data);
|
||||||
|
this.setState(status);
|
||||||
|
document.title = 'ZeroTier One [' + status.address + ']';
|
||||||
|
}
|
||||||
this.updateNetworks();
|
this.updateNetworks();
|
||||||
this.updatePeers();
|
this.updatePeers();
|
||||||
}.bind(this),
|
}.bind(this),
|
||||||
@ -68,7 +71,17 @@ var ZeroTierNode = React.createClass({
|
|||||||
},
|
},
|
||||||
joinNetwork: function(event) {
|
joinNetwork: function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
alert('foo');
|
if ((this.networkToJoin)&&(this.networkToJoin.length === 16)) {
|
||||||
|
Ajax.call({
|
||||||
|
url: 'network/'+this.networkToJoin+'?auth='+this.props.authToken,
|
||||||
|
cache: false,
|
||||||
|
type: 'POST',
|
||||||
|
success: function(data) {
|
||||||
|
}.bind(this),
|
||||||
|
error: function() {
|
||||||
|
}.bind(this)
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleNetworkIdEntry: function(event) {
|
handleNetworkIdEntry: function(event) {
|
||||||
var nid = event.target.value;
|
var nid = event.target.value;
|
||||||
@ -154,6 +167,7 @@ var ZeroTierNode = React.createClass({
|
|||||||
<div className="networks">
|
<div className="networks">
|
||||||
{
|
{
|
||||||
this.state._networks.map(function(network) {
|
this.state._networks.map(function(network) {
|
||||||
|
network['authToken'] = this.props.authToken;
|
||||||
return React.createElement('div',{className: 'network'},React.createElement(ZeroTierNetwork,network));
|
return React.createElement('div',{className: 'network'},React.createElement(ZeroTierNetwork,network));
|
||||||
}.bind(this))
|
}.bind(this))
|
||||||
}
|
}
|
||||||
|
@ -73,19 +73,19 @@ html,body {
|
|||||||
background: #eeeeee;
|
background: #eeeeee;
|
||||||
}
|
}
|
||||||
.zeroTierNode > .middle > .middleScroll > .networks {
|
.zeroTierNode > .middle > .middleScroll > .networks {
|
||||||
display: table;
|
display: block;
|
||||||
width: 100%;
|
width: auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
.zeroTierNode > .middle > .middleScroll > .networks > .network {
|
.zeroTierNode > .middle > .middleScroll > .networks > .network {
|
||||||
width: 100%;
|
padding: 0.5rem;
|
||||||
padding: 0;
|
margin: 0.25rem;
|
||||||
margin: 0;
|
float: left;
|
||||||
display: table-row;
|
display: inline-block;
|
||||||
border-bottom: 1px solid #234447;
|
border: 1px solid #234447;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
}
|
}
|
||||||
.zeroTierNode > .middle > .middleScroll > .peers {
|
.zeroTierNode > .middle > .middleScroll > .peers {
|
||||||
@ -180,25 +180,56 @@ html,body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.zeroTierNetwork {
|
.zeroTierNetwork {
|
||||||
width: 100%;
|
padding: 0;
|
||||||
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
display: inline-block;
|
||||||
|
text-align: right;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.zeroTierNetwork .deletedOverlay {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
display: block;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 2;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .networkInfo {
|
.zeroTierNetwork .networkInfo {
|
||||||
padding: 0 0 0.5rem 0;
|
padding: 0 0 0.5rem 0;
|
||||||
|
text-align: left;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
.zeroTierNetwork .networkInfo .networkId {
|
||||||
|
font-size: 10pt;
|
||||||
|
font-family: monospace;
|
||||||
|
color: #91a2a3;
|
||||||
|
}
|
||||||
|
.zeroTierNetwork .networkInfo .networkName {
|
||||||
|
padding: 0 0 0 1rem;
|
||||||
|
float: right;
|
||||||
|
font-size: 12pt;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .networkProps {
|
.zeroTierNetwork .networkProps {
|
||||||
padding: 0 0 0.5rem 0;
|
width: 100%;
|
||||||
display: table;
|
display: table;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto 0 auto;
|
||||||
|
border-top: 1px solid #999999;
|
||||||
|
border-bottom: 1px solid #999999;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .networkProps > .row {
|
.zeroTierNetwork .networkProps > .row {
|
||||||
display: table-row;
|
display: table-row;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .networkProps > .row > .name {
|
.zeroTierNetwork .networkProps > .row > .name {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
|
font-size: 10pt;
|
||||||
padding: 0.1rem 0.5rem 0.1rem 0.5rem;
|
padding: 0.1rem 0.5rem 0.1rem 0.5rem;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .networkProps > .row > .value {
|
.zeroTierNetwork .networkProps > .row > .value {
|
||||||
|
font-size: 10pt;
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
padding: 0.1rem 0.5rem 0.1rem 0.5rem;
|
padding: 0.1rem 0.5rem 0.1rem 0.5rem;
|
||||||
background: #eeeeee;
|
background: #eeeeee;
|
||||||
@ -207,7 +238,7 @@ html,body {
|
|||||||
}
|
}
|
||||||
.zeroTierNetwork .ipAddress {
|
.zeroTierNetwork .ipAddress {
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
font-size: 12pt;
|
font-size: 10pt;
|
||||||
}
|
}
|
||||||
.zeroTierNetwork .leaveNetworkButton {
|
.zeroTierNetwork .leaveNetworkButton {
|
||||||
padding: 0.25rem 0.5rem 0.25rem 0.5rem;
|
padding: 0.25rem 0.5rem 0.25rem 0.5rem;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user