| 1 |
jQuery(window).load(function() { |
| 2 |
// Chosen selects |
| 3 |
if (jQuery("select.uwp_chosen_select").length > 0) { |
| 4 |
jQuery("select.uwp_chosen_select").chosen(); |
| 5 |
jQuery("select.uwp_chosen_select_nostd").chosen({ |
| 6 |
allow_single_deselect: 'true' |
| 7 |
}); |
| 8 |
} |
| 9 |
jQuery('.uwp_upload_btn').click(function() { |
| 10 |
var $this = jQuery(this); |
| 11 |
|
| 12 |
frame = wp.media({ |
| 13 |
title: 'Select or Upload Media', |
| 14 |
button: { |
| 15 |
text: 'Use Media' |
| 16 |
}, |
| 17 |
multiple: false |
| 18 |
}); |
| 19 |
|
| 20 |
frame.on( 'select', function() { |
| 21 |
var attachment = frame.state().get('selection').first().toJSON(); |
| 22 |
$this.parent().next().find("img").attr('src', attachment.url); |
| 23 |
$this.parent().next().find("img").show(); |
| 24 |
$this.parent().find(".uwp_remove_btn").show(); |
| 25 |
$this.parent().find(".uwp_img_url").val(attachment.id); |
| 26 |
}); |
| 27 |
|
| 28 |
frame.open(); |
| 29 |
}); |
| 30 |
|
| 31 |
jQuery('.uwp_remove_btn').click(function() { |
| 32 |
var answer = confirm('Are you sure?'); |
| 33 |
if (answer == true) { |
| 34 |
jQuery(this).parent().next().find("img").attr('src', ''); |
| 35 |
jQuery(this).parent().find('input.uwp_img_url').val(''); |
| 36 |
jQuery(this).parent().next().find("img").hide(); |
| 37 |
jQuery(this).hide(); |
| 38 |
} |
| 39 |
return false; |
| 40 |
}); |
| 41 |
}); |
| 42 |
|
| 43 |
function uwp_chosen() { |
| 44 |
if (jQuery("select.uwp_chosen_select").length > 0) { |
| 45 |
jQuery("select.uwp_chosen_select").chosen(); |
| 46 |
jQuery("select.uwp_chosen_select_nostd").chosen({ |
| 47 |
allow_single_deselect: 'true' |
| 48 |
}); |
| 49 |
} |
| 50 |
} |
| 51 |
|
| 52 |
function uwp_show_hide(id) { |
| 53 |
jQuery('#' + id).toggle(); |
| 54 |
} |
| 55 |
|
| 56 |
function uwp_show_hide_radio(id,sh,cl) { |
| 57 |
if(sh=='hide'){ |
| 58 |
jQuery( id ).closest( '.widefat' ).find('.'+cl).hide('fast'); |
| 59 |
}else{ |
| 60 |
jQuery( id ).closest( '.widefat' ).find('.'+cl).show('fast'); |
| 61 |
} |
| 62 |
|
| 63 |
} |
| 64 |
|
| 65 |
function validate_field(field) { |
| 66 |
|
| 67 |
var is_error = true; |
| 68 |
switch (jQuery(field).attr('field_type')) { |
| 69 |
case 'radio': |
| 70 |
case 'checkbox': |
| 71 |
|
| 72 |
if (jQuery(field).closest('.required_field').find(":checked").length > 0) { |
| 73 |
is_error = false; |
| 74 |
} |
| 75 |
break; |
| 76 |
|
| 77 |
case 'select': |
| 78 |
if (jQuery(field).find("option:selected").length > 0 && jQuery(field).find("option:selected").val() != '') { |
| 79 |
is_error = false; |
| 80 |
} |
| 81 |
break; |
| 82 |
|
| 83 |
case 'multiselect': |
| 84 |
|
| 85 |
if (jQuery(field).find("option:selected").length > 0) { |
| 86 |
is_error = false; |
| 87 |
} |
| 88 |
|
| 89 |
|
| 90 |
break; |
| 91 |
|
| 92 |
case 'email': |
| 93 |
var email_filter = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; |
| 94 |
if (field.value != '' && email_filter.test(field.value)) { |
| 95 |
is_error = false; |
| 96 |
} |
| 97 |
break; |
| 98 |
|
| 99 |
case 'url': |
| 100 |
var url_filter = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; |
| 101 |
if (field.value != '' && url_filter.test(field.value)) { |
| 102 |
is_error = false; |
| 103 |
} |
| 104 |
break; |
| 105 |
|
| 106 |
case 'editor': |
| 107 |
if (jQuery('#' + jQuery(field).attr('field_id')).val() != '') { |
| 108 |
is_error = false; |
| 109 |
} |
| 110 |
break; |
| 111 |
|
| 112 |
case 'datepicker': |
| 113 |
case 'time': |
| 114 |
case 'text': |
| 115 |
case 'textarea': |
| 116 |
if (field.value != '') { |
| 117 |
is_error = false; |
| 118 |
} |
| 119 |
break; |
| 120 |
|
| 121 |
default: |
| 122 |
if (field.value != '') { |
| 123 |
is_error = false; |
| 124 |
} |
| 125 |
break; |
| 126 |
|
| 127 |
} |
| 128 |
|
| 129 |
|
| 130 |
if (is_error) { |
| 131 |
if (jQuery(field).closest('.required_field').find('span.uwp_message_error').html() == '') { |
| 132 |
jQuery(field).closest('.required_field').find('span.uwp_message_error').html(uwp_admin_ajax.custom_field_id_required) |
| 133 |
} |
| 134 |
|
| 135 |
jQuery(field).closest('.required_field').find('span.uwp_message_error').fadeIn(); |
| 136 |
|
| 137 |
return false; |
| 138 |
} else { |
| 139 |
|
| 140 |
jQuery(field).closest('.required_field').find('span.uwp_message_error').html(''); |
| 141 |
jQuery(field).closest('.required_field').find('span.uwp_message_error').fadeOut(); |
| 142 |
|
| 143 |
return true; |
| 144 |
} |
| 145 |
} |
| 146 |
|
| 147 |
jQuery(document).ready(function () { |
| 148 |
jQuery("#uwp-form-builder-tab, #uwp-form-builder-tab-predefined").find("ul li a").click(function () { |
| 149 |
if(!jQuery(this).attr('id')){return;} |
| 150 |
var type = jQuery(this).data("field-type"); |
| 151 |
var type_key = jQuery(this).data("field-type-key"); |
| 152 |
var custom_type = jQuery(this).data("field-custom-type"); |
| 153 |
var form_type = jQuery(this).closest('#uwp-form-builder-tab, #uwp-form-builder-tab-predefined').find('#form_type').val(); |
| 154 |
var id = 'new' + jQuery(".field_row_main ul.core li:last").index(); |
| 155 |
var manage_field_type = jQuery(this).closest('#uwp-available-fields').find(".manage_field_type").val(); |
| 156 |
if (manage_field_type == 'custom_fields') { |
| 157 |
jQuery.get(uwp_admin_ajax.url + '?action=uwp_ajax_action&create_field=true', { |
| 158 |
field_type: type, |
| 159 |
field_type_key: type_key, |
| 160 |
form_type: form_type, |
| 161 |
field_id: id, |
| 162 |
field_ins_upd: 'new', |
| 163 |
manage_field_type: manage_field_type, |
| 164 |
custom_type: custom_type |
| 165 |
}, function (data) { |
| 166 |
jQuery('.field_row_main ul.core').append(data); |
| 167 |
uwp_chosen(); |
| 168 |
jQuery('#licontainer_' + id).find('#sort_order').val(parseInt(jQuery('#licontainer_' + id).index()) + 1); |
| 169 |
uwp_show_hide('field_frm'+id); |
| 170 |
jQuery('html, body').animate({ |
| 171 |
scrollTop: jQuery("#licontainer_"+id).offset().top |
| 172 |
}, 1000); |
| 173 |
|
| 174 |
}); |
| 175 |
} |
| 176 |
}); |
| 177 |
jQuery(".field_row_main ul.core").sortable({ |
| 178 |
opacity: 0.8, |
| 179 |
cursor: 'move', |
| 180 |
placeholder: "ui-state-highlight", |
| 181 |
cancel: "input,label,select", |
| 182 |
update: function () { |
| 183 |
var manage_field_type = jQuery(this).closest('#uwp-selected-fields').find(".manage_field_type").val(); |
| 184 |
var order = jQuery(this).sortable("serialize") + '&update=update&manage_field_type=' + manage_field_type; |
| 185 |
if (manage_field_type == 'custom_fields' || manage_field_type == 'sorting_options') { |
| 186 |
jQuery.get(uwp_admin_ajax.url + '?action=uwp_ajax_action&create_field=true', order, function (theResponse) { |
| 187 |
//alert('Fields have been ordered.'); |
| 188 |
}); |
| 189 |
} |
| 190 |
} |
| 191 |
}); |
| 192 |
|
| 193 |
jQuery(".field_row_main ul.uwp_form_extras").sortable({ opacity: 0.8, placeholder: "ui-state-highlight", |
| 194 |
cancel: "input,label,select",cursor: 'move', update: function() { |
| 195 |
|
| 196 |
var order = jQuery(this).sortable("serialize") + '&update=update'; |
| 197 |
|
| 198 |
jQuery.get(uwp_admin_ajax.url+'?action=uwp_ajax_register_action&create_field=true', order, function(theResponse){ |
| 199 |
|
| 200 |
}); |
| 201 |
} |
| 202 |
}); |
| 203 |
|
| 204 |
jQuery("#uwp-form-builder-tab").find("ul li a").click(function() { |
| 205 |
if(!jQuery(this).attr('id')){return;} |
| 206 |
var htmlvar_name = jQuery(this).attr('id').replace('uwp-',''); |
| 207 |
var field_type = jQuery(this).data('type'); |
| 208 |
|
| 209 |
var form_type = jQuery(this).closest('#uwp-form-builder-tab').find('#form_type').val(); |
| 210 |
|
| 211 |
var id = 'new'+jQuery(".field_row_main ul.uwp_form_extras li:last").index(); |
| 212 |
|
| 213 |
var manage_field_type = jQuery(this).closest('#uwp-available-fields').find(".manage_field_type").val(); |
| 214 |
|
| 215 |
if (manage_field_type == 'register'){ |
| 216 |
|
| 217 |
jQuery.get(uwp_admin_ajax.url+'?action=uwp_ajax_register_action&create_field=true',{ htmlvar_name: htmlvar_name,form_type:form_type, field_type:field_type, field_id: id, field_ins_upd: 'new' }, |
| 218 |
function(data) |
| 219 |
{ |
| 220 |
console.log(id); |
| 221 |
jQuery('.field_row_main ul.uwp_form_extras').append(data); |
| 222 |
|
| 223 |
jQuery('#licontainer_'+htmlvar_name).find('#sort_order').val( parseInt(jQuery('#licontainer_'+htmlvar_name).index()) + 1 ); |
| 224 |
|
| 225 |
uwp_show_hide('field_frm'+htmlvar_name); |
| 226 |
jQuery('html, body').animate({ |
| 227 |
scrollTop: jQuery("#licontainer_"+htmlvar_name).offset().top |
| 228 |
}, 1000); |
| 229 |
|
| 230 |
save_register_field(htmlvar_name); // save registration fields on add |
| 231 |
|
| 232 |
}); |
| 233 |
|
| 234 |
if(htmlvar_name!='fieldset'){ |
| 235 |
jQuery(this).closest('li').hide(); |
| 236 |
} |
| 237 |
|
| 238 |
} |
| 239 |
|
| 240 |
if (manage_field_type == 'search'){ |
| 241 |
|
| 242 |
var field_data_type = jQuery(this).data('data_type'); |
| 243 |
|
| 244 |
jQuery.get(uwp_admin_ajax.url+'?action=uwp_ajax_search_action&create_field=true',{ htmlvar_name: htmlvar_name,form_type:form_type, field_type:field_type, field_data_type:field_data_type, field_id: id, field_ins_upd: 'new' }, |
| 245 |
function(data) |
| 246 |
{ |
| 247 |
console.log(id); |
| 248 |
jQuery('.field_row_main ul.uwp_form_extras').append(data); |
| 249 |
|
| 250 |
jQuery('#licontainer_'+htmlvar_name).find('#sort_order').val( parseInt(jQuery('#licontainer_'+htmlvar_name).index()) + 1 ); |
| 251 |
|
| 252 |
uwp_show_hide('field_frm'+htmlvar_name); |
| 253 |
jQuery('html, body').animate({ |
| 254 |
scrollTop: jQuery("#licontainer_"+htmlvar_name).offset().top |
| 255 |
}, 1000); |
| 256 |
|
| 257 |
}); |
| 258 |
|
| 259 |
if(htmlvar_name!='fieldset'){ |
| 260 |
jQuery(this).closest('li').hide(); |
| 261 |
} |
| 262 |
|
| 263 |
} |
| 264 |
|
| 265 |
}); |
| 266 |
}); |
| 267 |
|
| 268 |
function uwp_data_type_changed(obj, cont) { |
| 269 |
if (obj && cont) { |
| 270 |
jQuery('#licontainer_' + cont).find('.decimal-point-wrapper').hide(); |
| 271 |
if (jQuery(obj).val() == 'FLOAT') { |
| 272 |
jQuery('#licontainer_' + cont).find('.decimal-point-wrapper').show(); |
| 273 |
} |
| 274 |
|
| 275 |
if (jQuery(obj).val() == 'FLOAT' || jQuery(obj).val() == 'INT') { |
| 276 |
jQuery('#licontainer_' + cont).find('.uwp-price-extra-set').show(); |
| 277 |
|
| 278 |
if(jQuery('#licontainer_' + cont).find(".uwp-price-extra-set input[name='extra[is_price]']:checked").val()=='1'){ |
| 279 |
jQuery('#licontainer_' + cont).find('.uwp-price-extra').show(); |
| 280 |
} |
| 281 |
|
| 282 |
}else{ |
| 283 |
jQuery('#licontainer_' + cont).find('.uwp-price-extra-set').hide(); |
| 284 |
jQuery('#licontainer_' + cont).find('.uwp-price-extra').hide(); |
| 285 |
} |
| 286 |
} |
| 287 |
} |
| 288 |
|
| 289 |
function save_field(id) { |
| 290 |
|
| 291 |
if (jQuery('#licontainer_' + id + ' #htmlvar_name').length > 0) { |
| 292 |
|
| 293 |
var htmlvar_name = jQuery('#licontainer_' + id + ' #htmlvar_name').val(); |
| 294 |
|
| 295 |
if (htmlvar_name == '') { |
| 296 |
|
| 297 |
alert(uwp_admin_ajax.custom_field_not_blank_var); |
| 298 |
|
| 299 |
return false; |
| 300 |
} |
| 301 |
|
| 302 |
if (htmlvar_name != '') { |
| 303 |
|
| 304 |
var iChars = "!`@#$%^&*()+=-[]\\\';,./{}|\":<>?~ "; |
| 305 |
|
| 306 |
for (var i = 0; i < htmlvar_name.length; i++) { |
| 307 |
if (iChars.indexOf(htmlvar_name.charAt(i)) != -1) { |
| 308 |
|
| 309 |
alert(uwp_admin_ajax.custom_field_not_special_char); |
| 310 |
|
| 311 |
|
| 312 |
return false; |
| 313 |
} |
| 314 |
} |
| 315 |
} |
| 316 |
|
| 317 |
var option_val_input = jQuery('#licontainer_' + id + ' #option_values'); |
| 318 |
if (option_val_input.length == 1) { |
| 319 |
var option_values = option_val_input.val(); |
| 320 |
if (option_values == '') { |
| 321 |
alert(uwp_admin_ajax.custom_field_options_not_blank_var); |
| 322 |
return false; |
| 323 |
} |
| 324 |
|
| 325 |
} |
| 326 |
} |
| 327 |
|
| 328 |
var fieldrequest = jQuery('#licontainer_' + id).find("select, textarea, input").serialize(); |
| 329 |
var request_data = 'create_field=true&field_ins_upd=submit&' + fieldrequest; |
| 330 |
|
| 331 |
|
| 332 |
jQuery.ajax({ |
| 333 |
'url': uwp_admin_ajax.url + '?action=uwp_ajax_action&manage_field_type=custom_fields', |
| 334 |
'type': 'POST', |
| 335 |
'data': request_data, |
| 336 |
'success': function (result) { |
| 337 |
|
| 338 |
//alert(result); |
| 339 |
if (jQuery.trim(result) == 'HTML Variable Name should be a unique name') { |
| 340 |
|
| 341 |
alert(uwp_admin_ajax.custom_field_unique_name); |
| 342 |
|
| 343 |
} |
| 344 |
else { |
| 345 |
jQuery('#licontainer_' + id).replaceWith(jQuery.trim(result)); |
| 346 |
uwp_chosen(); |
| 347 |
|
| 348 |
var order = jQuery(".field_row_main ul.core").sortable("serialize") + '&update=update&manage_field_type=custom_fields'; |
| 349 |
|
| 350 |
jQuery.get(uwp_admin_ajax.url + '?action=uwp_ajax_action&create_field=true', order, |
| 351 |
function (theResponse) { |
| 352 |
//alert(theResponse); |
| 353 |
}); |
| 354 |
|
| 355 |
jQuery('.field_frm').hide(); |
| 356 |
} |
| 357 |
|
| 358 |
|
| 359 |
|
| 360 |
} |
| 361 |
}); |
| 362 |
|
| 363 |
|
| 364 |
} |
| 365 |
|
| 366 |
function delete_field(id, nonce) { |
| 367 |
|
| 368 |
var confarmation = confirm(uwp_admin_ajax.custom_field_delete); |
| 369 |
|
| 370 |
if (confarmation == true) { |
| 371 |
|
| 372 |
jQuery.get(uwp_admin_ajax.url + '?action=uwp_ajax_action&create_field=true&manage_field_type=custom_fields', { |
| 373 |
field_id: id, |
| 374 |
field_ins_upd: 'delete', |
| 375 |
_wpnonce: nonce |
| 376 |
}, |
| 377 |
function (data) { |
| 378 |
jQuery('#licontainer_' + id).remove(); |
| 379 |
|
| 380 |
}); |
| 381 |
|
| 382 |
} |
| 383 |
|
| 384 |
} |
| 385 |
|
| 386 |
function uwp_show_hide_register(id) |
| 387 |
{ |
| 388 |
jQuery('#'+id).toggle(); |
| 389 |
} |
| 390 |
|
| 391 |
function delete_register_field(id, nonce,deleteid) |
| 392 |
{ |
| 393 |
|
| 394 |
var restore_id = id.replace('new',''); |
| 395 |
|
| 396 |
var confirmation = confirm(uwp_admin_ajax.custom_field_delete); |
| 397 |
|
| 398 |
if(confirmation == true) |
| 399 |
{ |
| 400 |
jQuery('#create_advance_search_li_'+deleteid).show(); |
| 401 |
jQuery.get(uwp_admin_ajax.url+'?action=uwp_ajax_register_action&create_field=true', { field_id: id, field_ins_upd: 'delete', _wpnonce:nonce }, |
| 402 |
function(data) |
| 403 |
{ |
| 404 |
jQuery('#licontainer_'+id).remove(); |
| 405 |
|
| 406 |
}); |
| 407 |
|
| 408 |
jQuery('#uwp-'+deleteid).closest('li').show(); |
| 409 |
|
| 410 |
} |
| 411 |
|
| 412 |
} |
| 413 |
|
| 414 |
function save_register_field(id) |
| 415 |
{ |
| 416 |
if(jQuery('#licontainer_'+id+' #field_title').length > 0){ |
| 417 |
|
| 418 |
var htmlvar_name = jQuery('#licontainer_'+id+' #field_title').val(); |
| 419 |
|
| 420 |
if(htmlvar_name == '') |
| 421 |
{ |
| 422 |
alert(uwp_admin_ajax.custom_field_not_blank_var); |
| 423 |
|
| 424 |
return false; |
| 425 |
} |
| 426 |
} |
| 427 |
|
| 428 |
|
| 429 |
|
| 430 |
var fieldrequest = jQuery('#licontainer_'+id).find("select, textarea, input").serialize(); |
| 431 |
|
| 432 |
var request_data = 'create_field=true&field_ins_upd=submit&' + fieldrequest ; |
| 433 |
|
| 434 |
jQuery.ajax({ |
| 435 |
'url': uwp_admin_ajax.url+'?action=uwp_ajax_register_action', |
| 436 |
'type': 'POST', |
| 437 |
'data': request_data , |
| 438 |
'success': function(result){ |
| 439 |
|
| 440 |
|
| 441 |
if(jQuery.trim( result ) == 'HTML Variable Name should be a unique name') |
| 442 |
{ |
| 443 |
|
| 444 |
alert(uwp_admin_ajax.custom_field_unique_name); |
| 445 |
|
| 446 |
} |
| 447 |
else |
| 448 |
{ |
| 449 |
jQuery('#licontainer_'+id).replaceWith(jQuery.trim( result )); |
| 450 |
|
| 451 |
var order = jQuery(".field_row_main ul.uwp_form_extras").sortable("serialize") + '&update=update'; |
| 452 |
|
| 453 |
jQuery.get(uwp_admin_ajax.url+'?action=uwp_ajax_register_action&create_field=true', order, |
| 454 |
function(theResponse){ |
| 455 |
//alert(theResponse); |
| 456 |
}); |
| 457 |
|
| 458 |
jQuery('.field_frm').hide(); |
| 459 |
} |
| 460 |
|
| 461 |
|
| 462 |
} |
| 463 |
}); |
| 464 |
|
| 465 |
|
| 466 |
} |