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 | 256 | |
| 257 | 257 | return !correct_format_regex.test(value); |
| 258 | 258 | } |
| 259 | - | |
| 260 | 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 | 304 | jQuery(document).ready(function(){ |
| 305 | + change_edit_fields_order(); // To change the fields order, it MUST be the first function executed | |
| 306 | + | |
| 264 | 307 | var selectFieldChoices = new SelectFieldChoices(); |
| 265 | 308 | set_initial_form_custom_data(selectFieldChoices); |
| 266 | 309 | ... | ... |