Každá položka je označena pos
(číslo JavaScriptu, takže plovák s dvojitou přesností). Poté jsou vykresleny řazením podle pos
.
Když je přidána nová položka, je to pos
je založeno na tom, kde v seznamu je:
- spodní část seznamu – maximálně
pos
aktuálně v seznamu + vyrovnávací paměť (myslím, že1024
se používá) - začátek seznamu – minimum
pos
aktuálně v seznamu rozděleném dvěma - uprostřed seznamu – průměr
pos
ze dvou sousedních položek
Prostřední možnost by zadal klient; horní/dolní může být buď přiřazeno klientem, nebo předáno serveru jako řetězce "top"
nebo "bottom"
v takovém případě server provede logiku.
Na serveru po přiřazení pos
k nové položce, jak je znázorněno výše, je položka zkontrolována vůči nejbližším sousedům z hlediska sousedství – pokud jsou od sebe menší než minimální vzdálenost (.01
Domnívám se, že se používá), jsou rozprostřeny (potenciálně kaskádovitě zvyšující se pos
). z celého seznamu).
Nemyslím si, že je to ideální způsob, ale Trello to tak dělá.