Commit 3812217d0e667091aaec71aa35d03e381f725c31
1 parent
3e0761f4
Exists in
master
and in
5 other branches
change_fields_order: Change edit fields order
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Showing
1 changed file
with
44 additions
and
1 deletions
Show diff stats
public/mpog-user-validations.js
| @@ -256,11 +256,54 @@ | @@ -256,11 +256,54 @@ | ||
| 256 | 256 | ||
| 257 | return !correct_format_regex.test(value); | 257 | return !correct_format_regex.test(value); |
| 258 | } | 258 | } |
| 259 | - | ||
| 260 | //End generic | 259 | //End generic |
| 261 | 260 | ||
| 261 | + function get_privacy_selector_parent_div(field_id, actual) { | ||
| 262 | + if( actual == undefined ) actual = jQuery(field_id); | ||
| 263 | + | ||
| 264 | + if( actual.is("form") || actual.length == 0 ) return null; // Not allow recursion over form | ||
| 265 | + | ||
| 266 | + if( actual.hasClass("field-with-privacy-selector") ) { | ||
| 267 | + return actual; | ||
| 268 | + } else { | ||
| 269 | + return get_privacy_selector_parent_div(field_id, actual.parent()); | ||
| 270 | + } | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + function get_edit_fields_in_insertion_order() { | ||
| 274 | + var containers = []; | ||
| 275 | + | ||
| 276 | + containers.push(get_privacy_selector_parent_div("#profile_data_name").remove()); | ||
| 277 | + containers.push(get_privacy_selector_parent_div("#profile_data_email").remove()); | ||
| 278 | + containers.push(jQuery("#user_secondary_email").parent().parent().remove()); | ||
| 279 | + containers.push(jQuery("#select_institution").remove()); | ||
| 280 | + containers.push(get_privacy_selector_parent_div("#profile_data_cell_phone").remove()); | ||
| 281 | + containers.push(get_privacy_selector_parent_div("#profile_data_contact_phone").remove()); | ||
| 282 | + containers.push(get_privacy_selector_parent_div("#profile_data_comercial_phone").remove()); | ||
| 283 | + containers.push(get_privacy_selector_parent_div("#profile_data_personal_website").remove()); | ||
| 284 | + containers.push(get_privacy_selector_parent_div("#profile_data_organization_website").remove()); | ||
| 285 | + containers.push(get_privacy_selector_parent_div("#profile_data_birth_date").remove()); | ||
| 286 | + containers.push(get_privacy_selector_parent_div("#profile_data_country").remove()); | ||
| 287 | + containers.push(get_privacy_selector_parent_div("#state_field").remove()); | ||
| 288 | + containers.push(get_privacy_selector_parent_div("#city_field").remove()); | ||
| 289 | + | ||
| 290 | + return containers; | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + function change_edit_fields_order() { | ||
| 294 | + var form = jQuery("#profile-data"); | ||
| 295 | + var containers = get_edit_fields_in_insertion_order(); | ||
| 296 | + | ||
| 297 | + containers.reverse(); | ||
| 298 | + | ||
| 299 | + containers.forEach(function(container){ | ||
| 300 | + form.prepend(container); | ||
| 301 | + }); | ||
| 302 | + } | ||
| 262 | 303 | ||
| 263 | jQuery(document).ready(function(){ | 304 | jQuery(document).ready(function(){ |
| 305 | + change_edit_fields_order(); // To change the fields order, it MUST be the first function executed | ||
| 306 | + | ||
| 264 | var selectFieldChoices = new SelectFieldChoices(); | 307 | var selectFieldChoices = new SelectFieldChoices(); |
| 265 | set_initial_form_custom_data(selectFieldChoices); | 308 | set_initial_form_custom_data(selectFieldChoices); |
| 266 | 309 |