/** * @package Joomla.Component.Builder * * @created 30th April, 2015 * @author Llewellyn van der Merwe * @git Joomla Component Builder * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // Some Global Values jform_vvvvvxyvwa_required = false; // Initial Script document.addEventListener('DOMContentLoaded', function() { var add_css_view_vvvvvwy = jQuery("#jform_add_css_view input[type='radio']:checked").val(); vvvvvwy(add_css_view_vvvvvwy); var add_css_views_vvvvvwz = jQuery("#jform_add_css_views input[type='radio']:checked").val(); vvvvvwz(add_css_views_vvvvvwz); var add_javascript_view_file_vvvvvxa = jQuery("#jform_add_javascript_view_file input[type='radio']:checked").val(); vvvvvxa(add_javascript_view_file_vvvvvxa); var add_javascript_views_file_vvvvvxb = jQuery("#jform_add_javascript_views_file input[type='radio']:checked").val(); vvvvvxb(add_javascript_views_file_vvvvvxb); var add_javascript_view_footer_vvvvvxc = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val(); vvvvvxc(add_javascript_view_footer_vvvvvxc); var add_javascript_views_footer_vvvvvxd = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val(); vvvvvxd(add_javascript_views_footer_vvvvvxd); var add_php_ajax_vvvvvxe = jQuery("#jform_add_php_ajax input[type='radio']:checked").val(); vvvvvxe(add_php_ajax_vvvvvxe); var add_php_getitem_vvvvvxf = jQuery("#jform_add_php_getitem input[type='radio']:checked").val(); vvvvvxf(add_php_getitem_vvvvvxf); var add_php_getitems_vvvvvxg = jQuery("#jform_add_php_getitems input[type='radio']:checked").val(); vvvvvxg(add_php_getitems_vvvvvxg); var add_php_getitems_after_all_vvvvvxh = jQuery("#jform_add_php_getitems_after_all input[type='radio']:checked").val(); vvvvvxh(add_php_getitems_after_all_vvvvvxh); var add_php_getlistquery_vvvvvxi = jQuery("#jform_add_php_getlistquery input[type='radio']:checked").val(); vvvvvxi(add_php_getlistquery_vvvvvxi); var add_php_getform_vvvvvxj = jQuery("#jform_add_php_getform input[type='radio']:checked").val(); vvvvvxj(add_php_getform_vvvvvxj); var add_php_before_save_vvvvvxk = jQuery("#jform_add_php_before_save input[type='radio']:checked").val(); vvvvvxk(add_php_before_save_vvvvvxk); var add_php_save_vvvvvxl = jQuery("#jform_add_php_save input[type='radio']:checked").val(); vvvvvxl(add_php_save_vvvvvxl); var add_php_postsavehook_vvvvvxm = jQuery("#jform_add_php_postsavehook input[type='radio']:checked").val(); vvvvvxm(add_php_postsavehook_vvvvvxm); var add_php_allowadd_vvvvvxn = jQuery("#jform_add_php_allowadd input[type='radio']:checked").val(); vvvvvxn(add_php_allowadd_vvvvvxn); var add_php_allowedit_vvvvvxo = jQuery("#jform_add_php_allowedit input[type='radio']:checked").val(); vvvvvxo(add_php_allowedit_vvvvvxo); var add_php_before_cancel_vvvvvxp = jQuery("#jform_add_php_before_cancel input[type='radio']:checked").val(); vvvvvxp(add_php_before_cancel_vvvvvxp); var add_php_after_cancel_vvvvvxq = jQuery("#jform_add_php_after_cancel input[type='radio']:checked").val(); vvvvvxq(add_php_after_cancel_vvvvvxq); var add_php_batchcopy_vvvvvxr = jQuery("#jform_add_php_batchcopy input[type='radio']:checked").val(); vvvvvxr(add_php_batchcopy_vvvvvxr); var add_php_batchmove_vvvvvxs = jQuery("#jform_add_php_batchmove input[type='radio']:checked").val(); vvvvvxs(add_php_batchmove_vvvvvxs); var add_php_before_publish_vvvvvxt = jQuery("#jform_add_php_before_publish input[type='radio']:checked").val(); vvvvvxt(add_php_before_publish_vvvvvxt); var add_php_after_publish_vvvvvxu = jQuery("#jform_add_php_after_publish input[type='radio']:checked").val(); vvvvvxu(add_php_after_publish_vvvvvxu); var add_php_before_delete_vvvvvxv = jQuery("#jform_add_php_before_delete input[type='radio']:checked").val(); vvvvvxv(add_php_before_delete_vvvvvxv); var add_php_after_delete_vvvvvxw = jQuery("#jform_add_php_after_delete input[type='radio']:checked").val(); vvvvvxw(add_php_after_delete_vvvvvxw); var add_php_document_vvvvvxx = jQuery("#jform_add_php_document input[type='radio']:checked").val(); vvvvvxx(add_php_document_vvvvvxx); var add_sql_vvvvvxy = jQuery("#jform_add_sql input[type='radio']:checked").val(); vvvvvxy(add_sql_vvvvvxy); var source_vvvvvxz = jQuery("#jform_source input[type='radio']:checked").val(); var add_sql_vvvvvxz = jQuery("#jform_add_sql input[type='radio']:checked").val(); vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz); var source_vvvvvyb = jQuery("#jform_source input[type='radio']:checked").val(); var add_sql_vvvvvyb = jQuery("#jform_add_sql input[type='radio']:checked").val(); vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb); var add_custom_button_vvvvvyd = jQuery("#jform_add_custom_button input[type='radio']:checked").val(); vvvvvyd(add_custom_button_vvvvvyd); }); // the vvvvvwy function function vvvvvwy(add_css_view_vvvvvwy) { // set the function logic if (add_css_view_vvvvvwy == 1) { jQuery('#jform_css_view-lbl').closest('.control-group').show(); } else { jQuery('#jform_css_view-lbl').closest('.control-group').hide(); } } // the vvvvvwz function function vvvvvwz(add_css_views_vvvvvwz) { // set the function logic if (add_css_views_vvvvvwz == 1) { jQuery('#jform_css_views-lbl').closest('.control-group').show(); } else { jQuery('#jform_css_views-lbl').closest('.control-group').hide(); } } // the vvvvvxa function function vvvvvxa(add_javascript_view_file_vvvvvxa) { // set the function logic if (add_javascript_view_file_vvvvvxa == 1) { jQuery('#jform_javascript_view_file-lbl').closest('.control-group').show(); } else { jQuery('#jform_javascript_view_file-lbl').closest('.control-group').hide(); } } // the vvvvvxb function function vvvvvxb(add_javascript_views_file_vvvvvxb) { // set the function logic if (add_javascript_views_file_vvvvvxb == 1) { jQuery('#jform_javascript_views_file-lbl').closest('.control-group').show(); } else { jQuery('#jform_javascript_views_file-lbl').closest('.control-group').hide(); } } // the vvvvvxc function function vvvvvxc(add_javascript_view_footer_vvvvvxc) { // set the function logic if (add_javascript_view_footer_vvvvvxc == 1) { jQuery('#jform_javascript_view_footer-lbl').closest('.control-group').show(); } else { jQuery('#jform_javascript_view_footer-lbl').closest('.control-group').hide(); } } // the vvvvvxd function function vvvvvxd(add_javascript_views_footer_vvvvvxd) { // set the function logic if (add_javascript_views_footer_vvvvvxd == 1) { jQuery('#jform_javascript_views_footer-lbl').closest('.control-group').show(); } else { jQuery('#jform_javascript_views_footer-lbl').closest('.control-group').hide(); } } // the vvvvvxe function function vvvvvxe(add_php_ajax_vvvvvxe) { // set the function logic if (add_php_ajax_vvvvvxe == 1) { jQuery('#jform_ajax_input-lbl').closest('.control-group').show(); jQuery('#jform_php_ajaxmethod-lbl').closest('.control-group').show(); } else { jQuery('#jform_ajax_input-lbl').closest('.control-group').hide(); jQuery('#jform_php_ajaxmethod-lbl').closest('.control-group').hide(); } } // the vvvvvxf function function vvvvvxf(add_php_getitem_vvvvvxf) { // set the function logic if (add_php_getitem_vvvvvxf == 1) { jQuery('#jform_php_getitem-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_getitem-lbl').closest('.control-group').hide(); } } // the vvvvvxg function function vvvvvxg(add_php_getitems_vvvvvxg) { // set the function logic if (add_php_getitems_vvvvvxg == 1) { jQuery('#jform_php_getitems-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_getitems-lbl').closest('.control-group').hide(); } } // the vvvvvxh function function vvvvvxh(add_php_getitems_after_all_vvvvvxh) { // set the function logic if (add_php_getitems_after_all_vvvvvxh == 1) { jQuery('#jform_php_getitems_after_all-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_getitems_after_all-lbl').closest('.control-group').hide(); } } // the vvvvvxi function function vvvvvxi(add_php_getlistquery_vvvvvxi) { // set the function logic if (add_php_getlistquery_vvvvvxi == 1) { jQuery('#jform_php_getlistquery-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_getlistquery-lbl').closest('.control-group').hide(); } } // the vvvvvxj function function vvvvvxj(add_php_getform_vvvvvxj) { // set the function logic if (add_php_getform_vvvvvxj == 1) { jQuery('#jform_php_getform-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_getform-lbl').closest('.control-group').hide(); } } // the vvvvvxk function function vvvvvxk(add_php_before_save_vvvvvxk) { // set the function logic if (add_php_before_save_vvvvvxk == 1) { jQuery('#jform_php_before_save-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_before_save-lbl').closest('.control-group').hide(); } } // the vvvvvxl function function vvvvvxl(add_php_save_vvvvvxl) { // set the function logic if (add_php_save_vvvvvxl == 1) { jQuery('#jform_php_save-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_save-lbl').closest('.control-group').hide(); } } // the vvvvvxm function function vvvvvxm(add_php_postsavehook_vvvvvxm) { // set the function logic if (add_php_postsavehook_vvvvvxm == 1) { jQuery('#jform_php_postsavehook-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_postsavehook-lbl').closest('.control-group').hide(); } } // the vvvvvxn function function vvvvvxn(add_php_allowadd_vvvvvxn) { // set the function logic if (add_php_allowadd_vvvvvxn == 1) { jQuery('#jform_php_allowadd-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_allowadd-lbl').closest('.control-group').hide(); } } // the vvvvvxo function function vvvvvxo(add_php_allowedit_vvvvvxo) { // set the function logic if (add_php_allowedit_vvvvvxo == 1) { jQuery('#jform_php_allowedit-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_allowedit-lbl').closest('.control-group').hide(); } } // the vvvvvxp function function vvvvvxp(add_php_before_cancel_vvvvvxp) { // set the function logic if (add_php_before_cancel_vvvvvxp == 1) { jQuery('#jform_php_before_cancel-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_before_cancel-lbl').closest('.control-group').hide(); } } // the vvvvvxq function function vvvvvxq(add_php_after_cancel_vvvvvxq) { // set the function logic if (add_php_after_cancel_vvvvvxq == 1) { jQuery('#jform_php_after_cancel-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_after_cancel-lbl').closest('.control-group').hide(); } } // the vvvvvxr function function vvvvvxr(add_php_batchcopy_vvvvvxr) { // set the function logic if (add_php_batchcopy_vvvvvxr == 1) { jQuery('#jform_php_batchcopy-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_batchcopy-lbl').closest('.control-group').hide(); } } // the vvvvvxs function function vvvvvxs(add_php_batchmove_vvvvvxs) { // set the function logic if (add_php_batchmove_vvvvvxs == 1) { jQuery('#jform_php_batchmove-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_batchmove-lbl').closest('.control-group').hide(); } } // the vvvvvxt function function vvvvvxt(add_php_before_publish_vvvvvxt) { // set the function logic if (add_php_before_publish_vvvvvxt == 1) { jQuery('#jform_php_before_publish-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_before_publish-lbl').closest('.control-group').hide(); } } // the vvvvvxu function function vvvvvxu(add_php_after_publish_vvvvvxu) { // set the function logic if (add_php_after_publish_vvvvvxu == 1) { jQuery('#jform_php_after_publish-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_after_publish-lbl').closest('.control-group').hide(); } } // the vvvvvxv function function vvvvvxv(add_php_before_delete_vvvvvxv) { // set the function logic if (add_php_before_delete_vvvvvxv == 1) { jQuery('#jform_php_before_delete-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_before_delete-lbl').closest('.control-group').hide(); } } // the vvvvvxw function function vvvvvxw(add_php_after_delete_vvvvvxw) { // set the function logic if (add_php_after_delete_vvvvvxw == 1) { jQuery('#jform_php_after_delete-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_after_delete-lbl').closest('.control-group').hide(); } } // the vvvvvxx function function vvvvvxx(add_php_document_vvvvvxx) { // set the function logic if (add_php_document_vvvvvxx == 1) { jQuery('#jform_php_document-lbl').closest('.control-group').show(); } else { jQuery('#jform_php_document-lbl').closest('.control-group').hide(); } } // the vvvvvxy function function vvvvvxy(add_sql_vvvvvxy) { // set the function logic if (add_sql_vvvvvxy == 1) { jQuery('#jform_source').closest('.control-group').show(); // add required attribute to source field if (jform_vvvvvxyvwa_required) { updateFieldRequired('source',0); jQuery('#jform_source').prop('required','required'); jQuery('#jform_source').attr('aria-required',true); jQuery('#jform_source').addClass('required'); jform_vvvvvxyvwa_required = false; } } else { jQuery('#jform_source').closest('.control-group').hide(); // remove required attribute from source field if (!jform_vvvvvxyvwa_required) { updateFieldRequired('source',1); jQuery('#jform_source').removeAttr('required'); jQuery('#jform_source').removeAttr('aria-required'); jQuery('#jform_source').removeClass('required'); jform_vvvvvxyvwa_required = true; } } } // the vvvvvxz function function vvvvvxz(source_vvvvvxz,add_sql_vvvvvxz) { // set the function logic if (source_vvvvvxz == 2 && add_sql_vvvvvxz == 1) { jQuery('#jform_sql').closest('.control-group').show(); } else { jQuery('#jform_sql').closest('.control-group').hide(); } } // the vvvvvyb function function vvvvvyb(source_vvvvvyb,add_sql_vvvvvyb) { // set the function logic if (source_vvvvvyb == 1 && add_sql_vvvvvyb == 1) { jQuery('#jform_addtables-lbl').closest('.control-group').show(); } else { jQuery('#jform_addtables-lbl').closest('.control-group').hide(); } } // the vvvvvyd function function vvvvvyd(add_custom_button_vvvvvyd) { // set the function logic if (add_custom_button_vvvvvyd == 1) { jQuery('#jform_custom_button-lbl').closest('.control-group').show(); jQuery('#jform_php_controller-lbl').closest('.control-group').show(); jQuery('#jform_php_controller_list-lbl').closest('.control-group').show(); jQuery('#jform_php_model-lbl').closest('.control-group').show(); jQuery('#jform_php_model_list-lbl').closest('.control-group').show(); } else { jQuery('#jform_custom_button-lbl').closest('.control-group').hide(); jQuery('#jform_php_controller-lbl').closest('.control-group').hide(); jQuery('#jform_php_controller_list-lbl').closest('.control-group').hide(); jQuery('#jform_php_model-lbl').closest('.control-group').hide(); jQuery('#jform_php_model_list-lbl').closest('.control-group').hide(); } } // update fields required function updateFieldRequired(name, status) { // check if not_required exist if (document.getElementById('jform_not_required')) { var not_required = jQuery('#jform_not_required').val().split(","); if(status == 1) { not_required.push(name); } else { not_required = removeFieldFromNotRequired(not_required, name); } jQuery('#jform_not_required').val(fixNotRequiredArray(not_required).toString()); } } // remove field from not_required function removeFieldFromNotRequired(array, what) { return array.filter(function(element){ return element !== what; }); } // fix not required array function fixNotRequiredArray(array) { var seen = {}; return removeEmptyFromNotRequiredArray(array).filter(function(item) { return seen.hasOwnProperty(item) ? false : (seen[item] = true); }); } // remove empty from not_required array function removeEmptyFromNotRequiredArray(array) { return array.filter(function (el) { // remove ( 一_一) as well - lol return (el.length > 0 && '一_一' !== el); }); } // the isSet function function isSet(val) { if ((val != undefined) && (val != null) && 0 !== val.length){ return true; } return false; } jQuery(document).ready(function() { // check if this view has alias field checkAliasField(); // check if this view has category field checkCategoryField(); // get the linked details getLinked(); // set button addButtonID('admin_fields','create_edit_buttons', 1); // <-- first var valueSwitch = jQuery("#jform_add_custom_import input[type='radio']:checked").val(); getDynamicScripts(valueSwitch); // now load the fields getAjaxDisplay('admin_fields'); getAjaxDisplay('admin_fields_conditions'); getAjaxDisplay('admin_fields_relations'); // set button addButtonID('admin_fields_conditions','create_edit_buttons', 1); // <-- second // set button to create more fields addButton('field','create_edit_buttons'); // <-- third // set button addButtonID('admin_fields_relations','create_edit_buttons', 1); // <-- forth // set button addButtonID('admin_custom_tabs','addtabs-lbl', 1); // <-- fifth // check and load all the customcode edit buttons getEditCustomCodeButtons(); }); function checkAliasField() { getCodeFrom_server(1, 'type', 'type', 'checkAliasField').then(function(result) { if(result){ // remove the notice jQuery('.note_create_edit_notice_p').remove(); } else { // hide everything about alias management jQuery('#jform_alias_builder_type').closest('.control-group').remove(); jQuery('#jform_alias_builder').closest('.control-group').remove(); jQuery('.note_alias_builder_default').closest('.control-group').remove(); jQuery('.note_alias_builder_custom').closest('.control-group').remove(); } }); } function checkCategoryField() { getCodeFrom_server(1, 'type', 'type', 'checkCategoryField').then(function(result) { if(result){ // remove the notice jQuery('.note_create_edit_notice_p').remove(); } else { // hide everything about category management jQuery('#jform_add_category_submenu').closest('.control-group').remove(); jQuery('.note_category_menu_switch').closest('.control-group').remove(); } }); } function getAjaxDisplay(type){ getCodeFrom_server(1, type, 'type', 'getAjaxDisplay').then(function(result) { if(result){ jQuery('#display_'+type).html(result); } // set button addButtonID(type,'header_'+type+'_buttons', 2); // <-- little edit button }); } function addData(result,where){ jQuery(result).insertAfter(jQuery(where).closest('.control-group')); } function getTableColumns(fieldKey, table_, nr_){ // first check if the field is set if(jQuery("#jform_addtables_"+table_+"addtables"+fieldKey+nr_+"_table").length) { // get options var tableName = jQuery("#jform_addtables_"+table_+"addtables"+fieldKey+nr_+"_table option:selected").val(); getCodeFrom_server(1, tableName, 'table', 'tableColumns').then(function(result) { if(result){ jQuery("textarea#jform_addtables_"+table_+"addtables"+fieldKey+nr_+"_sourcemap").val(result); } else { jQuery("textarea#jform_addtables_"+table_+"addtables"+fieldKey+nr_+"_sourcemap").val(''); } }); } } function getDynamicScripts(id){ if (1 == id) { // get the current values var current_import_display = jQuery('textarea#jform_php_import_display').val(); var current_import = jQuery('textarea#jform_php_import').val(); var current_headers = jQuery('textarea#jform_php_import_headers').val(); var current_setdata = jQuery('textarea#jform_php_import_setdata').val(); var current_save = jQuery('textarea#jform_php_import_save').val(); var current_view = jQuery('textarea#jform_html_import_view').val(); var current_ext = jQuery('textarea#jform_php_import_ext').val(); // set the display method script if(current_import_display.length == 0){ getCodeFrom_server(1, 'display', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import_display').val(result); } }); } // set the import method script if(current_import.length == 0){ getCodeFrom_server(1, 'import', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import').val(result); } }); } // set the headers method script if(current_headers.length == 0){ getCodeFrom_server(1, 'headers', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import_headers').val(result); } }); } // set the setData method script if(current_setdata.length == 0){ getCodeFrom_server(1, 'setdata', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import_setdata').val(result); } }); } // set the save method script if(current_save.length == 0){ getCodeFrom_server(1, 'save', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import_save').val(result); } }); } // set the view script if(current_view.length == 0){ getCodeFrom_server(1, 'view', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_html_import_view').val(result); } }); } // set the import ext script if(current_ext.length == 0){ getCodeFrom_server(1, 'ext', 'type', 'getDynamicScripts').then(function(result) { if(result){ jQuery('textarea#jform_php_import_ext').val(result); } }); } } } function getCodeFrom_server(id, type, type_name, callingName) { var url = "index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod; if (token.length > 0 && getCodeFrom_isValidId(id) && type.length > 0) { url += '&' + token + '=1&' + type_name + '=' + type + '&id=' + id; } else { console.error('There was a issue with the values passed to the [getCodeFrom_server] method and we could not make the Ajax call.'); return; } var getUrl = JRouter(url); return fetch(getUrl, { method: 'GET', headers: { 'Content-Type': 'application/json' } }).then(function(response) { if (response.ok) { return response.json(); } else { throw new Error('Network response was not ok'); } }).then(function(data) { return data; }).catch(function(error) { console.error('There was a problem with the fetch operation:', error); }); } function getCodeFrom_isValidId(id) { if (typeof id === 'number') { // Check if it's a positive integer return Number.isInteger(id) && id > 0; } else if (typeof id === 'string') { // Check if it's a string of length > 30 return id.length > 30; } // If neither a number nor a string, return false return false; } function getEditCustomCodeButtons_server(id) { var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod); let requestParams = ''; if (token.length > 0 && id > 0) { requestParams = token+'=1&id='+id+'&return_here='+return_here; } // 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 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 = '
'; // Insert the div before .control-wrapper-{field} const insertBeforeElement = document.querySelector(".control-wrapper-"+field); if (insertBeforeElement) { insertBeforeElement.parentNode.insertBefore(div, insertBeforeElement); } // Adding buttons to the div Object.entries(buttons).forEach(([name, button]) => { const controlsDiv = document.querySelector(".control-customcode-buttons-"+field); if (controlsDiv) { controlsDiv.innerHTML += button; } }); }); } }).catch(error => { console.error('Error:', error); }); } function addButtonID_server(type, size){ var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod); if(token.length > 0 && type.length > 0 && size > 0){ var request = token+'=1&type='+type+'&size='+size; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'json', data: request, jsonp: false }); } function addButtonID(type, where, size){ addButtonID_server(type, size).done(function(result) { if(result){ if (2 == size) { jQuery('#'+where).html(result); } else { addData(result, '#jform_'+where); } } }); } function addButton_server(type, size){ var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&raw=true&vdm="+vastDevMod); if(token.length > 0 && type.length > 0){ var request = token+'=1&type='+type+'&size='+size; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'json', data: request, jsonp: false }); } function addButton(type, where, size){ // just to insure that default behaviour still works size = typeof size !== 'undefined' ? size : 1; addButton_server(type, size).done(function(result) { if(result){ if (2 == size) { jQuery('#'+where).html(result); } else { addData(result, '#jform_'+where); } } }) } function getLinked() { getCodeFrom_server(1, 'type', 'type', 'getLinked').then(function(result) { if (result.error) { console.error(result.error); } else if (result) { document.getElementById('display_linked_to').innerHTML = result; } }); }