function executePagination(randomValue, url) { UI.reload(url, $(`#table-container-${randomValue}`), $(`#table-container-${randomValue} table.table`)) } function executeStateDependencyChecks(dependenceSourceSelector) { if (dependenceSourceSelector === undefined) { var tempSelector = "[data-dependence-source]"; } else { var tempSelector = '*[data-dependence-source="' + dependenceSourceSelector + '"]'; } $(tempSelector).each(function(index, dependent) { var dependenceSource = $(dependent).data('dependence-source'); if ($(dependent).data('dependence-option') === $(dependenceSource).val()) { $(dependent).parent().parent().removeClass('d-none'); } else { $(dependent).parent().parent().addClass('d-none'); } }); } function toggleAllAttributeCheckboxes(clicked) { let $clicked = $(clicked) let $table = $clicked.closest('table') let $inputs = $table.find('input.selectable_row') $inputs.prop('checked', $clicked.prop('checked')) } function testConnection(id) { $container = $(`#connection_test_${id}`) UI.overlayUntilResolve( $container[0], AJAXApi.quickFetchJSON(`/broods/testConnection/${id}`), {text: 'Running test'} ).then(result => { const $testResult = attachTestConnectionResultHtml(result, $container) $(`#connection_test_${id}`).append($testResult) }) .catch((error) => { const $testResult = attachTestConnectionResultHtml(error.message, $container) $(`#connection_test_${id}`).append($testResult) }) } function attachTestConnectionResultHtml(result, $container) { function getKVHtml(key, value, valueClasses=[], extraValue='') { return $('
').append( $('').text(key + ': '), $('').addClass(valueClasses).text(value), $('').text(extraValue.length > 0 ? ` (${extraValue})` : '') ) } $container.find('div.tester-result').remove() $testResultDiv = $(''); if (typeof result !== 'object') { $testResultDiv.append(getKVHtml('Internal error', result, ['text-danger fw-bold'])) } else { if (result['error']) { $testResultDiv.append( getKVHtml('Status', 'OK', ['text-danger'], `${result['ping']} ms`), getKVHtml('Status', `Error: ${result['error']}`, ['text-danger']), getKVHtml('Reason', result['reason'], ['text-danger']) ) } else { const canSync = result['response']['role']['perm_admin'] || result['response']['role']['perm_sync']; $testResultDiv.append( getKVHtml('Status', 'OK', ['text-success'], `${result['ping']} ms`), getKVHtml('Remote', `${result['response']['application']} v${result['response']['version']}`), getKVHtml('User', result['response']['user'], [], result['response']['role']['name']), getKVHtml('Sync permission', (canSync ? 'Yes' : 'No'), [(canSync ? 'text-success' : 'text-danger')]), ) } } return $testResultDiv } function syntaxHighlightJson(json, indent) { if (indent === undefined) { indent = 2; } if (typeof json == 'string') { json = JSON.parse(json); } json = JSON.stringify(json, undefined, indent); json = json.replace(/&/g, '&').replace(//g, '>').replace(/(?:\r\n|\r|\n)/g, '