craydent-deploy
Version:
craydent deploy helper
265 lines (237 loc) • 8.51 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Craydent Deploy</title>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<link rel="stylesheet" href="capp.css"/>
<script src="http://craydent.com:4900/socket.io/socket.io.js"></script>
<!--<script src="http://localhost:4900/socket.io/socket.io.js"></script>-->
<!-- <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://craydent.com/resources/library/craydent-1.8.0.js"></script>-->
<script src="http://craydent.com/JsonObjectEditor/_joecraydent.js"></script>
<script src="/JsonObjectEditor/capp.css"></script>
<script>
var appStrs = {
tail:'',
tail_error:'',
process_complete:''
};
var socket = io('http://craydent.com:4900');
function printTo(print,to){
var d = $c.format(new Date(),'m/d/y h:i:s');
document.getElementById(to).innerHTML += '<small>'+d+'</small> '+print;
appStrs[to] += print;
//goJoe(appStrs[to]);
}
// var socket = io('http://localhost:4900');
socket.on('line', function (data) {
var m = data.file + ":"+data.line + "<br />";
printTo(m,'tail');
});
socket.on('error', function (data) {
document.getElementById("tail_error").innerHTML += data + "<br />";
printTo(m,'tail');
});
socket.on('process_complete', function (data) {
document.getElementById("out").innerHTML += data.output.replace(/\n/g,'<br />') + '<br /><br />';
printTo(m,'tail');
});
function reload_config() {
$.ajax({
url:"http://deploy.craydent.com/RELOAD_CONFIG",
dataType:"json",
success:function(data){
console.log(data);
alert(data.message);
}
});
}
</script>
<style>
.output_window {
position:absolute;
top:40px;
left:0;
bottom:0;
right:0;
display:none;
overflow:auto;
}
.output_window.active{
display: block;
}
.apps {
width: 150px;
float: left;
}
.apps div {
cursor: pointer;
margin:10px;
}
appWrapper,appHeader,appMenu,joeHolder,appOutputs{
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
display:block;
}
appWrapper{
background:#117799;
}
appHeader{
height:60px;
bottom:auto;
background:rgba(255,255,255,.3);
font-size:28px;
line-height:80px;
}
appMenu,joeHolder{
top:60px;
}
appMenu{
background:rgba(0,0,0,.2);
width:150px;
}
joeHolder{
left:150px;
}
appMenuLabel,appMenuItem,appMenuGroup{
display:block;
}
appMenuLabel{
padding:8px;
background:rgba(0,0,0,.1);
color:#ddd;
}
appMenuItem{
padding:10px;
color:#ccc;
transition:.2s;
cursor: pointer;
}
appMenuItem:hover{
background:rgba(0,0,0,.2);
color:#fff;
}
appOutputs{
position: absolute;
right: 10px;
top: 70px;
left: 160px;
bottom: 10px;
border: 1px solid #fff;
padding:50px 10px 0 10px;
overflow:auto;
color:#eee;
/* margin: 5px; */
}
outputsMenu{
display:block;
background:rgba(255,255,255,.2);
position:absolute;
top:0;
left:0;
right:0;
}
outputName{
width:33%;
width:calc(100%/3);
float:left;
box-sizing: border-box;
padding:10px;
cursor:pointer;
transition:.2s;
}
outputName.active{
background:rgba(255,255,255,.2);
cursor:auto;
}
</style>
<script>
function callServerAction(socketaction,dom,action){
//socket.emit('deploy',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});
socket.emit(socketaction,{
passcode:window.location.search.substring(1),
name:dom.innerText,
action:action||null});
}
$(function(){
$('outputName').click(function(){
var index = $(this).index();
$('outputName,.output_window').removeClass('active');
$('outputName,.output_window').eq(index).addClass('active');
$('.output_window').eq(index).addClass('active');
//$('outputName,output_window')
})
})
</script>
</head>
<body>
<capp-wrapper>
<capp-header>
Craydent Deploy
</capp-header>
<appMenu>
<appMenuLabel>Apps</appMenuLabel>
<appMenuItem onclick="callServerAction('deploy',this,'build')">catnap</appMenuItem>
<appMenuItem onclick="callServerAction('deploy',this,'build')">deploy</appMenuItem>
<appMenuItem onclick="callServerAction('deploy',this,'pullsync')">proto</appMenuItem>
<appMenuItem onclick="callServerAction('deploy',this,'pullrestart')">proxy</appMenuItem>
<appMenuItem onclick="callServerAction('deploy',this,'build')">shapow</appMenuItem>
<appMenuItem onclick="callServerAction('deploy',this,'pullsync')">joe</appMenuItem>
<!-- <div onclick="socket.emit('deploy',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});">
deploy
</div>
<div onclick="socket.emit('deploy',{passcode:window.location.search.substring(1),name:this.innerText,action:'pullsync'});">
proto
</div>
<div onclick="socket.emit('deploy',{passcode:window.location.search.substring(1),name:this.innerText,action:'pullrestart'});">
proxy
</div>
<div onclick="socket.emit('deploy',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});">
shapow
</div>-->
<appMenuLabel>Logs</appMenuLabel>
<appMenuItem onclick="callServerAction('tail',this)">catnap</appMenuItem>
<appMenuItem onclick="callServerAction('tail',this)">deploy</appMenuItem>
<appMenuItem onclick="callServerAction('tail',this)">proto</appMenuItem>
<appMenuItem onclick="callServerAction('tail',this)">proxy</appMenuItem>
<appMenuItem onclick="callServerAction('tail',this)">shapow</appMenuItem>
<!-- <div onclick="socket.emit('tail',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});">
catnap
</div>
<div onclick="socket.emit('tail',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});">
deploy
</div>
<div onclick="socket.emit('tail',{passcode:window.location.search.substring(1),name:this.innerText,action:'pullsync'});">
proto
</div>
<div onclick="socket.emit('tail',{passcode:window.location.search.substring(1),name:this.innerText,action:'pullrestart'});">
proxy
</div>
<div onclick="socket.emit('tail',{passcode:window.location.search.substring(1),name:this.innerText,action:'build'});">
shapow
</div>-->
<div onclick="reload_config();" style="margin-top: 40px;">
Reload Proxy Config
</div>
</appMenu>
<joeHolder>
</joeHolder>
<appOutputs>
<outputsMenu>
<outputName class="active">Tail</outputName>
<outputName>Errors</outputName>
<outputName>STD Out</outputName>
</outputsMenu>
<div id="tail" class="output_window active"></div>
<div id="tail_error" class="output_window">Errors:<br /></div>
<div id="out" class="output_window">STD Out:<br /></div>
</appOutputs>
</capp-wrapper>
<div class="apps">
</div>
</body>
</html>