mirror of https://github.com/Aidaho12/haproxy-wi
v8.1.8: Add new SSL management table and improve JS logic
Introduced an SSL management table with dynamic fields for server, type, domain, and credentials in `ssl.html`. Simplified JS logic by removing redundant conditions and enhanced `showConfigFiles` to support preselection. Added `makeid` function for generating random strings.pull/418/head
parent
3ca015d279
commit
615c4b3e4c
|
@ -48,19 +48,10 @@ $( function() {
|
||||||
let link = $(this).find('a').attr('href');
|
let link = $(this).find('a').attr('href');
|
||||||
let full_uri = window.location.pathname
|
let full_uri = window.location.pathname
|
||||||
let full_uri1 = window.location.hash
|
let full_uri1 = window.location.hash
|
||||||
let params = new URL(document.location.toString()).searchParams;
|
|
||||||
if (full_uri === link) {
|
if (full_uri === link) {
|
||||||
show_current_page($(this))
|
show_current_page($(this))
|
||||||
} else if (link === full_uri + full_uri1) {
|
} else if (link === full_uri + full_uri1) {
|
||||||
show_current_page($(this))
|
show_current_page($(this))
|
||||||
} else if (link === '/add/haproxy#ssl' && full_uri1 === '#ssl' && params.get("service") != 'nginx') {
|
|
||||||
show_current_page($(this))
|
|
||||||
} else if (link === '/add/haproxy#ssl' && full_uri1 === '#ssl' && params.get("service") === 'nginx') {
|
|
||||||
show_current_page($(this))
|
|
||||||
} else if (full_uri === 'add/haproxy?service=nginx#ssl' && cur_url[1].split('?')[1] === 'service=nginx#ssl' && full_uri1 === 'add/haproxy?service=nginx#ssl') {
|
|
||||||
show_current_page($(this))
|
|
||||||
} else if (full_uri === 'add/haproxy?service=apache#ssl' && cur_url[1].split('?')[1] === 'service=apache#ssl' && full_uri1 === 'add/haproxy?service=apache#ssl') {
|
|
||||||
show_current_page($(this))
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -307,7 +298,7 @@ function showConfig() {
|
||||||
let config_file_name = encodeURI(config_file);
|
let config_file_name = encodeURI(config_file);
|
||||||
if (service === 'nginx' || service === 'apache') {
|
if (service === 'nginx' || service === 'apache') {
|
||||||
if (config_file === undefined || config_file === null) {
|
if (config_file === undefined || config_file === null) {
|
||||||
config_file_name = cur_url[4]
|
config_file_name = cur_url[7]
|
||||||
if (config_file_name === '') {
|
if (config_file_name === '') {
|
||||||
toastr.warning('Select a config file first');
|
toastr.warning('Select a config file first');
|
||||||
return false;
|
return false;
|
||||||
|
@ -347,7 +338,7 @@ function showConfig() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function showConfigFiles(not_redirect=false) {
|
function showConfigFiles(not_redirect=false, config_file_name=null) {
|
||||||
var service = $('#service').val();
|
var service = $('#service').val();
|
||||||
var server_ip = $("#serv").val();
|
var server_ip = $("#serv").val();
|
||||||
clearAllAjaxFields();
|
clearAllAjaxFields();
|
||||||
|
@ -364,6 +355,10 @@ function showConfigFiles(not_redirect=false) {
|
||||||
} else {
|
} else {
|
||||||
toastr.clear();
|
toastr.clear();
|
||||||
$("#ajax-config_file_name").html(data);
|
$("#ajax-config_file_name").html(data);
|
||||||
|
if (config_file_name) {
|
||||||
|
$('#config_file_name').val(config_file_name);
|
||||||
|
$('#config_file_name').selectmenu('refresh');
|
||||||
|
}
|
||||||
if (findGetParameter('findInConfig') === null) {
|
if (findGetParameter('findInConfig') === null) {
|
||||||
if (not_redirect) {
|
if (not_redirect) {
|
||||||
window.history.pushState("Show config", "Show config", "/config/" + service + "/" + server_ip + "/show-files");
|
window.history.pushState("Show config", "Show config", "/config/" + service + "/" + server_ip + "/show-files");
|
||||||
|
@ -497,7 +492,7 @@ $( function() {
|
||||||
try {
|
try {
|
||||||
var cur_path = window.location.pathname;
|
var cur_path = window.location.pathname;
|
||||||
var attr = $(this).attr('href');
|
var attr = $(this).attr('href');
|
||||||
if (cur_path == '/add/haproxy' || cur_path == '/add/nginx' || cur_path == '/admin' || cur_path == '/install' || cur_path == '/runtimeapi') {
|
if (cur_path == '/install' || cur_path == '/runtimeapi') {
|
||||||
if (typeof attr !== typeof undefined && attr !== false) {
|
if (typeof attr !== typeof undefined && attr !== false) {
|
||||||
$('title').text($(this).attr('title'));
|
$('title').text($(this).attr('title'));
|
||||||
history.pushState({}, '', $(this).attr('href'));
|
history.pushState({}, '', $(this).attr('href'));
|
||||||
|
@ -1378,3 +1373,12 @@ function openUserSettings(user_id) {
|
||||||
function generateSelect(select_id, option_value, option_name, is_selected='') {
|
function generateSelect(select_id, option_value, option_name, is_selected='') {
|
||||||
$(select_id).append('<option value="' + option_value + '" '+is_selected+'>' + option_name + '</option>');
|
$(select_id).append('<option value="' + option_value + '" '+is_selected+'>' + option_name + '</option>');
|
||||||
}
|
}
|
||||||
|
function makeid(length) {
|
||||||
|
let result = '';
|
||||||
|
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||||||
|
let charactersLength = characters.length;
|
||||||
|
for ( let i = 0; i < length; i++ ) {
|
||||||
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
|
@ -76,4 +76,80 @@
|
||||||
<pre id="dialog-confirm-body"></pre>
|
<pre id="dialog-confirm-body"></pre>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" id="group_id" value="{{ g.user_params['group_id']|string() }}">
|
<input type="hidden" id="group_id" value="{{ g.user_params['group_id']|string() }}">
|
||||||
|
<div id="le-add-table" style="display: none;">
|
||||||
|
<table class="overview" id="group-add-table-overview" title="{{lang.words.add|title()}} {{lang.words.w_a}} {{lang.words.new3}} {{lang.words.group2}}">
|
||||||
|
{% include 'include/tr_validate_tips.html' %}
|
||||||
|
<tr>
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.server|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ select('new-le-server_id', values=all_servers, is_servers='true', by_id=1) }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.type|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<select id="new-le-type">
|
||||||
|
<option value="standalone">Stand alone</option>
|
||||||
|
<option value="route53">Route 53</option>
|
||||||
|
<option value="cloudflare">CloudFlare</option>
|
||||||
|
<option value="digitalocean">DigitalOcean</option>
|
||||||
|
<option value="linode">Linode</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.domains|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-domain') }}
|
||||||
|
<div class="tooltip tooltipTop">{{ lang.add_page.desc.comma_separated }}</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="le-standalone">
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.email|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-email') }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="le-dns" style="display: none;">
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.token|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-token') }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="le-aws" style="display: none;">
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
Access key ID
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-access_key_id') }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="le-aws" style="display: none;">
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
Secret access key
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-secret_access_key') }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding20 first-collumn">
|
||||||
|
{{ lang.words.desc|title() }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ input('new-le-description') }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue