All Downloads are FREE. Search and download functionalities are using the official Maven repository.

res.ui.instance.js Maven / Gradle / Ivy

There is a newer version: 4.4.6
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

function renderInstance( data ) {
    $(document).ready( function() {
        renderView();
        renderData( data );
    } );
}

function renderView() {
    renderStatusLine();
    var txt = "
" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "
Name: SSH Port: RMI Registry Port: RMI Server Port: Location: JavaOpts: " + "
Features: Feature URLs:
"; $("#plugin_content").append( txt ); renderTable( "Karaf Instances", "instances_table", ["Pid", "Name", "SSH Port", "RMI Registry Port", "RMI Server Port", "State", "JavaOpts", "Location", "Actions"] ); renderStatusLine(); } function createInstance() { var name = document.getElementById( "name" ).value; var sshPort = document.getElementById( "sshPort" ).value; var rmiRegistryPort = document.getElementById("rmiRegistryPort").value; var rmiServerPort = document.getElementById("rmiServerPort").value; var location = document.getElementById( "location" ).value; var javaOpts = document.getElementById( "javaOpts" ).value; var features = document.getElementById( "features" ).value; var featureURLs = document.getElementById( "featureURLs" ).value; postCreateInstance( name, sshPort, rmiRegistryPort, rmiServerPort, location, javaOpts, features, featureURLs ); } function postCreateInstance( /* String */ name, /* String */ sshPort, /* String */ rmiRegistryPort, /* String */ rmiServerPort, /* String */ location, /* String */ javaOpts, /* String */ features, /* String */ featureURLs ) { $.post( pluginRoot, {"action": "create", "name": name, "sshPort": sshPort, "rmiRegistryPort": rmiRegistryPort, "rmiServerPort": rmiServerPort, "location": location, "javaOpts": javaOpts, "features": features, "featureURLs": featureURLs }, function( data ) { renderData( data ); }, "json" ); } function renderStatusLine() { $("#plugin_content").append( "
" ); } function renderTable( /* String */ title, /* String */ id, /* array of Strings */ columns ) { var txt = "" + "
" + title + "
" + ""; for ( var name in columns ) { txt = txt + ""; } txt = txt + "
" + columns[name] + "
"; $("#plugin_content").append( txt ); } function renderData( /* Object */ data ) { renderStatusData( data.status ); renderInstancesTableData( data.instances ); $("#instances_table").tablesorter( { headers: { 5: { sorter: false } }, sortList: [[0,0]], } ); } function renderStatusData( /* String */ status ) { $(".statusline").empty().append( status ); } function renderInstancesTableData( /* array of Objects */ instances ) { $("#instances_table > tbody > tr").remove(); for ( var idx in instances ) { var trElement = tr( null, { id: instances[idx].pid } ); renderInstanceData( trElement, instances[idx] ); $("#instances_table > tbody").append( trElement ); } $("#instances_table").trigger( "update" ); } function renderInstanceData( /* Element */ parent, /* Object */ instance ) { parent.appendChild( td( null, null, [ text( instance.pid ) ] ) ); parent.appendChild( td( null, null, [ text( instance.name ) ] ) ); parent.appendChild( td( null, null, [ text( instance.sshPort ) ] ) ); parent.appendChild( td( null, null, [ text( instance.rmiRegistryPort ) ] ) ); parent.appendChild( td( null, null, [ text( instance.rmiServerPort ) ] ) ); parent.appendChild( td( null, null, [ text( instance.state ) ] ) ); parent.appendChild( td( null, null, [ text( instance.location ) ] ) ); parent.appendChild( td( null, null, [ text( instance.javaOpts ) ] ) ); var actionsTd = td( null, null ); var div = createElement( "div", null, { style: { "text-align": "left" } } ); actionsTd.appendChild( div ); for ( var a in instance.actions ) { instanceButton( div, instance.name, instance.actions[a] ); } parent.appendChild( actionsTd ); } function instanceButton( /* Element */ parent, /* String */ name, /* Obj */ action ) { var input = createElement( "input", null, { type: 'image', style: { "margin-left": "10px" }, title: action.title, alt: action.title, src: imgRoot + '/bundle_' + action.image + '.png' } ); $(input).click( function() { changeInstanceState( action.op, name ) } ); parent.appendChild( input ); } function changeInstanceState( /* String */ action, /* String */ name) { $.post( pluginRoot, { "action": action, "name": name }, function( data ) { renderData( data ); }, "json" ); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy