Extjs 5 Legenda Do Gráfico Problema
-
21-12-2019 - |
Pergunta
Eu estou tentando adicionar um legend
a minha extjs 5 gráficos e ele não aparecer para trabalhar.Este é um bug ou estou fazendo algo errado?
legend: {
docked: 'top',
style: {
borderColor: 'red',
borderStyle: 'solid'
}
}
Solução
Eu tinha vindo a trabalhar sobre este mesmo assunto por um tempo - e, finalmente, apresentou uma Sencha Relatório de Bug:
http://www.sencha.com/forum/showthread.php?289279-Sencha-5-Charts-Broken-Legend
Longa história curta, não há "supostamente" uma correção na próxima EXTjs de distribuição.Infelizmente, isso não nos ajuda agora...
No entanto, você pode criar uma tpl para a legenda, mas meu tpl não é tão robusto como o nativo extjs lenda.Ainda vai mostrar/ocultar a série, mas não a máscara de série na legenda.Eu ainda estou refinando o TPL e vou postar uma atualização de como eu conseguir um trabalho.
legend: {
docked: 'top',
border: 0,
style: { borderColor: 'red' },
tpl: [
'<tpl for=".">',
'<div class="myLegendItem" style="float:left;margin:5px;padding:0px;cursor:pointer;">',
'<div class="" style="float:left;margin:2px;width:10px;height: 10px; background:{mark};opacity:.6"></div><div style="float:left;">{name}</div>',
'</div>',
'</tpl>'
],
itemSelector: '.myLegendItem'
},
Outras dicas
A máscara de inativos série na legenda, use um operador ternário para verificar os valores.deficiência
<div class="x-legend-container">
<tpl for=".">
<div class="x-legend-item {[ values.disabled ? Ext.baseCSSPrefix + 'legend-inactive' : '' ]}">
<span class="x-legend-item-marker" style="background:{mark};float:left;width:10px;height:10px;"></span>
<span style="float:left;margin-left:4px;">{name}</span>
</div>
</tpl>
</div>
Também, se necessário adicionar uma classe css para
x-legend-inactive{
opacity: 0.5;
}