Limitarea elementelor dintr-un sortable (interface)

8 May 2008

Eu sunt utilizator de jQuery şi mulţi ştiu asta. Dar deoarece atât UI 1.0 cât şi 1.5beta fie nu s-au „mulat” după nevoile mele, fie eram într-un stadiu prea avansat cu Interface pentru a face „upgrade”, am renunţat şi am rămas la vechiul, dar bunul (parcă ar fi vin :D ) Interface (site-ul este momentan down, dar am arhiva :D ).

Eh, şi cum foloseam eu Interface, acum vreo lună-două, m-am lovit de o problemă căreia nu i-am dat prea multă importanţă: cum limitez câte elemente are un sortable? Am stat puţin, am căutat pe goole, fără succes însă şi am lăsat-o baltă, mai ales că proiectul era pus pe hold. În ziua de azi însă, proiectul este în floare, se lucrează în draci şi a trebuit să revin asupra problemei. După câteva ore de căutări pe google şi pe o mulţime de liste de discuţii, timp în care îmi pierdeam speranţa că ar putea fi posibil aşa ceva, îmi vine în cap o idee genială: de ce să nu întreb direct la sursă?

Mi-am luat inima în dinţi şi am vorbit cu Eyecon, i-am expus problema şi în mai puţin de cinci minute mi-a dat rezolvarea:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$('.sort').Sortable({
accept : 'sortItem',
activeclass : 'sortableactive',
	hoverclass : 'sortablehover',
	helperclass : 'sorthelper',
	opacity: 	0.5,
	fit :	false,
	floats:	true,
	onStart: function(){
	console.log($('#big .sortItem').size())
	if ($('#big .sortItem').size() == 3) { //numărul maxim de elemente acceptate
		console.log($('#big').get(0).dropCfg.a)
		$('#big').get(0).dropCfg.a = 'dummyRandom';
	} else {
		$('#big').get(0).dropCfg.a = 'sortItem';
	}
}
});

Şi gata :) Şi demo aici (click!).

Berea se duce direct la Eyecon :D

Un comentariu »

  1. 18 December 2008 Ed a spus:

    E foarte buna idea… dar cum s-ar putea sorta elementele grupate din div-ul big separat de div-ul small ?

Ai ceva de zis? Adaugă un comentariu!

Nu completa urmatorul câmp!

Dacă tot mă înjuri, înjură-mă folosind un nume real Aşa cum eu îmi pot da numele şi datele de contact REALE, în acelaşi fel, din respect pentru restul cititorilor (dacă nu pentru mine), poţi folosi şi tu un nume adevărat. Numele mic este suficient (nu vreau să ştiu numele de familie, adresă, etc).
Este un semn de respect reciproc.
Mulţumesc.

Foloseşte o adresă de email REALĂ Nu vei primi spam şi nu vei fi contactat pe această adresă. Este utilă când te abonezi la comentarii

Scrie site-ul tău Dacă nu ai site (sau dacă pur şi simplu nu vrei să îl dezvălui) lasă gol.
Site-ul NU este o adresă de email.

Poţi folosi câteva taguri HTML: <blockquote> <strong> <a> <em>

Do NOT fill this !