$(document).ready(function() { $('#databases').submit(function(e) { e.preventDefault(); var db = $("[name='database']").val(); var models = []; var namespaces = []; $.post('?p=admin&action=listModels', {"database": db}).done(function(data) { //console.debug(data); var info = $.parseJSON(data); //console.debug(info.models); models = info.models; //console.debug(models); $.post('?p=admin&action=listNamespaces').done(function(data) { //console.debug(data); info = $.parseJSON(data); //console.debug(info.models); namespaces = info.namespaces; //console.debug(namespaces); $.each(models, function(i, elem) { var div = $('
').attr('class', 'row'); div.append($('').attr('class', 'col-md-2').html(elem.model)); var div2 = $('').attr('class', 'row'); $.each(namespaces, function(j, ns) { div2.append($('').attr('class', 'col-md-3').append($('').attr('class', 'ns').attr('data-table', elem.table).attr('data-ns', ns).html(ns))); }); div.append($('').attr('class', 'col-md-9').append(div2)); div.append($('').attr('class', 'col-md-1 remove').append($('').attr('class', 'glyphicon glyphicon-remove'))); $('#results').append(div); }); $('.ns').css('cursor', 'pointer'); $('.remove').css('cursor', 'pointer'); $('.ns').mouseover(function(e) { $(this).parent().addClass('bg-success'); $(this).parent().parent().parent().parent().addClass('bg-warning'); }).mouseout(function(e) { $(this).parent().removeClass('bg-success'); $(this).parent().parent().parent().parent().removeClass('bg-warning'); }); $('.remove').mouseover(function(e) { $(this).parent().addClass('bg-danger'); }).mouseout(function(e) { $(this).parent().removeClass('bg-danger'); }); $('.ns').click(function(e) { var table = $(this).attr('data-table'); var ns = $(this).attr('data-ns'); execute(table, ns); }); $('.remove').click(function(e) { $(this).parent().remove(); }); }); }); return false; }); }); function execute(table, ns) { console.debug(table, ns); var db = $("[name='database']").val(); $.post('?p=admin&action=createModel', {"table": table, "namespace": ns, "database": db}).done(function(data) { console.debug(data); var info = $.parseJSON(data); console.debug(info); if (info.result) { $(".ns[data-table='" + table + "']").parent().parent().parent().parent().remove(); } else { alert('Error'); } }); }