Start
This commit is contained in:
71
ts/admin/admin-scripts/index.ts
Normal file
71
ts/admin/admin-scripts/index.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
declare const _romhackplaza_admin_scripts: any;
|
||||
|
||||
document.addEventListener( "DOMContentLoaded", ( event ) => {
|
||||
|
||||
let nb_params = 0;
|
||||
function add_arg( e: Event ) {
|
||||
|
||||
nb_params += 1;
|
||||
|
||||
let html_content = document.createElement("div");
|
||||
html_content.id = "arg_" + ( nb_params - 1 ).toString();
|
||||
|
||||
let name_content = document.createElement( "input" );
|
||||
name_content.type = "text";
|
||||
name_content.name = "arg_name_" + ( nb_params - 1 ).toString();
|
||||
name_content.id = "arg_name_" + ( nb_params - 1 ).toString();
|
||||
name_content.setAttribute( 'required', "required" );
|
||||
|
||||
let value_content = document.createElement( "input" );
|
||||
value_content.type = "text";
|
||||
value_content.name = "arg_value_" + ( nb_params - 1 ).toString();
|
||||
value_content.id = "arg_value_" + ( nb_params - 1 ).toString();
|
||||
value_content.setAttribute( 'required', "required" );
|
||||
|
||||
html_content.appendChild( name_content );
|
||||
html_content.appendChild( value_content );
|
||||
html_content.appendChild( document.createElement( "hr" ) )
|
||||
|
||||
document.getElementById( "arguments" )?.appendChild( html_content );
|
||||
|
||||
}
|
||||
|
||||
function _execute_script( e: Event ){
|
||||
|
||||
e.preventDefault();
|
||||
// @ts-ignore
|
||||
let select = document.getElementById( "script_select" ).value ?? "none";
|
||||
if( select == null || select == "none" || select == "" )
|
||||
return;
|
||||
|
||||
const XML: XMLHttpRequest = new XMLHttpRequest();
|
||||
XML.open( 'POST', _romhackplaza_admin_scripts.execute_url );
|
||||
|
||||
let form_data = new FormData();
|
||||
for( let i = 0; i < nb_params; i++ ){
|
||||
|
||||
// @ts-ignore
|
||||
let name = document.getElementById( 'arg_name_' + i.toString() ).value;
|
||||
// @ts-ignore
|
||||
let value = document.getElementById( 'arg_value_' + i.toString()).value;
|
||||
form_data.append( name, value );
|
||||
|
||||
}
|
||||
|
||||
form_data.append( "script", select );
|
||||
form_data.append( "_wpnonce", _romhackplaza_admin_scripts.execute_nonce );
|
||||
form_data.append( "action", "load_admin_script" );
|
||||
|
||||
XML.onreadystatechange = function(){
|
||||
if(XML.readyState === XMLHttpRequest.DONE && XML.status === 200){
|
||||
document.getElementById( 'script-response')!.innerHTML = XML.responseText;
|
||||
}
|
||||
}
|
||||
XML.send( form_data );
|
||||
|
||||
}
|
||||
|
||||
document.getElementById( 'add_args' )?.addEventListener( 'click', add_arg );
|
||||
document.getElementById( 'script-loader' )?.addEventListener( 'submit', _execute_script );
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user