var Admin = function () { /// Constructor function of the event admin class. /// // Uploading files var file_frame; var file_target_input; var file_target_wrapper; return { /// ///Initializes the admin. /// /// /// 1.0.0 init: function () { //Tooltips jQuery(".tips, .help_tip").tipTip({ 'attribute': 'data-tip', 'fadeIn': 50, 'fadeOut': 50, 'delay': 200 }); //load chosen if (jQuery(".event-manager-select-chosen").length > 0) { jQuery(".event-manager-select-chosen").chosen(); } //time settings change jQuery('input[name=_event_time_format]').on('change', Admin.actions.showSelectedTimeFormat); var min_date; if (wp_event_manager_admin_js.show_past_date) { min_date = ''; } else { min_date = 0; } if (jQuery('input[data-picker="datepicker"]#_event_start_date').length > 0) { jQuery('input[data-picker="datepicker"]#_event_start_date').datepicker({ minDate: min_date, dateFormat: wp_event_manager_admin_js.i18n_datepicker_format, }); } if (jQuery('input[data-picker="datepicker"]#_event_end_date').length > 0) { jQuery('input[data-picker="datepicker"]#_event_end_date').datepicker({ dateFormat: wp_event_manager_admin_js.i18n_datepicker_format, beforeShow: function (input, inst) { var mindate = jQuery('input[data-picker="datepicker"]#_event_start_date').datepicker('getDate'); jQuery(this).datepicker('option', 'minDate', mindate); } }); } if (jQuery('#_event_start_time').length > 0) { jQuery('#_event_start_time').timepicker({ 'timeFormat': wp_event_manager_admin_js.i18n_timepicker_format, 'step': wp_event_manager_admin_js.i18n_timepicker_step, }); } if (jQuery('#_event_end_time').length > 0) { jQuery('#_event_end_time').timepicker({ 'timeFormat': wp_event_manager_admin_js.i18n_timepicker_format, 'step': wp_event_manager_admin_js.i18n_timepicker_step, }); } if (jQuery('#_event_timezone').length > 0) { jQuery("#_event_timezone").chosen({search_contains: !0}); } if (jQuery('input[data-picker="datepicker"]#_event_registration_deadline').length > 0) { jQuery('input[data-picker="datepicker"]#_event_registration_deadline').datepicker({ minDate: min_date, maxDate: jQuery('#_event_end_date').val(), dateFormat: wp_event_manager_admin_js.i18n_datepicker_format, }); } /*show default value of the expiry date based on settings */ if (jQuery('input[data-picker="datepicker"]#_event_expiry_date').length > 0) { jQuery('input#_event_expiry_date').datepicker({ minDate: min_date, dateFormat: wp_event_manager_admin_js.i18n_datepicker_format, beforeShow: function (input, inst) { var mindate = jQuery('input[data-picker="datepicker"]#_event_end_date').datepicker('getDate'); jQuery(this).datepicker('option', 'minDate', mindate); } }); } //if field type is date then load datepicker if (jQuery('input[data-picker="datepicker"]').length > 0) { jQuery('input[data-picker="datepicker"]').datepicker({minDate: 0, dateFormat: wp_event_manager_admin_js.i18n_datepicker_format}); } //Author jQuery("p.form-field-author").on('click', Admin.author.changeAuthor); jQuery("#setting-event_manager_submission_expire_options").on('change', Admin.settings.selectEventExpiryOption); //file upload jQuery('body').on('click', '.wp_event_manager_upload_file_button', Admin.fileUpload.addFile); jQuery(".wp_event_manager_add_another_file_button").on('click', Admin.fileUpload.addAnotherFile); //upgrade database jQuery("#wp_event_manager_upgrade_database").on('click', Admin.actions.upgradeDatabase); }, actions: { /// /// Show selected time format : 12 hour format or 24 hour format. /// /// /// 1.0.0 showSelectedTimeFormat: function (event) { event.preventDefault(); if (jQuery('input[name="_event_time_format"]').length > 0) { Admin.timeFormatSettings(); } }, /// /// upgrade database when we create seperate post type for Organiizer /// /// 3.1.14 upgradeDatabase: function (event) { jQuery.ajax({ url: wp_event_manager_admin_js.ajax_url, type: 'POST', dataType: 'json', data: { action: 'wpem_upgrade_database', }, beforeSend: function() { jQuery('.update-message').remove(); jQuery('hr.wp-header-end.extra').remove(); jQuery('.wp_event_manager_upgrade_database').before('

' + wp_event_manager_admin_js.upgrade_database_before_send_text + '...


'); }, success: function (responce) { jQuery('.update-message').remove(); jQuery('hr.wp-header-end.extra').remove(); jQuery('.wpem-upgrade-database-notice').remove(); jQuery('.wp_event_manager_upgrade_database').before('

' + wp_event_manager_admin_js.upgrade_database_success_send_text + '


'); jQuery('.wp_event_manager_upgrade_database').remove(); } }); }, }, author: { /// /// Change Author. /// /// /// /// 1.0.0 changeAuthor: function (event) { jQuery(this).closest('p').find('.current-author').hide(); jQuery(this).closest('p').find('.change-author').show(); return false; event.preventDefault(); }, }, settings: { /// /// You can set event submission expiry time either event end date or specific days.. /// /// /// /// 1.0.0 selectEventExpiryOption: function (event) { var option = jQuery("#setting-event_manager_submission_expire_options option:selected").val(); if (option == 'days') jQuery('#setting-event_manager_submission_duration').closest('tr').show(); else jQuery('#setting-event_manager_submission_duration').closest('tr').hide(); event.preventDefault(); } }, fileUpload: { /// /// Upload new file from admin area. /// /// /// /// 1.0.0 addFile: function (event) { event.preventDefault(); file_target_wrapper = jQuery(this).closest('.file_url'); file_target_input = file_target_wrapper.find('input'); // If the media frame already exists, reopen it. if (file_frame) { file_frame.open(); return; } // Create the media frame. file_frame = wp.media.frames.file_frame = wp.media({ title: jQuery(this).data('uploader_title'), button: { text: jQuery(this).data('uploader_button_text'), }, multiple: false // Set to true to allow multiple files to be selected }); // When an image is selected, run a callback. file_frame.on('select', function () { // We set multiple to false so only get one image from the uploader attachment = file_frame.state().get('selection').first().toJSON(); jQuery(file_target_input).val(attachment.url); }); // Finally, open the modal file_frame.open(); }, /// /// Upload new file from admi area. when admin want to add another file then admin can add new file. /// /// /// /// 1.0.0 addAnotherFile: function (event) { event.preventDefault(); var wrapper = jQuery(this).closest('.form-field'); var field_name = jQuery(this).data('field_name'); var field_placeholder = jQuery(this).data('field_placeholder'); var button_text = jQuery(this).data('uploader_button_text'); var button = jQuery(this).data('uploader_button'); jQuery(this).before(''); } } } //enf of return }; //end of class Admin = Admin(); jQuery(document).ready(function ($) { Admin.init(); });