JSFiddle - React, Tailwind, and code Playground

by Nicolas Lips

HTML

DataStore :

Entity avec 3 property : A, B, C
KanbanView avec 100 items

Controller :

On veut avoir une matrice qui indique pour chaque cellule quels sont les items dedans

POUR CELA il faut savoir :

1. par quelles property ligne et colonne on regroupe
2. pour chaque item la valeur de regroupement par ligne et la valeur de regroupement par colonne

PAR AILLEURS, le choix des property de regroupement peut changer !
Dans ce cas là, tout change !

On va donc watcher les property de regroupement : 

 $scope.$watchGroup([
            function () {
                return view.getLineGroupingProperty();
            },
            function () {
                return view.getColumnGroupingProperty();
            }
        ],...)
        
De même, la liste des items peut changer (il peut y avoir un ajout, une suppression ou un changement d'ordre). Là aussi : il faut tout recalculer !

 $scope.$watchCollection(function () {
            return ctrl.view.getItems();
        },...)