HOME


Mini Shell 1.0
DIR: /home/depancom/www/depancomblogus/wp-content/plugins_old/buddymeet/assets/js/
Upload File :
Current File : /home/depancom/www/depancomblogus/wp-content/plugins_old/buddymeet/assets/js/invites.js
jQuery(document).ready( function() {
	const ajaxurl = args.ajaxurl;
	console.log(ajaxurl);

	const room = jQuery('#room').val();
	let initializeMeet = room === '' || room === undefined;
	const group_id = jQuery("input#group_id").val();

	autocomplete(jQuery('#room').val());

	jQuery('#send-invite-form #stopCall').on( 'click', function(e) {
		const data = {
			'action' : 'members_delete_room',
			'room' :  jQuery('#room').val(),
			'_wpnonce': jQuery("input#_wpnonce_members_delete_room").val(),
		};

		jQuery.ajax({
			type: "POST",
			url: ajaxurl,
			data: data,
			success: function(response){
				const url = JSON.parse(response);
				if(url.redirect) {
					window.location = url.redirect;
				}
			},
			error: function(data){
			}
		});

		e.preventDefault();

	});

	jQuery('#send-invite-form #sendInviteButton').on( 'click', function(e) {
		const users = [];

		jQuery('#meet-invite-list').find('li').each(function(index,value) {
			users.push( jQuery(this).attr('id').split('-')[1] );
			jQuery(this).addClass('autocomplete-loading');
		});

		// set ajax data
		const data = {
			'action' : 'members_send_invites',
			'users': users,
			'room_name': jQuery('#room_name').val(),
			'room': jQuery('#room').val(),
			'initialize': initializeMeet,
			'_wpnonce': jQuery("input#_wpnonce_send_invites").val(),
		};

		jQuery.ajax({
			type: "POST",
			url: ajaxurl,
			data: data,
			success: function(response){
				if(response) {
					const url = JSON.parse(response);
					if(url.redirect){
						window.location = url.redirect;
					}
				}
				jQuery('#meet-invite-list').find('li').remove();

				//we only initialize the meet once until it gets explicitly closed
				initializeMeet = false;
				autocomplete(jQuery('#room').val());
				buddymeet_refresh_buttons_state();
			},
			error: function(data){
			}
		});

		e.preventDefault();

	});

	jQuery('#active-rooms').on( 'change', function(e) {
		const room =  jQuery('#active-rooms').val();
		let location = window.location.href;
		location = location.substr(0, location.indexOf('buddymeet/')) + 'buddymeet/members/';
		window.location = location + room;

		e.preventDefault();
	});

	jQuery('#room_name').on( 'keyup', function(e) {
		buddymeet_refresh_buttons_state();
	});

	buddymeet_refresh_buttons_state();

	function autocomplete(room){
		const options = {
			minLength: 3,
			select: buddymeet_on_autocomplete_select,
			source: function( request, response ) {
				jQuery('#send-to-input').addClass('autocomplete-loading');

				const data =  {
					'action': 'members_autocomplete',
					'_wpnonce': jQuery("input#_wpnonce_members_autocomplete").val(),
					'term':  request.term,
					'room': room
				};

				jQuery.ajax({
					type: "POST",
					url: ajaxurl,
					data: data,
					success: function(data){
						jQuery('#send-to-input').removeClass('autocomplete-loading');
						if(data){
							response(JSON.parse(data));
						}
					},
					error: function(data){}
				});
			}
		};

		jQuery('#send-to-input').autocomplete(options).autocomplete( "instance" )
			._renderItem = function( ul, item ) {
			return jQuery( "<li>" )
				.append( "<div>" + item.label + "</div>" )
				.appendTo( ul );
		};
	}

	function buddymeet_on_autocomplete_select( event, ui) {
		const member_id = ui.item.value;
		// Put the item in the invite list
		jQuery('#send-to-input').addClass('autocomplete-loading');

		const data =  {
			'action': 'members_add_to_invite_list',
			'_wpnonce': jQuery("input#_wpnonce_members_add_invite").val(),
			'member_id': member_id,
			'group_id': group_id
		};

		jQuery.ajax({
			type: "POST",
			url: ajaxurl,
			data: data,
			success: function(response){
				jQuery('.ajax-loader').toggle();

				if(response) {
					jQuery('#meet-invite-list').append(response);

					jQuery('.action a').click(function(){
						jQuery(this).closest('li').remove();
						buddymeet_refresh_buttons_state();
					});
				}

				jQuery('#send-to-input').removeClass('autocomplete-loading');

				// Refresh the submit button state
				buddymeet_refresh_buttons_state();
			},
			error: function(data){
			}
		});

		// Remove the value from the input element
		jQuery('#edit-task-assign-to').val('');

		return false;
	}

	function buddymeet_refresh_buttons_state(){

		const hasInvites = jQuery( '#meet-invite-list li' ).length;
		const roomName = jQuery( '#room_name' ).val();
		const hasRoomName = roomName !== '' && roomName !== undefined;
		if ( hasInvites  && hasRoomName) {
			jQuery( '#send-invite-form #sendInviteButton' ).prop( 'disabled', false ).removeClass( 'submit-disabled' );
		} else {
			jQuery( '#send-invite-form #sendInviteButton' ).prop( 'disabled', true ).addClass( 'submit-disabled' );
		}

		if(typeof(api) != "undefined"){
			jQuery( '#stopCall' ).prop( 'disabled', false ).removeClass( 'submit-disabled' );
			jQuery( '#room_name' ).prop( 'disabled', true );
		} else {
			jQuery( '#stopCall' ).prop( 'disabled', true ).addClass( 'submit-disabled' );
			jQuery( '#room_name' ).prop( 'disabled', false );
		}
	}
});