Revision 8051 of "Користувач:RLuts/common.js" on ukwikivoyage

// для експериментальної сторінки створення маршрутів
$( document ).ready(function() {
    //створення форм після завантаження
  if(mw.config.get('wgPageName') == 'Користувач:RLuts/testforms') {
     $("#expjsforms").append('<input id="commonscat" value="Категорія Вікісховища"/>                     <input id="newform" type=button value="Додати населений пункт" />');
  }
});
 
$('#newform').click(function() { $('#expjsforms').append('<div class="area"><input class="vilname" value="Введіть назву населеного пункту"/><span class="delbut">Видалити x</span><textarea class="vilinput" rows="10" cols="45" name="text">Введіть короткий опис місцевості</textarea></div>');
});

$(".delbut").live('click', function() {
    $(this).parent().remove();
});

desc($('.vilname'),'Введіть назву населеного пункту');
desc($('.vilinput'),'Введіть короткий опис місцевості');
desc($('#commonscat'),'Категорія Вікісховища');

function desc(elem,text) {
    elem.live('focus', text, function(e) {
        if($(this).val() === e.data) {
            $(this).val('');
            $(this).css('color', '#000');
        }
    });

    elem.live('blur', text, function(e) {
        if($(this).val() === '') {
            $(this).val(e.data);
            $(this).css('color', '#ccc');
        }
    });
}

///////////////////////////////////////////////////////////////////

	// General suggestions functionality for all search boxes
	$( '#commonscat' )
		.suggestions( {
			fetch: function( query ) {
				var $this = $(this);
				var request = $.ajax( {
					url: wgScriptPath + '/api.php',
					data: {
						'action': 'opensearch',
						'search': query,
						'namespace': 0,
						'suggest': ''
					},
					dataType: 'json',
					success: function( data ) {
						if ( data && 1 in data ) {
							$this.suggestions( 'suggestions', data[1] );
						}
					}
				});
				$(this).data( 'request', request );
			},
			cancel: function () {
				var request = $(this).data( 'request' );
				// If the delay setting has caused the fetch to have not even happend yet, the request object will
				// have never been set
				if ( request && typeof request.abort == 'function' ) {
					request.abort();
					$(this).removeData( 'request' );
				}
			},
			result: {
				select: function( $input ) {
					$input.closest( 'form' ).submit();
				}
			},
			delay: 120,
			positionFromLeft: $( 'body' ).is( '.rtl' ),
			highlightInput: true
		} )
		.bind( 'paste cut', function( e ) {
			// make sure paste and cut events from the mouse trigger the keypress handler and cause the suggestions to update
			$( this ).trigger( 'keypress' );
		} );