PHP Classes

File: public/assets/js/bd-test.js

Recommend this page to a friend!
  Classes of Francisco Núñez   Catalyst   public/assets/js/bd-test.js   Download  
File: public/assets/js/bd-test.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Catalyst
Framework to develop MVC-based PHP applications
Author: By
Last change:
Date: 2 days ago
Size: 3,648 bytes
 

Contents

Class file image Download
/************************************************************************************** * * Catalyst PHP Framework - JavaScript Component * ES6+/ES7 Standard * * @package Catalyst * @subpackage Js * @see https://github.com/arcanisgk/catalyst * * @author Walter Nuñez (arcanisgk/original founder) <[email protected]> * @copyright 2023 - 2025 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * * @note This program is distributed in the hope that it will be useful * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. * * @category Framework * @filesource * * @link https://catalyst.dock Local development URL * * Bd Test component for the Catalyst Framework * */ /** * Database Connection Test Utility * * Provides functionality for testing database connections in the configuration panel. * This module follows the same patterns as other utility functions in main.js */ /** * Test a database connection using the provided form data * * @param {number|string} connectionId - The ID of the connection to test * @param {HTMLFormElement|string} form - The form element or selector containing connection details * @returns {Promise} - Promise that resolves with the test result */ async function testDatabaseConnection(connectionId, form) { // Get the form element if a selector was provided if (typeof form === 'string') { form = document.querySelector(form); } if (!form) { form = document.querySelector(`form[data-connection-id="${connectionId}"]`); if (!form) { throw new Error(`Form for connection ID ${connectionId} not found`); } } try { // Create FormData object and add test-specific fields const formData = new FormData(form); formData.append('type', 'db'); formData.append('connection_id', connectionId); // Display loading indicator const testButton = document.querySelector(`.test-connection[data-connection-id="${connectionId}"]`); const originalContent = testButton ? testButton.innerHTML : null; if (testButton) { testButton.disabled = true; testButton.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Testing...'; } // Send the request const response = await fetch('/configure/test-connection', { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' } }); const result = await response.json(); // Show appropriate feedback if (result.success) { window.toasts.success('Connection successful: ' + result.message); } else { window.toasts.error('Connection failed: ' + result.message); } return result; } catch (error) { console.error('Error testing database connection:', error); window.toasts.error('An error occurred while testing the connection'); throw error; } finally { // Restore the test button const testButton = document.querySelector(`.test-connection[data-connection-id="${connectionId}"]`); if (testButton) { testButton.disabled = false; testButton.innerHTML = '<i class="bi bi-check-circle"></i> Test Connection'; } } } // Export the function to the global scope for use in HTML window.testDatabaseConnection = testDatabaseConnection;