From efdb99f8cecc4afb592afad79c761081d5d5cf22 Mon Sep 17 00:00:00 2001 From: lee <4766465@qq.com> Date: Wed, 18 Dec 2024 13:27:00 +0800 Subject: [PATCH] init --- xxl-job/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js | 739 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 739 insertions(+), 0 deletions(-) diff --git a/xxl-job/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js b/xxl-job/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js new file mode 100644 index 0000000..b479e97 --- /dev/null +++ b/xxl-job/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js @@ -0,0 +1,739 @@ +$(function() { + + // init date tables + var jobTable = $("#job_list").dataTable({ + "deferRender": true, + "processing" : true, + "serverSide": true, + "ajax": { + url: base_url + "/jobinfo/pageList", + type:"post", + data : function ( d ) { + var obj = {}; + obj.jobGroup = $('#jobGroup').val(); + obj.triggerStatus = $('#triggerStatus').val(); + obj.jobDesc = $('#jobDesc').val(); + obj.executorHandler = $('#executorHandler').val(); + obj.author = $('#author').val(); + obj.start = d.start; + obj.length = d.length; + return obj; + } + }, + "searching": false, + "ordering": false, + //"scrollX": true, // scroll x,close self-adaption + "columns": [ + { + "data": 'id', + "bSortable": false, + "visible" : true, + "width":'7%' + }, + { + "data": 'jobGroup', + "visible" : false, + "render": function ( data, type, row ) { + var groupMenu = $("#jobGroup").find("option"); + for ( var index in $("#jobGroup").find("option")) { + if ($(groupMenu[index]).attr('value') == data) { + return $(groupMenu[index]).html(); + } + } + return data; + } + }, + { + "data": 'jobDesc', + "visible" : true, + "width":'25%' + }, + { + "data": 'scheduleType', + "visible" : true, + "width":'13%', + "render": function ( data, type, row ) { + if (row.scheduleConf) { + return row.scheduleType + ':'+ row.scheduleConf; + } else { + return row.scheduleType; + } + } + }, + { + "data": 'glueType', + "width":'25%', + "visible" : true, + "render": function ( data, type, row ) { + var glueTypeTitle = findGlueTypeTitle(row.glueType); + if (row.executorHandler) { + return glueTypeTitle +":" + row.executorHandler; + } else { + return glueTypeTitle; + } + } + }, + { "data": 'executorParam', "visible" : false}, + { + "data": 'addTime', + "visible" : false, + "render": function ( data, type, row ) { + return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):""; + } + }, + { + "data": 'updateTime', + "visible" : false, + "render": function ( data, type, row ) { + return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):""; + } + }, + { "data": 'author', "visible" : true, "width":'10%'}, + { "data": 'alarmEmail', "visible" : false}, + { + "data": 'triggerStatus', + "width":'10%', + "visible" : true, + "render": function ( data, type, row ) { + // status + if (1 == data) { + return '<small class="label label-success" >RUNNING</small>'; + } else { + return '<small class="label label-default" >STOP</small>'; + } + return data; + } + }, + { + "data": I18n.system_opt , + "width":'10%', + "render": function ( data, type, row ) { + return function(){ + + // status + var start_stop_div = ""; + if (1 == row.triggerStatus ) { + start_stop_div = '<li><a href="javascript:void(0);" class="job_operate" _type="job_pause" >'+ I18n.jobinfo_opt_stop +'</a></li>\n'; + } else { + start_stop_div = '<li><a href="javascript:void(0);" class="job_operate" _type="job_resume" >'+ I18n.jobinfo_opt_start +'</a></li>\n'; + } + + // job_next_time_html + var job_next_time_html = ''; + if (row.scheduleType == 'CRON' || row.scheduleType == 'FIX_RATE') { + job_next_time_html = '<li><a href="javascript:void(0);" class="job_next_time" >' + I18n.jobinfo_opt_next_time + '</a></li>\n'; + } + + // log url + var logHref = base_url +'/joblog?jobId='+ row.id; + + // code url + var codeBtn = ""; + if ('BEAN' != row.glueType) { + var codeUrl = base_url +'/jobcode?jobId='+ row.id; + codeBtn = '<li><a href="'+ codeUrl +'" target="_blank" >GLUE IDE</a></li>\n'; + codeBtn += '<li class="divider"></li>\n'; + } + + // data + tableData['key'+row.id] = row; + + // opt + var html = '<div class="btn-group">\n' + + ' <button type="button" class="btn btn-primary btn-sm">'+ I18n.system_opt +'</button>\n' + + ' <button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown">\n' + + ' <span class="caret"></span>\n' + + ' <span class="sr-only">Toggle Dropdown</span>\n' + + ' </button>\n' + + ' <ul class="dropdown-menu" role="menu" _id="'+ row.id +'" >\n' + + ' <li><a href="javascript:void(0);" class="job_trigger" >'+ I18n.jobinfo_opt_run +'</a></li>\n' + + ' <li><a href="'+ logHref +'">'+ I18n.jobinfo_opt_log +'</a></li>\n' + + ' <li><a href="javascript:void(0);" class="job_registryinfo" >' + I18n.jobinfo_opt_registryinfo + '</a></li>\n' + + job_next_time_html + + ' <li class="divider"></li>\n' + + codeBtn + + start_stop_div + + ' <li><a href="javascript:void(0);" class="update" >'+ I18n.system_opt_edit +'</a></li>\n' + + ' <li><a href="javascript:void(0);" class="job_operate" _type="job_del" >'+ I18n.system_opt_del +'</a></li>\n' + + ' <li><a href="javascript:void(0);" class="job_copy" >'+ I18n.system_opt_copy +'</a></li>\n' + + ' </ul>\n' + + ' </div>'; + + return html; + }; + } + } + ], + "language" : { + "sProcessing" : I18n.dataTable_sProcessing , + "sLengthMenu" : I18n.dataTable_sLengthMenu , + "sZeroRecords" : I18n.dataTable_sZeroRecords , + "sInfo" : I18n.dataTable_sInfo , + "sInfoEmpty" : I18n.dataTable_sInfoEmpty , + "sInfoFiltered" : I18n.dataTable_sInfoFiltered , + "sInfoPostFix" : "", + "sSearch" : I18n.dataTable_sSearch , + "sUrl" : "", + "sEmptyTable" : I18n.dataTable_sEmptyTable , + "sLoadingRecords" : I18n.dataTable_sLoadingRecords , + "sInfoThousands" : ",", + "oPaginate" : { + "sFirst" : I18n.dataTable_sFirst , + "sPrevious" : I18n.dataTable_sPrevious , + "sNext" : I18n.dataTable_sNext , + "sLast" : I18n.dataTable_sLast + }, + "oAria" : { + "sSortAscending" : I18n.dataTable_sSortAscending , + "sSortDescending" : I18n.dataTable_sSortDescending + } + } + }); + + // table data + var tableData = {}; + + // search btn + $('#searchBtn').on('click', function(){ + jobTable.fnDraw(); + }); + + // jobGroup change + $('#jobGroup').on('change', function(){ + //reload + var jobGroup = $('#jobGroup').val(); + window.location.href = base_url + "/jobinfo?jobGroup=" + jobGroup; + }); + + // job operate + $("#job_list").on('click', '.job_operate',function() { + var typeName; + var url; + var needFresh = false; + + var type = $(this).attr("_type"); + if ("job_pause" == type) { + typeName = I18n.jobinfo_opt_stop ; + url = base_url + "/jobinfo/stop"; + needFresh = true; + } else if ("job_resume" == type) { + typeName = I18n.jobinfo_opt_start ; + url = base_url + "/jobinfo/start"; + needFresh = true; + } else if ("job_del" == type) { + typeName = I18n.system_opt_del ; + url = base_url + "/jobinfo/remove"; + needFresh = true; + } else { + return; + } + + var id = $(this).parents('ul').attr("_id"); + + layer.confirm( I18n.system_ok + typeName + '?', { + icon: 3, + title: I18n.system_tips , + btn: [ I18n.system_ok, I18n.system_cancel ] + }, function(index){ + layer.close(index); + + $.ajax({ + type : 'POST', + url : url, + data : { + "id" : id + }, + dataType : "json", + success : function(data){ + if (data.code == 200) { + layer.msg( typeName + I18n.system_success ); + if (needFresh) { + //window.location.reload(); + jobTable.fnDraw(false); + } + } else { + layer.msg( data.msg || typeName + I18n.system_fail ); + } + } + }); + }); + }); + + // job trigger + $("#job_list").on('click', '.job_trigger',function() { + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + $("#jobTriggerModal .form input[name='id']").val( row.id ); + $("#jobTriggerModal .form textarea[name='executorParam']").val( row.executorParam ); + + $('#jobTriggerModal').modal({backdrop: false, keyboard: false}).modal('show'); + }); + $("#jobTriggerModal .ok").on('click',function() { + $.ajax({ + type : 'POST', + url : base_url + "/jobinfo/trigger", + data : { + "id" : $("#jobTriggerModal .form input[name='id']").val(), + "executorParam" : $("#jobTriggerModal .textarea[name='executorParam']").val(), + "addressList" : $("#jobTriggerModal .textarea[name='addressList']").val() + }, + dataType : "json", + success : function(data){ + if (data.code == 200) { + $('#jobTriggerModal').modal('hide'); + + layer.msg( I18n.jobinfo_opt_run + I18n.system_success ); + } else { + layer.msg( data.msg || I18n.jobinfo_opt_run + I18n.system_fail ); + } + } + }); + }); + $("#jobTriggerModal").on('hide.bs.modal', function () { + $("#jobTriggerModal .form")[0].reset(); + }); + + + // job registryinfo + $("#job_list").on('click', '.job_registryinfo',function() { + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + var jobGroup = row.jobGroup; + + $.ajax({ + type : 'POST', + url : base_url + "/jobgroup/loadById", + data : { + "id" : jobGroup + }, + dataType : "json", + success : function(data){ + + var html = '<div>'; + if (data.code == 200 && data.content.registryList) { + for (var index in data.content.registryList) { + html += (parseInt(index)+1) + '. <span class="badge bg-green" >' + data.content.registryList[index] + '</span><br>'; + } + } + html += '</div>'; + + layer.open({ + title: I18n.jobinfo_opt_registryinfo , + btn: [ I18n.system_ok ], + content: html + }); + + } + }); + + }); + + // job_next_time + $("#job_list").on('click', '.job_next_time',function() { + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + $.ajax({ + type : 'POST', + url : base_url + "/jobinfo/nextTriggerTime", + data : { + "scheduleType" : row.scheduleType, + "scheduleConf" : row.scheduleConf + }, + dataType : "json", + success : function(data){ + + if (data.code != 200) { + layer.open({ + title: I18n.jobinfo_opt_next_time , + btn: [ I18n.system_ok ], + content: data.msg + }); + } else { + var html = '<center>'; + if (data.code == 200 && data.content) { + for (var index in data.content) { + html += '<span>' + data.content[index] + '</span><br>'; + } + } + html += '</center>'; + + layer.open({ + title: I18n.jobinfo_opt_next_time , + btn: [ I18n.system_ok ], + content: html + }); + } + + } + }); + + }); + + // add + $(".add").click(function(){ + + // init-cronGen + $("#addModal .form input[name='schedule_conf_CRON']").show().siblings().remove(); + $("#addModal .form input[name='schedule_conf_CRON']").cronGen({}); + + // 》init scheduleType + $("#updateModal .form select[name=scheduleType]").change(); + + // 》init glueType + $("#updateModal .form select[name=glueType]").change(); + + $('#addModal').modal({backdrop: false, keyboard: false}).modal('show'); + }); + var addModalValidate = $("#addModal .form").validate({ + errorElement : 'span', + errorClass : 'help-block', + focusInvalid : true, + rules : { + jobDesc : { + required : true, + maxlength: 50 + }, + author : { + required : true + }/*, + executorTimeout : { + digits:true + }, + executorFailRetryCount : { + digits:true + }*/ + }, + messages : { + jobDesc : { + required : I18n.system_please_input + I18n.jobinfo_field_jobdesc + }, + author : { + required : I18n.system_please_input + I18n.jobinfo_field_author + }/*, + executorTimeout : { + digits: I18n.system_please_input + I18n.system_digits + }, + executorFailRetryCount : { + digits: I18n.system_please_input + I18n.system_digits + }*/ + }, + highlight : function(element) { + $(element).closest('.form-group').addClass('has-error'); + }, + success : function(label) { + label.closest('.form-group').removeClass('has-error'); + label.remove(); + }, + errorPlacement : function(error, element) { + element.parent('div').append(error); + }, + submitHandler : function(form) { + + // process executorTimeout+executorFailRetryCount + var executorTimeout = $("#addModal .form input[name='executorTimeout']").val(); + if(!/^\d+$/.test(executorTimeout)) { + executorTimeout = 0; + } + $("#addModal .form input[name='executorTimeout']").val(executorTimeout); + var executorFailRetryCount = $("#addModal .form input[name='executorFailRetryCount']").val(); + if(!/^\d+$/.test(executorFailRetryCount)) { + executorFailRetryCount = 0; + } + $("#addModal .form input[name='executorFailRetryCount']").val(executorFailRetryCount); + + // process schedule_conf + var scheduleType = $("#addModal .form select[name='scheduleType']").val(); + var scheduleConf; + if (scheduleType == 'CRON') { + scheduleConf = $("#addModal .form input[name='cronGen_display']").val(); + } else if (scheduleType == 'FIX_RATE') { + scheduleConf = $("#addModal .form input[name='schedule_conf_FIX_RATE']").val(); + } else if (scheduleType == 'FIX_DELAY') { + scheduleConf = $("#addModal .form input[name='schedule_conf_FIX_DELAY']").val(); + } + $("#addModal .form input[name='scheduleConf']").val( scheduleConf ); + + $.post(base_url + "/jobinfo/add", $("#addModal .form").serialize(), function(data, status) { + if (data.code == "200") { + $('#addModal').modal('hide'); + layer.open({ + title: I18n.system_tips , + btn: [ I18n.system_ok ], + content: I18n.system_add_suc , + icon: '1', + end: function(layero, index){ + jobTable.fnDraw(); + //window.location.reload(); + } + }); + } else { + layer.open({ + title: I18n.system_tips , + btn: [ I18n.system_ok ], + content: (data.msg || I18n.system_add_fail), + icon: '2' + }); + } + }); + } + }); + $("#addModal").on('hide.bs.modal', function () { + addModalValidate.resetForm(); + $("#addModal .form")[0].reset(); + $("#addModal .form .form-group").removeClass("has-error"); + $(".remote_panel").show(); // remote + + $("#addModal .form input[name='executorHandler']").removeAttr("readonly"); + }); + + // scheduleType change + $(".scheduleType").change(function(){ + var scheduleType = $(this).val(); + $(this).parents("form").find(".schedule_conf").hide(); + $(this).parents("form").find(".schedule_conf_" + scheduleType).show(); + + }); + + // glueType change + $(".glueType").change(function(){ + // executorHandler + var $executorHandler = $(this).parents("form").find("input[name='executorHandler']"); + var glueType = $(this).val(); + if ('BEAN' != glueType) { + $executorHandler.val(""); + $executorHandler.attr("readonly","readonly"); + } else { + $executorHandler.removeAttr("readonly"); + } + }); + + $("#addModal .glueType").change(function(){ + // glueSource + var glueType = $(this).val(); + if ('GLUE_GROOVY'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_java").val() ); + } else if ('GLUE_SHELL'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_shell").val() ); + } else if ('GLUE_PYTHON'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_python").val() ); + } else if ('GLUE_PHP'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_php").val() ); + } else if ('GLUE_NODEJS'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_nodejs").val() ); + } else if ('GLUE_POWERSHELL'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_powershell").val() ); + } else { + $("#addModal .form textarea[name='glueSource']").val(""); + } + }); + + // update + $("#job_list").on('click', '.update',function() { + + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + // fill base + $("#updateModal .form input[name='id']").val( row.id ); + $('#updateModal .form select[name=jobGroup] option[value='+ row.jobGroup +']').prop('selected', true); + $("#updateModal .form input[name='jobDesc']").val( row.jobDesc ); + $("#updateModal .form input[name='author']").val( row.author ); + $("#updateModal .form input[name='alarmEmail']").val( row.alarmEmail ); + + // fill trigger + $('#updateModal .form select[name=scheduleType] option[value='+ row.scheduleType +']').prop('selected', true); + $("#updateModal .form input[name='scheduleConf']").val( row.scheduleConf ); + if (row.scheduleType == 'CRON') { + $("#updateModal .form input[name='schedule_conf_CRON']").val( row.scheduleConf ); + } else if (row.scheduleType == 'FIX_RATE') { + $("#updateModal .form input[name='schedule_conf_FIX_RATE']").val( row.scheduleConf ); + } else if (row.scheduleType == 'FIX_DELAY') { + $("#updateModal .form input[name='schedule_conf_FIX_DELAY']").val( row.scheduleConf ); + } + + // 》init scheduleType + $("#updateModal .form select[name=scheduleType]").change(); + + // fill job + $('#updateModal .form select[name=glueType] option[value='+ row.glueType +']').prop('selected', true); + $("#updateModal .form input[name='executorHandler']").val( row.executorHandler ); + $("#updateModal .form textarea[name='executorParam']").val( row.executorParam ); + + // 》init glueType + $("#updateModal .form select[name=glueType]").change(); + + // 》init-cronGen + $("#updateModal .form input[name='schedule_conf_CRON']").show().siblings().remove(); + $("#updateModal .form input[name='schedule_conf_CRON']").cronGen({}); + + // fill advanced + $('#updateModal .form select[name=executorRouteStrategy] option[value='+ row.executorRouteStrategy +']').prop('selected', true); + $("#updateModal .form input[name='childJobId']").val( row.childJobId ); + $('#updateModal .form select[name=misfireStrategy] option[value='+ row.misfireStrategy +']').prop('selected', true); + $('#updateModal .form select[name=executorBlockStrategy] option[value='+ row.executorBlockStrategy +']').prop('selected', true); + $("#updateModal .form input[name='executorTimeout']").val( row.executorTimeout ); + $("#updateModal .form input[name='executorFailRetryCount']").val( row.executorFailRetryCount ); + + // show + $('#updateModal').modal({backdrop: false, keyboard: false}).modal('show'); + }); + var updateModalValidate = $("#updateModal .form").validate({ + errorElement : 'span', + errorClass : 'help-block', + focusInvalid : true, + + rules : { + jobDesc : { + required : true, + maxlength: 50 + }, + author : { + required : true + } + }, + messages : { + jobDesc : { + required : I18n.system_please_input + I18n.jobinfo_field_jobdesc + }, + author : { + required : I18n.system_please_input + I18n.jobinfo_field_author + } + }, + highlight : function(element) { + $(element).closest('.form-group').addClass('has-error'); + }, + success : function(label) { + label.closest('.form-group').removeClass('has-error'); + label.remove(); + }, + errorPlacement : function(error, element) { + element.parent('div').append(error); + }, + submitHandler : function(form) { + + // process executorTimeout + executorFailRetryCount + var executorTimeout = $("#updateModal .form input[name='executorTimeout']").val(); + if(!/^\d+$/.test(executorTimeout)) { + executorTimeout = 0; + } + $("#updateModal .form input[name='executorTimeout']").val(executorTimeout); + var executorFailRetryCount = $("#updateModal .form input[name='executorFailRetryCount']").val(); + if(!/^\d+$/.test(executorFailRetryCount)) { + executorFailRetryCount = 0; + } + $("#updateModal .form input[name='executorFailRetryCount']").val(executorFailRetryCount); + + + // process schedule_conf + var scheduleType = $("#updateModal .form select[name='scheduleType']").val(); + var scheduleConf; + if (scheduleType == 'CRON') { + scheduleConf = $("#updateModal .form input[name='cronGen_display']").val(); + } else if (scheduleType == 'FIX_RATE') { + scheduleConf = $("#updateModal .form input[name='schedule_conf_FIX_RATE']").val(); + } else if (scheduleType == 'FIX_DELAY') { + scheduleConf = $("#updateModal .form input[name='schedule_conf_FIX_DELAY']").val(); + } + $("#updateModal .form input[name='scheduleConf']").val( scheduleConf ); + + // post + $.post(base_url + "/jobinfo/update", $("#updateModal .form").serialize(), function(data, status) { + if (data.code == "200") { + $('#updateModal').modal('hide'); + layer.open({ + title: I18n.system_tips , + btn: [ I18n.system_ok ], + content: I18n.system_update_suc , + icon: '1', + end: function(layero, index){ + //window.location.reload(); + jobTable.fnDraw(); + } + }); + } else { + layer.open({ + title: I18n.system_tips , + btn: [ I18n.system_ok ], + content: (data.msg || I18n.system_update_fail ), + icon: '2' + }); + } + }); + } + }); + $("#updateModal").on('hide.bs.modal', function () { + updateModalValidate.resetForm(); + $("#updateModal .form")[0].reset(); + $("#updateModal .form .form-group").removeClass("has-error"); + }); + + /** + * find title by name, GlueType + */ + function findGlueTypeTitle(glueType) { + var glueTypeTitle; + $("#addModal .form select[name=glueType] option").each(function () { + var name = $(this).val(); + var title = $(this).text(); + if (glueType == name) { + glueTypeTitle = title; + return false + } + }); + return glueTypeTitle; + } + + // job_copy + $("#job_list").on('click', '.job_copy',function() { + + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + // fill base + $('#addModal .form select[name=jobGroup] option[value='+ row.jobGroup +']').prop('selected', true); + $("#addModal .form input[name='jobDesc']").val( row.jobDesc ); + $("#addModal .form input[name='author']").val( row.author ); + $("#addModal .form input[name='alarmEmail']").val( row.alarmEmail ); + + // fill trigger + $('#addModal .form select[name=scheduleType] option[value='+ row.scheduleType +']').prop('selected', true); + $("#addModal .form input[name='scheduleConf']").val( row.scheduleConf ); + if (row.scheduleType == 'CRON') { + $("#addModal .form input[name='schedule_conf_CRON']").val( row.scheduleConf ); + } else if (row.scheduleType == 'FIX_RATE') { + $("#addModal .form input[name='schedule_conf_FIX_RATE']").val( row.scheduleConf ); + } else if (row.scheduleType == 'FIX_DELAY') { + $("#addModal .form input[name='schedule_conf_FIX_DELAY']").val( row.scheduleConf ); + } + + // 》init scheduleType + $("#addModal .form select[name=scheduleType]").change(); + + // fill job + $('#addModal .form select[name=glueType] option[value='+ row.glueType +']').prop('selected', true); + $("#addModal .form input[name='executorHandler']").val( row.executorHandler ); + $("#addModal .form textarea[name='executorParam']").val( row.executorParam ); + + // 》init glueType + $("#addModal .form select[name=glueType]").change(); + + // 》init-cronGen + $("#addModal .form input[name='schedule_conf_CRON']").show().siblings().remove(); + $("#addModal .form input[name='schedule_conf_CRON']").cronGen({}); + + // fill advanced + $('#addModal .form select[name=executorRouteStrategy] option[value='+ row.executorRouteStrategy +']').prop('selected', true); + $("#addModal .form input[name='childJobId']").val( row.childJobId ); + $('#addModal .form select[name=misfireStrategy] option[value='+ row.misfireStrategy +']').prop('selected', true); + $('#addModal .form select[name=executorBlockStrategy] option[value='+ row.executorBlockStrategy +']').prop('selected', true); + $("#addModal .form input[name='executorTimeout']").val( row.executorTimeout ); + $("#addModal .form input[name='executorFailRetryCount']").val( row.executorFailRetryCount ); + + // show + $('#addModal').modal({backdrop: false, keyboard: false}).modal('show'); + }); + +}); -- Gitblit v1.9.3