各アイテムにはposが与えられます (JavaScript番号なので、倍精度浮動小数点)。次に、posで並べ替えてレンダリングします。 。
新しいアイテムが追加されると、それはposになります リストのどこにあるかに基づいています:
- リストの一番下-最大
pos現在リストにあります+バッファ(1024だと思います 使用されます) - リストの一番上-最小の
pos現在、2で割ったリストにあります - リストの中央-
posの平均 隣接する2つのアイテムの
真ん中のオプションはクライアントによって割り当てられます。上/下は、クライアントによって割り当てられるか、文字列"top"としてサーバーに渡されます。 または"bottom" その場合、サーバーがロジックを実行します。
サーバー上で、posを割り当てた後 上記のように新しいアイテムに対して、アイテムは隣接関係について最近傍に対してチェックされます-それらが最小距離(.01)未満である場合 使用されていると思います)、それらは分散しています(posの増加にカスケードする可能性があります リスト全体の)。
これが理想的な方法ではないと思いますが、Trelloのやり方です。