Stable release of v4.0.0-alpha1
First alpha release of Component Builder towards Joomla 4 (very unstable...).
This commit is contained in:
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
// Initial Script
|
||||
jQuery(document).ready(function()
|
||||
document.addEventListener('DOMContentLoaded', function()
|
||||
{
|
||||
var add_head_vvvvvyv = jQuery("#jform_add_head input[type='radio']:checked").val();
|
||||
vvvvvyv(add_head_vvvvvyv);
|
||||
@ -39,8 +39,7 @@ function isSet(val)
|
||||
}
|
||||
|
||||
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// get the linked details
|
||||
getLinked();
|
||||
// load the active array values
|
||||
@ -473,41 +472,52 @@ function getLinked(){
|
||||
});
|
||||
}
|
||||
|
||||
function getEditCustomCodeButtons_server(id){
|
||||
function getEditCustomCodeButtons_server(id) {
|
||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod);
|
||||
if(token.length > 0 && id > 0){
|
||||
var request = token+'=1&id='+id+'&return_here='+return_here;
|
||||
let requestParams = '';
|
||||
if (token.length > 0 && id > 0) {
|
||||
requestParams = token+'=1&id='+id+'&return_here='+return_here;
|
||||
}
|
||||
return jQuery.ajax({
|
||||
type: 'GET',
|
||||
url: getUrl,
|
||||
dataType: 'json',
|
||||
data: request,
|
||||
jsonp: false
|
||||
// Construct URL with parameters for GET request
|
||||
const urlWithParams = getUrl + '&' + requestParams;
|
||||
|
||||
// Using the Fetch API for the GET request
|
||||
return fetch(urlWithParams, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}).then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error('Network response was not ok');
|
||||
}
|
||||
return response.json();
|
||||
});
|
||||
}
|
||||
|
||||
function getEditCustomCodeButtons(){
|
||||
// get the id
|
||||
id = jQuery("#jform_id").val();
|
||||
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||
if(isObject(result)){
|
||||
jQuery.each(result, function( field, buttons ) {
|
||||
jQuery('<div class="control-group"><div class="control-label"><label>Add/Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||
jQuery.each(buttons, function( name, button ) {
|
||||
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||
function getEditCustomCodeButtons() {
|
||||
// Get the id using pure JavaScript
|
||||
const id = document.querySelector("#jform_id").value;
|
||||
getEditCustomCodeButtons_server(id).then(function(result) {
|
||||
if (typeof result === 'object') {
|
||||
Object.entries(result).forEach(([field, buttons]) => {
|
||||
// Creating the div element for buttons
|
||||
const div = document.createElement('div');
|
||||
div.className = 'control-group';
|
||||
div.innerHTML = '<div class="control-label"><label>Add/Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div>';
|
||||
|
||||
// Insert the div before .control-wrapper-{field}
|
||||
const insertBeforeElement = document.querySelector(".control-wrapper-"+field);
|
||||
insertBeforeElement.parentNode.insertBefore(div, insertBeforeElement);
|
||||
|
||||
// Adding buttons to the div
|
||||
Object.entries(buttons).forEach(([name, button]) => {
|
||||
const controlsDiv = document.querySelector(".control-customcode-buttons-"+field);
|
||||
controlsDiv.innerHTML += button;
|
||||
});
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// check object is not empty
|
||||
function isObject(obj) {
|
||||
for(var prop in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error('Error:', error);
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user