WS_OK_7.4.33
window.lastSaveProgress = [];
function saveProgress()
{
if (jQuery('#check-if-pp-update:checked').length==0){return false;}
jQuery('.fc-form').each(function(){
form = jQuery(this);
id = form.attr('data-id');
var data = form.find('.form-element-html input, .form-element-html textarea, .form-element-html select').not('.no-save').not('[type="password"]');
data = data.serialize()+'&id='+form.attr('data-id');
if ( typeof window.lastSaveProgress[id]=='undefined' || window.lastSaveProgress[id]!=data )
{
window.lastSaveProgress[id] = data;
}
else
{
return false;
}
jQuery.ajax( {
url: FC.ajaxurl,
type: "POST",
context: form,
data: 'action=formcraft3_pp_form_save_progress&'+data,
dataType: "json"
} )
.done(function(response) {
});
});
}
function loadDefaultData()
{
jQuery('.fc-form').each(function(){
if (typeof FCPP.defaultData=='undefined'){return false;}
data = jQuery.parseJSON(FCPP.defaultData);
var form = jQuery(this);
for (x in data)
{
var element = form.find('[name="'+x+'"]').length==0 ? form.find('[name="'+x+'[]"]') : form.find('[name="'+x+'"]');
var elementType = element.prop('type');
elementType = element.is('select') ? 'select' : elementType;
elementType = element.hasClass('hasDatepicker') ? 'date' : elementType;
elementType = element.parent().parent().hasClass('files-list') ? 'file' : elementType;
elementType = element.parents('.field-cover').hasClass('slider-cover') ? 'slider' : elementType;
elementType = element.parents('.field-cover').hasClass('timepicker-cover') ? 'timepicker' : elementType;
switch (elementType)
{
case 'text': case 'select': case 'hidden': case 'textarea': case 'date':
element.val(data[x]).trigger('input');
break;
case 'radio': case 'checkbox':
for (y in data[x])
{
if (form.find('[name="'+x+'[]"]').length==0)
{
form.find('[name="'+x+'"][value="'+data[x][y]+'"]').prop('checked',true).trigger('change');
var abc = data[x][y];
var abcd = x;
setTimeout(function(){
form.find('[name="'+abcd+'"][value="'+abc+'"]').prop('checked',true).trigger('change');
}, 300);
}
else
{
form.find('[name="'+x+'[]"][value="'+data[x][y]+'"]').prop('checked',true).trigger('change');
}
}
break;
case 'timepicker':
element.val(data[x]).trigger('change');
var time = data[x].replace(' ',':').split(':');
time[0] = time[0]=='' || typeof time[0]=='undefined' ? '00' : time[0];
time[1] = time[1]=='' || typeof time[1]=='undefined' ? '00' : time[1];
time[2] = time[2]=='' || typeof time[2]=='undefined' ? 'am' : time[2];
element.parents('.timepicker-cover').find('.time-fields-cover > select').eq(0).val(time[0]);
element.parents('.timepicker-cover').find('.time-fields-cover > select').eq(1).val(time[1]);
element.parents('.timepicker-cover').find('.time-fields-cover > input').eq(0).val(time[2]);
break;
case 'slider':
if (data[x].indexOf('-')!=-1)
{
var temp = data[x].split('-');
temp[0] = parseFloat(temp[0].trim());
temp[1] = parseFloat(temp[1].trim());
if ( !isNaN(parseFloat(temp[0])) && !isNaN(parseFloat(temp[1])) )
{
element.parents('.slider-cover').find('.ui-slider-cover > span').slider('values', temp);
element.parents('.slider-cover').find('.ui-slider-handle-nos').show();
}
}
else
{
if ( !isNaN(parseFloat(data[x])) )
{
element.parents('.slider-cover').find('.ui-slider-cover > span').slider('value', parseFloat(data[x]));
element.parents('.slider-cover').find('.ui-slider-handle-nos').show();
}
}
break;
default:
return 0;
break;
}
}
});
}
jQuery(document).ready(function(){
setInterval(function(){
saveProgress();
}, 3000);
});
FormCraftApp.controller('PrePopulateController', function($scope, $http) {
$scope.Init = function(){
$scope.SelectedField = '';
}
$scope.$watchCollection('Addons', function(newCol, oldCol, scope) {
if (typeof $scope.$parent.Addons!='undefined' && typeof $scope.$parent.Addons.PrePopulate!='undefined')
{
setTimeout(function(){
loadDefaultData();
}, 2000);
}
});
$scope.$watch('Addons.PrePopulate.pre_fields', function(){
if (typeof $scope.$parent.Addons!='undefined')
{
if (typeof $scope.$parent.Addons.PrePopulate.pre_fields=='undefined' || $scope.$parent.Addons.PrePopulate.pre_fields==false )
{
$scope.$parent.Addons.PrePopulate.dynamic_fields = false;
}
}
});
});