UNPKG

fire-ide

Version:

Web-based Integrated Development Environment for fire.js

118 lines (116 loc) 3.49 kB
jQuery.fn.showDeployLoading = function(msg) { $(this).html($('<p>').addClass('title').text(msg + "...")).fadeIn() }; var vcapApiEndPoint = '' var appName = '' $('.deploy .endpoint').load('/deploy/vcap/endpoints',function() { $('#vcap_endpoint').change(function() { vcapApiEndPoint = $(this).val() //Check Login for Endpoint checkVcapLogin() }) }) var deploymentSocket = io.connect(window.location.origin); deploymentSocket.on('deployment_progress', function(msg) { var element = $('.deploy .progress ul li.' + msg.name) if(element.size() == 0) { element = $('<li>').addClass(msg.name) element.append($('<span>')) element.append($('<img>')) } $('span', element).html(msg.message) if(msg.status == 'waiting') { $('img', element).attr('src','/images/ajax-loader.gif') } else if(msg.status == 'success') { $('img', element).attr('src','/images/ok_22.png') } if(element.parent().size() == 0) { $('.deploy .progress ul').append(element) } }) function refreshVcapApps() { $('.deploy .apps').showDeployLoading('Fetching Applications List') $.post('/deploy/vcap/apps', { endpoint: vcapApiEndPoint }, function(data, response, req) { $('.deploy .apps').html(data).fadeIn() $('.deploy .apps a.app').click(function(event) { event.stopImmediatePropagation() event.preventDefault() appName = $(this).attr('title') $('.deploy .current_app').showDeployLoading('Fetching Application Manifest') $.post('/deploy/vcap/apps/' + appName + '/info', { endpoint: vcapApiEndPoint }, function(data, response, req) { $('.deploy .current_app').html(data).fadeIn() $('.deploy .current_app .update').click(function(event) { event.stopImmediatePropagation() event.preventDefault() $('.deploy .progress').fadeIn() $.post('/deploy/vcap/apps/' + appName + '/update', { endpoint: vcapApiEndPoint }, function(data, response, req) { $('.deploy .result').html(data).fadeIn() }) }) }) }) $('.deploy .apps .showCreateApp').click(function(event) { event.stopImmediatePropagation() event.preventDefault() var bindCreateAppForm = function() { $('.deploy .apps form input.endpoint').val(vcapApiEndPoint) $('.deploy .apps form').ajaxForm({ target: '.deploy .apps', complete: function(response) { bindCreateAppForm() }, success: function(data, status, response) { if(response.status == 200) { // continue refreshVcapApps() } } }); } $('.deploy .apps').load('/deploy/vcap/apps/new', function() { bindCreateAppForm() }) }) }) } function checkVcapLogin() { var prepareLoginForm = function() { $('.deploy .login input.endpoint').val(vcapApiEndPoint) $('.deploy form.login').ajaxForm({ target: '.deploy .login', success: function(data, status, response) { if(response.status == 200) { // continue refreshVcapApps() } else { prepareLoginForm() } } }); } $.post('/deploy/vcap/login/', { endpoint: vcapApiEndPoint }, function(data, response, req) { $('.deploy .login').html(data).fadeIn() $('.deploy .login .logout').click(function(event) { event.stopImmediatePropagation() event.preventDefault() $.post('/deploy/vcap/logout', { endpoint: vcapApiEndPoint }, function(data, response, req) { checkVcapLogin() }) }) prepareLoginForm() if(req.status == 200) { // continue refreshVcapApps() } }) }