2022-12-28 20:05:10 +01:00
"use strict" ;
2023-01-24 23:31:38 +01:00
/* eslint-env es2017, browser, jquery */
/* global _post:readable, BASE_URL:readable, reload:readable, jdenticon:readable */
2022-12-28 20:05:10 +01:00
2023-01-24 23:31:38 +01:00
function deleteOrganization ( event ) {
2022-12-28 20:05:10 +01:00
event . preventDefault ( ) ;
event . stopPropagation ( ) ;
const org _uuid = event . target . dataset . vwOrgUuid ;
const org _name = event . target . dataset . vwOrgName ;
const billing _email = event . target . dataset . vwBillingEmail ;
if ( ! org _uuid ) {
alert ( "Required parameters not found!" ) ;
return false ;
}
// First make sure the user wants to delete this organization
const continueDelete = confirm ( ` WARNING: All data of this organization ( ${ org _name } ) will be lost! \n Make sure you have a backup, this cannot be undone! ` ) ;
if ( continueDelete == true ) {
const input _org _uuid = prompt ( ` To delete the organization " ${ org _name } ( ${ billing _email } )", please type the organization uuid below. ` ) ;
if ( input _org _uuid != null ) {
if ( input _org _uuid == org _uuid ) {
_post ( ` ${ BASE _URL } /admin/organizations/ ${ org _uuid } /delete ` ,
"Organization deleted correctly" ,
"Error deleting organization"
) ;
} else {
alert ( "Wrong organization uuid, please try again" ) ;
}
}
}
}
2023-01-24 23:31:38 +01:00
function initActions ( ) {
document . querySelectorAll ( "button[vw-delete-organization]" ) . forEach ( btn => {
btn . addEventListener ( "click" , deleteOrganization ) ;
} ) ;
if ( jdenticon ) {
jdenticon ( ) ;
}
}
2022-12-28 20:05:10 +01:00
// onLoad events
document . addEventListener ( "DOMContentLoaded" , ( /*event*/ ) => {
jQuery ( "#orgs-table" ) . DataTable ( {
2023-01-24 23:31:38 +01:00
"drawCallback" : function ( ) {
initActions ( ) ;
} ,
2022-12-28 20:05:10 +01:00
"stateSave" : true ,
"responsive" : true ,
"lengthMenu" : [
[ - 1 , 5 , 10 , 25 , 50 ] ,
[ "All" , 5 , 10 , 25 , 50 ]
] ,
"pageLength" : - 1 , // Default show all
"columnDefs" : [ {
"targets" : 4 ,
"searchable" : false ,
"orderable" : false
} ]
} ) ;
// Add click events for organization actions
2023-01-24 23:31:38 +01:00
initActions ( ) ;
2022-12-28 20:05:10 +01:00
2023-01-24 23:31:38 +01:00
const btnReload = document . getElementById ( "reload" ) ;
if ( btnReload ) {
btnReload . addEventListener ( "click" , reload ) ;
}
2022-12-28 20:05:10 +01:00
} ) ;