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.

RSS tématu Téma zavřeno