| Current Path : /home/ereika83/www/wp-content/plugins/bbpowerpack/modules/pp-table/js/ |
| Current File : /home/ereika83/www/wp-content/plugins/bbpowerpack/modules/pp-table/js/settings.js |
;(function($) {
FLBuilder.registerModuleHelper( 'pp-table', {
init: function() {
var form = $('.fl-builder-settings');
var uploadBtn = form.find('#fl-field-csv_import .pp-field-file-upload');
var fileInput = form.find('#fl-field-csv_import input.pp-field-file');
var filenameInput = form.find('#fl-field-csv_import input.pp-field-file-name');
var nonce = form.find('#fl-field-csv_import input.pp-field-file-nonce').val();
var file = '';
var formData = new FormData();
fileInput.on('change', function() {
uploadBtn.removeClass('disabled');
if ( $(this).val() === '' ) {
return;
}
file = this.files[0];
var type = file.type;
var ext = file.name.substr( file.name.length - 4, 4 ).toLowerCase();
var valid = false;
if ( "text/csv" === type || ( "application/vnd.ms-excel" === type && ".csv" === ext ) ) {
valid = true;
}
if ( ! valid ) {
alert('Please select valid CSV file.');
$(this).val('');
return false;
}
});
uploadBtn.off('click').on('click', function(e) {
if ( fileInput.val() === '' ) {
alert('Please select CSV file.');
return false;
}
formData.append('file', file);
formData.append('time', new Date().getTime());
formData.append('nonce', nonce);
formData.append('pp_action', 'table_csv_upload');
FLBuilder.preview.delayPreview(e);
uploadBtn.addClass('disabled');
fileInput.addClass('disabled');
$.ajax({
type: 'POST',
url: location.href.split('#').shift().replace('fl_builder', 'ppajax'),
data: formData,
contentType: false,
processData: false,
cache: false,
success: function (response) {
if ( response.success ) {
filenameInput.val( JSON.stringify( response.data ) );
FLBuilder.preview.delayPreview(e);
form.find('.pp-field-file-msg strong').text( response.data.filename );
}
else if ( response.error ) {
alert( response.data );
setTimeout(function() {
uploadBtn.removeClass('disabled');
}, 1000);
}
fileInput.removeClass('disabled');
}
});
});
}
});
})(jQuery);