Component-Builder/admin/models/forms/field.js
Llewellyn van der Merwe f15b67cff1
Added notice of language (tanslations) added or not added with details to compiler
Resolved gh-146 compiler error on joined db in dinamic get thanks to @mwweb & @ro-ot
Resolved gh-147 by adding the sort of fields back into the save method
Resolved gh-144 to ensure that the published tab (fields overwriting and adding) option is available again.
Resolved gh-145 by moving the subforms to their own tab in dynamic get view
Converted all repeatable fields to subform fields in Joomla component view
Moved 9 subforms and other fields to their own table and view (decopuling them fom Joomla component view), that means we added 9 more views and tables to JCB
Added all the ajax for buttons and display views to Joomla component view
Added tmp scripts all across the new areas with subforms to ensure all repeatable fields are converted. Will be removed in v2.7.0
Added synced copy, change state and delete in Joomla components view in relation to all tables linked to it (same as with admin views)
2017-10-26 18:43:51 +02:00

537 lines
16 KiB
JavaScript

/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 40 of this MVC
@build 25th October, 2017
@created 30th April, 2015
@package Component Builder
@subpackage field.js
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// Some Global Values
jform_vvvvvzuvzp_required = false;
jform_vvvvvzvvzq_required = false;
jform_vvvvvzwvzr_required = false;
jform_vvvvvzxvzs_required = false;
jform_vvvvwaavzt_required = false;
jform_vvvvwabvzu_required = false;
jform_vvvvwacvzv_required = false;
jform_vvvvwadvzw_required = false;
// Initial Script
jQuery(document).ready(function()
{
var datalenght_vvvvvzu = jQuery("#jform_datalenght").val();
vvvvvzu(datalenght_vvvvvzu);
var datadefault_vvvvvzv = jQuery("#jform_datadefault").val();
vvvvvzv(datadefault_vvvvvzv);
var datatype_vvvvvzw = jQuery("#jform_datatype").val();
vvvvvzw(datatype_vvvvvzw);
var datatype_vvvvvzx = jQuery("#jform_datatype").val();
vvvvvzx(datatype_vvvvvzx);
var store_vvvvvzy = jQuery("#jform_store").val();
var datatype_vvvvvzy = jQuery("#jform_datatype").val();
vvvvvzy(store_vvvvvzy,datatype_vvvvvzy);
var add_css_view_vvvvwaa = jQuery("#jform_add_css_view input[type='radio']:checked").val();
vvvvwaa(add_css_view_vvvvwaa);
var add_css_views_vvvvwab = jQuery("#jform_add_css_views input[type='radio']:checked").val();
vvvvwab(add_css_views_vvvvwab);
var add_javascript_view_footer_vvvvwac = jQuery("#jform_add_javascript_view_footer input[type='radio']:checked").val();
vvvvwac(add_javascript_view_footer_vvvvwac);
var add_javascript_views_footer_vvvvwad = jQuery("#jform_add_javascript_views_footer input[type='radio']:checked").val();
vvvvwad(add_javascript_views_footer_vvvvwad);
});
// the vvvvvzu function
function vvvvvzu(datalenght_vvvvvzu)
{
if (isSet(datalenght_vvvvvzu) && datalenght_vvvvvzu.constructor !== Array)
{
var temp_vvvvvzu = datalenght_vvvvvzu;
var datalenght_vvvvvzu = [];
datalenght_vvvvvzu.push(temp_vvvvvzu);
}
else if (!isSet(datalenght_vvvvvzu))
{
var datalenght_vvvvvzu = [];
}
var datalenght = datalenght_vvvvvzu.some(datalenght_vvvvvzu_SomeFunc);
// set this function logic
if (datalenght)
{
jQuery('#jform_datalenght_other').closest('.control-group').show();
if (jform_vvvvvzuvzp_required)
{
updateFieldRequired('datalenght_other',0);
jQuery('#jform_datalenght_other').prop('required','required');
jQuery('#jform_datalenght_other').attr('aria-required',true);
jQuery('#jform_datalenght_other').addClass('required');
jform_vvvvvzuvzp_required = false;
}
}
else
{
jQuery('#jform_datalenght_other').closest('.control-group').hide();
if (!jform_vvvvvzuvzp_required)
{
updateFieldRequired('datalenght_other',1);
jQuery('#jform_datalenght_other').removeAttr('required');
jQuery('#jform_datalenght_other').removeAttr('aria-required');
jQuery('#jform_datalenght_other').removeClass('required');
jform_vvvvvzuvzp_required = true;
}
}
}
// the vvvvvzu Some function
function datalenght_vvvvvzu_SomeFunc(datalenght_vvvvvzu)
{
// set the function logic
if (datalenght_vvvvvzu == 'Other')
{
return true;
}
return false;
}
// the vvvvvzv function
function vvvvvzv(datadefault_vvvvvzv)
{
if (isSet(datadefault_vvvvvzv) && datadefault_vvvvvzv.constructor !== Array)
{
var temp_vvvvvzv = datadefault_vvvvvzv;
var datadefault_vvvvvzv = [];
datadefault_vvvvvzv.push(temp_vvvvvzv);
}
else if (!isSet(datadefault_vvvvvzv))
{
var datadefault_vvvvvzv = [];
}
var datadefault = datadefault_vvvvvzv.some(datadefault_vvvvvzv_SomeFunc);
// set this function logic
if (datadefault)
{
jQuery('#jform_datadefault_other').closest('.control-group').show();
if (jform_vvvvvzvvzq_required)
{
updateFieldRequired('datadefault_other',0);
jQuery('#jform_datadefault_other').prop('required','required');
jQuery('#jform_datadefault_other').attr('aria-required',true);
jQuery('#jform_datadefault_other').addClass('required');
jform_vvvvvzvvzq_required = false;
}
}
else
{
jQuery('#jform_datadefault_other').closest('.control-group').hide();
if (!jform_vvvvvzvvzq_required)
{
updateFieldRequired('datadefault_other',1);
jQuery('#jform_datadefault_other').removeAttr('required');
jQuery('#jform_datadefault_other').removeAttr('aria-required');
jQuery('#jform_datadefault_other').removeClass('required');
jform_vvvvvzvvzq_required = true;
}
}
}
// the vvvvvzv Some function
function datadefault_vvvvvzv_SomeFunc(datadefault_vvvvvzv)
{
// set the function logic
if (datadefault_vvvvvzv == 'Other')
{
return true;
}
return false;
}
// the vvvvvzw function
function vvvvvzw(datatype_vvvvvzw)
{
if (isSet(datatype_vvvvvzw) && datatype_vvvvvzw.constructor !== Array)
{
var temp_vvvvvzw = datatype_vvvvvzw;
var datatype_vvvvvzw = [];
datatype_vvvvvzw.push(temp_vvvvvzw);
}
else if (!isSet(datatype_vvvvvzw))
{
var datatype_vvvvvzw = [];
}
var datatype = datatype_vvvvvzw.some(datatype_vvvvvzw_SomeFunc);
// set this function logic
if (datatype)
{
jQuery('#jform_datadefault').closest('.control-group').show();
jQuery('#jform_datalenght').closest('.control-group').show();
jQuery('#jform_indexes').closest('.control-group').show();
if (jform_vvvvvzwvzr_required)
{
updateFieldRequired('indexes',0);
jQuery('#jform_indexes').prop('required','required');
jQuery('#jform_indexes').attr('aria-required',true);
jQuery('#jform_indexes').addClass('required');
jform_vvvvvzwvzr_required = false;
}
}
else
{
jQuery('#jform_datadefault').closest('.control-group').hide();
jQuery('#jform_datalenght').closest('.control-group').hide();
jQuery('#jform_indexes').closest('.control-group').hide();
if (!jform_vvvvvzwvzr_required)
{
updateFieldRequired('indexes',1);
jQuery('#jform_indexes').removeAttr('required');
jQuery('#jform_indexes').removeAttr('aria-required');
jQuery('#jform_indexes').removeClass('required');
jform_vvvvvzwvzr_required = true;
}
}
}
// the vvvvvzw Some function
function datatype_vvvvvzw_SomeFunc(datatype_vvvvvzw)
{
// set the function logic
if (datatype_vvvvvzw == 'CHAR' || datatype_vvvvvzw == 'VARCHAR' || datatype_vvvvvzw == 'DATETIME' || datatype_vvvvvzw == 'DATE' || datatype_vvvvvzw == 'TIME' || datatype_vvvvvzw == 'INT' || datatype_vvvvvzw == 'TINYINT' || datatype_vvvvvzw == 'BIGINT' || datatype_vvvvvzw == 'FLOAT' || datatype_vvvvvzw == 'DECIMAL' || datatype_vvvvvzw == 'DOUBLE')
{
return true;
}
return false;
}
// the vvvvvzx function
function vvvvvzx(datatype_vvvvvzx)
{
if (isSet(datatype_vvvvvzx) && datatype_vvvvvzx.constructor !== Array)
{
var temp_vvvvvzx = datatype_vvvvvzx;
var datatype_vvvvvzx = [];
datatype_vvvvvzx.push(temp_vvvvvzx);
}
else if (!isSet(datatype_vvvvvzx))
{
var datatype_vvvvvzx = [];
}
var datatype = datatype_vvvvvzx.some(datatype_vvvvvzx_SomeFunc);
// set this function logic
if (datatype)
{
jQuery('#jform_store').closest('.control-group').show();
if (jform_vvvvvzxvzs_required)
{
updateFieldRequired('store',0);
jQuery('#jform_store').prop('required','required');
jQuery('#jform_store').attr('aria-required',true);
jQuery('#jform_store').addClass('required');
jform_vvvvvzxvzs_required = false;
}
}
else
{
jQuery('#jform_store').closest('.control-group').hide();
if (!jform_vvvvvzxvzs_required)
{
updateFieldRequired('store',1);
jQuery('#jform_store').removeAttr('required');
jQuery('#jform_store').removeAttr('aria-required');
jQuery('#jform_store').removeClass('required');
jform_vvvvvzxvzs_required = true;
}
}
}
// the vvvvvzx Some function
function datatype_vvvvvzx_SomeFunc(datatype_vvvvvzx)
{
// set the function logic
if (datatype_vvvvvzx == 'CHAR' || datatype_vvvvvzx == 'VARCHAR' || datatype_vvvvvzx == 'TEXT' || datatype_vvvvvzx == 'MEDIUMTEXT' || datatype_vvvvvzx == 'LONGTEXT')
{
return true;
}
return false;
}
// the vvvvvzy function
function vvvvvzy(store_vvvvvzy,datatype_vvvvvzy)
{
if (isSet(store_vvvvvzy) && store_vvvvvzy.constructor !== Array)
{
var temp_vvvvvzy = store_vvvvvzy;
var store_vvvvvzy = [];
store_vvvvvzy.push(temp_vvvvvzy);
}
else if (!isSet(store_vvvvvzy))
{
var store_vvvvvzy = [];
}
var store = store_vvvvvzy.some(store_vvvvvzy_SomeFunc);
if (isSet(datatype_vvvvvzy) && datatype_vvvvvzy.constructor !== Array)
{
var temp_vvvvvzy = datatype_vvvvvzy;
var datatype_vvvvvzy = [];
datatype_vvvvvzy.push(temp_vvvvvzy);
}
else if (!isSet(datatype_vvvvvzy))
{
var datatype_vvvvvzy = [];
}
var datatype = datatype_vvvvvzy.some(datatype_vvvvvzy_SomeFunc);
// set this function logic
if (store && datatype)
{
jQuery('.note_vdm_encryption').closest('.control-group').show();
}
else
{
jQuery('.note_vdm_encryption').closest('.control-group').hide();
}
}
// the vvvvvzy Some function
function store_vvvvvzy_SomeFunc(store_vvvvvzy)
{
// set the function logic
if (store_vvvvvzy == 4)
{
return true;
}
return false;
}
// the vvvvvzy Some function
function datatype_vvvvvzy_SomeFunc(datatype_vvvvvzy)
{
// set the function logic
if (datatype_vvvvvzy == 'CHAR' || datatype_vvvvvzy == 'VARCHAR' || datatype_vvvvvzy == 'TEXT' || datatype_vvvvvzy == 'MEDIUMTEXT' || datatype_vvvvvzy == 'LONGTEXT')
{
return true;
}
return false;
}
// the vvvvwaa function
function vvvvwaa(add_css_view_vvvvwaa)
{
// set the function logic
if (add_css_view_vvvvwaa == 1)
{
jQuery('#jform_css_view').closest('.control-group').show();
if (jform_vvvvwaavzt_required)
{
updateFieldRequired('css_view',0);
jQuery('#jform_css_view').prop('required','required');
jQuery('#jform_css_view').attr('aria-required',true);
jQuery('#jform_css_view').addClass('required');
jform_vvvvwaavzt_required = false;
}
}
else
{
jQuery('#jform_css_view').closest('.control-group').hide();
if (!jform_vvvvwaavzt_required)
{
updateFieldRequired('css_view',1);
jQuery('#jform_css_view').removeAttr('required');
jQuery('#jform_css_view').removeAttr('aria-required');
jQuery('#jform_css_view').removeClass('required');
jform_vvvvwaavzt_required = true;
}
}
}
// the vvvvwab function
function vvvvwab(add_css_views_vvvvwab)
{
// set the function logic
if (add_css_views_vvvvwab == 1)
{
jQuery('#jform_css_views').closest('.control-group').show();
if (jform_vvvvwabvzu_required)
{
updateFieldRequired('css_views',0);
jQuery('#jform_css_views').prop('required','required');
jQuery('#jform_css_views').attr('aria-required',true);
jQuery('#jform_css_views').addClass('required');
jform_vvvvwabvzu_required = false;
}
}
else
{
jQuery('#jform_css_views').closest('.control-group').hide();
if (!jform_vvvvwabvzu_required)
{
updateFieldRequired('css_views',1);
jQuery('#jform_css_views').removeAttr('required');
jQuery('#jform_css_views').removeAttr('aria-required');
jQuery('#jform_css_views').removeClass('required');
jform_vvvvwabvzu_required = true;
}
}
}
// the vvvvwac function
function vvvvwac(add_javascript_view_footer_vvvvwac)
{
// set the function logic
if (add_javascript_view_footer_vvvvwac == 1)
{
jQuery('#jform_javascript_view_footer').closest('.control-group').show();
if (jform_vvvvwacvzv_required)
{
updateFieldRequired('javascript_view_footer',0);
jQuery('#jform_javascript_view_footer').prop('required','required');
jQuery('#jform_javascript_view_footer').attr('aria-required',true);
jQuery('#jform_javascript_view_footer').addClass('required');
jform_vvvvwacvzv_required = false;
}
}
else
{
jQuery('#jform_javascript_view_footer').closest('.control-group').hide();
if (!jform_vvvvwacvzv_required)
{
updateFieldRequired('javascript_view_footer',1);
jQuery('#jform_javascript_view_footer').removeAttr('required');
jQuery('#jform_javascript_view_footer').removeAttr('aria-required');
jQuery('#jform_javascript_view_footer').removeClass('required');
jform_vvvvwacvzv_required = true;
}
}
}
// the vvvvwad function
function vvvvwad(add_javascript_views_footer_vvvvwad)
{
// set the function logic
if (add_javascript_views_footer_vvvvwad == 1)
{
jQuery('#jform_javascript_views_footer').closest('.control-group').show();
if (jform_vvvvwadvzw_required)
{
updateFieldRequired('javascript_views_footer',0);
jQuery('#jform_javascript_views_footer').prop('required','required');
jQuery('#jform_javascript_views_footer').attr('aria-required',true);
jQuery('#jform_javascript_views_footer').addClass('required');
jform_vvvvwadvzw_required = false;
}
}
else
{
jQuery('#jform_javascript_views_footer').closest('.control-group').hide();
if (!jform_vvvvwadvzw_required)
{
updateFieldRequired('javascript_views_footer',1);
jQuery('#jform_javascript_views_footer').removeAttr('required');
jQuery('#jform_javascript_views_footer').removeAttr('aria-required');
jQuery('#jform_javascript_views_footer').removeClass('required');
jform_vvvvwadvzw_required = true;
}
}
}
// update required fields
function updateFieldRequired(name,status)
{
var not_required = jQuery('#jform_not_required').val();
if(status == 1)
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required+','+name;
}
else
{
not_required = ','+name;
}
}
else
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required.replace(','+name,'');
}
}
jQuery('#jform_not_required').val(not_required);
}
// the isSet function
function isSet(val)
{
if ((val != undefined) && (val != null) && 0 !== val.length){
return true;
}
return false;
}
function getFieldOptions_server(fieldId){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.fieldOptions&format=json";
if(token.length > 0 && fieldId > 0){
var request = 'token='+token+'&id='+fieldId;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getFieldOptions(id,setValue){
getFieldOptions_server(id).done(function(result) {
if(result.values){
if(setValue){
jQuery('textarea#jform_xml').val(result.values);
}
jQuery('#help').remove();
jQuery('.helpNote').append('<div id="help" style="margin: 10px;">'+result.description+'<br />'+result.values_description+'</div>');
}
})
}