Problém se spouštěním callbacků pro zobrazení spinneru za použití knihovny nette.ajax.js

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
fary
Člen | 155
+
0
-

Ahoj. Rád bych se vás zeptal na radu ohledně zobrazení a schování spinneru za použití knihovny nette.ajax.js.

Mám tento kód (spinner je v elementu img.ajax-spinner):

			<div class="typeahead-search header-search" id="typeahead">
				{form searchForm}
					<input n:name="s" type="search" placeholder="Název interpreta, alba nebo skladby" class="header-search__text typeahead">
					<img class="ajax-spinner" src="{$basePath}/frontend/img/spinner.gif">
					<button n:name="submit" class="header-search__button">
						<span class="icon icon-search" data-grunticon-embed></span>
					</button>
				{/form}
			</div>

pak mám toto css, kde je spinner defaultně schovaný:

.ajax-spinner {
	display: none;
	position: absolute;
	right: 100px;
	bottom: 24px;
}

a pak mám javascript, kde se snažím s tím spinnerem pracovat (důležité callbacky jsou start a complete, ty ostatní jsem tam dal jen pro kontrolu zda se volají):

(function($, undefined) {

$.nette.ext('spinner', {
	init: function () {
		console.log('spinner init');
	},
	load: function () {
		console.log('spinner load');
	},
	before: function () {
		console.log('spinner before');
	},
	start: function () {
		console.log('spinner start');
		$('.ajax-spinner').css('display', 'inline');
	},
	success: function () {
		console.log('spinner success');
	},
	complete: function () {
		console.log('spinner complete');
		$('.ajax-spinner').hide();
	},
	error: function () {
		console.log('spinner error');
	}
});

})(jQuery);

Problém je v tom, že se zavolá calback init a load při načtení stránky, ale pokud něco píšu do inputu v tom formuláři, tak se ty sotatní callbacky nevolají.

Popravdě nevím, jestli to mám vůbec správně. Dal jsem to dohromady na základě toho, co jsem našel na webu.