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 |