diff options
Diffstat (limited to 'web/js/fixmystreet-admin.js')
-rw-r--r-- | web/js/fixmystreet-admin.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/web/js/fixmystreet-admin.js b/web/js/fixmystreet-admin.js new file mode 100644 index 000000000..1663dda7b --- /dev/null +++ b/web/js/fixmystreet-admin.js @@ -0,0 +1,79 @@ +$(function(){ + // available for admin pages + + // hide the open311_only section and reveal it only when send_method is relevant + var $open311_only = $('.admin-open311-only'); + + function hide_or_show_open311(hide_fast) { + var send_method = $('#send_method').val(); + var show_open311 = false; + if ($('#endpoint').val()) { + show_open311 = true; // always show the form if there is an endpoint value + } else if (send_method && send_method.toLowerCase() != 'email') { + show_open311 = true; + } + if (show_open311) { + $open311_only.slideDown(); + } else { + if (hide_fast) { + $open311_only.hide(); + } else { + $open311_only.slideUp(); + } + } + } + + if ($open311_only) { + $('#send_method').on('change', hide_or_show_open311); + hide_or_show_open311(true); + } + + if ($('body').hasClass("show-admin-notes")) { + + // admin hints: maybe better implemented as tooltips? + $(".admin-hint").on('click', function(){ + if ($(this).hasClass('admin-hint-show')) { + $(this).removeClass('admin-hint-show'); + } else { + $(this).addClass('admin-hint-show'); + } + }); + + // on a body's page, hide/show deleted contact categories + var $table_with_deleted_contacts = $('table tr.is-deleted td.contact-category').closest('table'); + if ($table_with_deleted_contacts.length == 1) { + var $toggle_deleted_btn = $("<input type='submit' class='btn' value='Hide deleted contacts' id='toggle-deleted-contacts-btn' style='margin:1em 0;'/>"); + $table_with_deleted_contacts.before($toggle_deleted_btn); + $toggle_deleted_btn.on('click', function(e){ + e.preventDefault(); + var $cols = $table_with_deleted_contacts.find('tr.is-deleted'); + if ($cols.first().is(':visible')) { + $cols.hide(); + $(this).prop("value", 'Show deleted contacts'); + } else { + $cols.show(); + $(this).prop("value", 'Hide deleted contacts'); + } + }); + } + } + + $( "#start_date" ).datepicker({ + defaultDate: "-1w", + changeMonth: true, + dateFormat: 'dd/mm/yy' , + // This sets the other fields minDate to our date + onClose: function( selectedDate ) { + $( "#end_date" ).datepicker( "option", "minDate", selectedDate ); + } + }); + $( "#end_date" ).datepicker({ + /// defaultDate: "+1w", + changeMonth: true, + dateFormat: 'dd/mm/yy' , + onClose: function( selectedDate ) { + $( "#start_date" ).datepicker( "option", "maxDate", selectedDate ); + } + }); +}); + |