dojo - dgrid 0.4.0 tree se ve plano antes de que el usuario interactĂșe
dstore (1)
Intenta usar dgrid 0.4.0 para mostrar una estructura de árbol. (sin experiencia previa con las versiones anteriores 0.3.x).
Construí esta muestra con dos carpetas: alice y bob; cada uno tendría algunos archivos (hojas) en él.
La tienda ("astore.js")
define([''dojo/_base/declare'',
''./dstore/Memory'',
''./dstore/Tree''],
function(declare, Memory, Tree) {
var store = new (declare([Memory, Tree], {}))();
store.add({node:''bob'', id:1, parent:null, hasChildren:true});
store.add({node:''alice'', id:2, parent:null, hasChildren:true});
store.add({node:''thesis'', id:3, parent:1, hasChildren:false});
store.add({node:''game'', id:4, parent:1, hasChildren:false});
store.add({node:''picture'', id:5, parent:2, hasChildren:false});
store.add({node:''plan'', id:6, parent:2, hasChildren:false});
store.add({node:''mail'', id:7, parent:2, hasChildren:false});
return store;
});
Y el script de inicio:
require([''dojo/_base/declare'',
''app/dgrid/OnDemandGrid'',
''app/dgrid/Tree'',
''app/astore''],
function (declare, OnDemandGrid, Tree, astore) {
w = new (declare([OnDemandGrid, Tree],{}))({
collection: astore,
columns:[
{field:''node'', label:''Whatever...'', renderExpando:true}
]
}, ''slot'');
w.startup();
});
Los datos siempre se ven planos cuando se muestra el widget:
Después de hacer clic en "bob", esa parte se resuelve:
Luego hago clic en "alice", y todo se ve bien por fin:
Sin embargo, si selecciono una columna, vuelvo a estropear todo, peor que nunca:
He experimentado con el código de muestra del laboratorio y obtengo los mismos resultados. Mis componentes dgrid se descargaron a través de Bower. Este problema está presente en dos computadoras diferentes, con diferentes sistemas operativos y navegadores. Y me estoy quedando sin ideas ...: S Cualquier aportación extremadamente apreciada!
Como Dylan y yo mismo notamos sobre el problema de Github con la misma pregunta, debe pasar una colección a su cuadrícula que solo represente los ítems de nivel superior. Al usar dstore/Tree
, puede llamar a store.getRootCollection()
para este propósito.
Entonces, en lugar de collection: astore
, quieres la collection: astore.getRootCollection()
.