сенсорный sencha и диаграммы
кто-нибудь смог включить диаграммы и графики в Sencha Touch?
Если это так, пример будет оценен.
спасибо
7 ответов
http://raphaeljs.com/) в конечном итоге будет включен в Sencha Touch для его графического компонента (http://g.raphaeljs.com/). До тех пор, вы можете довольно легко просто включить дополнительный Рафаэль .JS файлы и сделать графики таким образом. Что-то вроде:
<script src="sencha-touch-1.0/sencha-touch-debug.js" type="text/javascript" charset="utf-8"></script>
<!-- Raphael JS -->
<script src="raphael/raphael-min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael/g.raphael-min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael/g.pie-min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael/g.line-min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael/g.bar-min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
Ext.setup({
onReady: function()
{
// Set up main panel!
var tabPanel = new Ext.Panel
({
fullscreen: true,
html: '<div id="graph"></div>'
});
// Try to draw a graph!
var r = Raphael('graph');
r.g.txtattr.font = '12px Helvetica, Arial, sans-serif';
r.g.text(150, 250, "Demo chart with title");
r.g.linechart(10, 10, 300, 220, [[1, 2, 3, 4, 5, 6, 7],[3.5, 4.5, 5.5, 6.5, 7, 8]], [[12, 32, 23, 15, 17, 27, 22], [10, 20, 30, 25, 15, 28]], {nostroke: false, axis: "0 0 1 1", symbol: "o", smooth: true});
}
});
</script>
посмотри http://code.google.com/p/oppo-touching/. Кто-то уже переехал графиков в Snecha ощупь. Также есть новости, что следующая версия Sencha Touch будет включать в себя графики.
теперь у них есть несколько примеров. они должны помочь http://dev.sencha.com/deploy/touch-charts-beta/examples/
вот код для примера диаграммы в Sencha Touch
var SampleLineChart = new Ext.chart.Chart({
fullscreen : true,
iconCls: 'line',
cls: 'chartpanel',
theme: 'Energy',
interactions: [ 'reset',
{
type: 'panzoom',
axes: {
right: {}
}
},
{
type: 'iteminfo',
gesture: 'tap',
listeners: {
show: function(interaction, item, panel) {
// Ext.dispatch({
// controller : 'Users',
// action : 'popupInfoAbtChart',
// data : {item:item, panel:panel}
// });
}
}
}],
animate: false,
store: EnergyApp.stores.ChartStore, //choose for consumption
axes: [{
type: 'Numeric',
position: 'right',
minimum: 0,
majorTickSteps : 10,
minorTickSteps : 5,
fields: ['generatedpv', 'buildcons','excessPV'],
title: 'Y-axis title'
},
{
type: 'Category',
position: 'bottom',
fields: ['day'],
title: 'X-axis title',
label: {
rotate: {
degrees: 45
}
}
}],
legend: {
position: Ext.is.Phone ? 'left' : 'top'
},
series: [{
type: 'line',
highlight: false,
showMarkers: true,
fill: false,
smooth: true,
axis: 'right',
xField: 'day',
yField: 'generatedpv',
title: 'Field 1
},
{
type: 'line',
highlight: false,
showMarkers: true,
fill: false,
smooth: true,
axis: 'right',
xField: 'day',
yField: 'buildcons',
title: 'Field 2
}],
listeners: {
afterrender: function(me) {
me.on('beforerefresh', function() {
if (me.ownerCt.getActiveItem().id !== me.id) {
return false;
}
}, me);
}
}
});
для получения дополнительных примеров кода взгляните на пример EnergyApp в папке примера Sencha-Touch-Charts. Ее изображали довольно хорошо
вот ссылка на форум Sencha с некоторыми примерами того, как включить диаграмму в существующее приложение Sencha Touch 2.0:
пакет с api диаграммы для Sencha существует ( http://dev.sencha.com/deploy/touch-charts-beta/examples/) но кажется очень трудным интегрировать в решение касания сенча (зависимость файлов, функция не определенная в некоторой версии пакета касания сенча).
решение, которое я нашел, - установить пробную версию Sencha Architect, которая уже включает api graph, создать мобильный проект (touch project) и упаковать его. Тогда у меня есть целый пакет с правильными зависимостями, и я могу использовать его без зависимости от архитектора Sencha.