917 lines
26 KiB
JavaScript
917 lines
26 KiB
JavaScript
/**
|
|
* @package Joomla.Component.Builder
|
|
*
|
|
* @created 30th April, 2015
|
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
|
* @git Joomla Component Builder <https://git.vdm.dev/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 = '<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);
|
|
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;
|
|
}
|
|
});
|
|
}
|