Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to convert this extjs app.js file into MVC pattern of EXTJS
    primarykey
    data
    text
    <p>js file here i created three tabs inside three tab's again i created some panels in one file. Right now i want to change this file into MVC architecture for EXTJS. So, please tell me. Ext.onReady(function() {</p> <pre><code> //-----------------------------------------------Displaying Data In Grid----------------------------------------------- Ext.create('Ext.data.Store', { storeId: 'simpsonsStore', fields: ['name', 'email', 'phone'], data: { 'items': [{ 'name': 'Lisa', "email": "lisa@simpsons.com", "phone": "555-111-1224" }, { 'name': 'Bart', "email": "bart@simpsons.com", "phone": "555-222-1234" }, { 'name': 'Homer', "email": "home@simpsons.com", "phone": "555-222-1244" }, { 'name': 'Marge', "email": "marge@simpsons.com", "phone": "555-222-1254" },{ 'name': 'Lisa', "email": "lisa@simpsons.com", "phone": "555-111-1224" }, { 'name': 'Bart', "email": "bart@simpsons.com", "phone": "555-222-1234" }, { 'name': 'Homer', "email": "home@simpsons.com", "phone": "555-222-1244" }, { 'name': 'Marge', "email": "marge@simpsons.com", "phone": "555-222-1254" }] }, proxy: { type: 'memory', reader: { type: 'json', root: 'items' } } }); var columndata = Ext.create('Ext.grid.Panel', { title: 'Simpsons', autoScroll: true, store: Ext.data.StoreManager.lookup('simpsonsStore'), columns: [{ text: 'Name', dataIndex: 'name' }, { text: 'Email', dataIndex: 'email', flex: 1 }, { text: 'Phone', dataIndex: 'phone' }], /*height: 200, width: 500,*/ renderTo: Ext.getBody() }); //-----------------------------------------------End Displaying Data--------------------------------------------------- //-------------------------------------------------Displaying series chart in FS Set----------- /* var store = Ext.create('Ext.data.JsonStore', { fields: ['name', 'data1', 'data2', 'data3', 'data4', 'data5'] });*/ var store = Ext.create('Ext.data.Store', { fields: ['name', 'data1', 'data2', 'data3', 'data4', 'data5'], model: 'Chart', proxy: { type: 'ajax', url: 'json/series.json', reader: { type: 'json', root: 'data' } }, autoLoad: true }); var series = Ext.create('Ext.chart.Chart', { //--&gt; if we didn't put this with in comment this chart will be display on backside also for first time loading // renderTo: Ext.getBody(), width: 500, height: 200, animate: true, store: store, axes: [{ type: 'Numeric', position: 'left', fields: ['data1', 'data2'], label: { renderer: Ext.util.Format.numberRenderer('0,0') }, title: 'Sample Values', grid: true, minimum: 0 }, { type: 'Category', position: 'bottom', fields: ['name'], title: 'Sample Metrics' }], series: [{ type: 'line', highlight: { size: 7, radius: 7 }, axis: 'left', xField: 'name', yField: 'data1', markerConfig: { type: 'cross', size: 4, radius: 4, 'stroke-width': 0 } }, { type: 'line', highlight: { size: 7, radius: 7 }, axis: 'left', fill: true, xField: 'name', yField: 'data2', markerConfig: { type: 'circle', size: 4, radius: 4, 'stroke-width': 0 } }] }); //-------------------------------------------------End Series Chart---------------------------- //-------------------------------------------------Yield Cureve-Graph panel-ColumnChart.json Start Here----------------------------------------------- Ext.define('Chart', { extend: 'Ext.data.Model', fields: ['name', 'data'] }); var store = Ext.create('Ext.data.Store', { model: 'Chart', proxy: { type: 'ajax', url: 'json/ColumnChart.json', reader: { type: 'json', root: 'data' } }, autoLoad: true }); var Panel= Ext.create('Ext.chart.Chart', { renderTo: Ext.getBody(), width: 500, height: 230, animate: true, store: store, axes: [{ type: 'Numeric', position: 'left', fields: ['data'], label: { renderer: Ext.util.Format.numberRenderer('0,0') }, title: 'Sample Values', grid: true, minimum: 0 }, { type: 'Category', position: 'bottom', fields: ['name'], title: 'Sample Metrics' }], series: [{ type: 'column', axis: 'left', highlight: true, tips: { trackMouse: true, width: 140, height: 28, renderer: function (storeItem, item) { this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data')); } }, label: { display: 'insideEnd', 'text-anchor': 'middle', field: 'data', renderer: Ext.util.Format.numberRenderer('0'), orientation: 'vertical', color: '#333' }, xField: 'name', yField: 'data' }] }); //-----------------------------------------------Chart End Here------------------------------------------ //-----------------------------------------Pie Chart Start Here--------------------------------------- Ext.define('Chart', { extend: 'Ext.data.Model', fields: ['name', 'data'] }); var store = Ext.create('Ext.data.Store', { model: 'Chart', proxy: { type: 'ajax', url: 'json/PieChart.json', reader: { type: 'json', root: 'data' } }, autoLoad: true }); var piechart = Ext.create('Ext.chart.Chart', { renderTo: Ext.getBody(), width: 300, height: 230, animate: true, //autoScroll: true, store: store, theme: 'Base:gradients', series: [{ type: 'pie', angleField: 'data', showInLegend: true, tips: { trackMouse: true, width: 100, height: 28, renderer: function (storeItem, item) { // calculate and display percentage on hover var total = 0; store.each(function (rec) { total += rec.get('data'); }); this.setTitle(storeItem.get('name') + ': ' + Math.round(storeItem.get('data') / total * 100) + '%'); } }, highlight: { segment: { margin: 10 } }, label: { field: 'name', display: 'rotate', contrast: true, font: '13px Arial Black' } }] }); //-----------------------------------------Pie Chart End Here----------------------------------------- var one = Ext.create('Ext.panel.Panel', { title: 'Yield Curves', url:'&lt;img src="images/sencha.jpg" /&gt;', // icon: 'images//sencha.jpg', layout: 'card', deferredRender: true, title: 'first tab', layout: { type: 'hbox', align: 'stretch', padding: 10 },// configuring tab width tabConfig: { width: 250 }, defaults: { flex: 1 }, items: [{ xtype: 'container', margins: '0 5 0 0', layout: {type: 'vbox', align: 'stretch', animate: true }, defaults: { flex: 1, frame: true }, items: [{ title: 'first', margins: '0 0 5 0' }, { title: 'second', items:[columndata] }] }, { xtype: 'container', layout: { type: 'vbox', align: 'stretch', animate: true }, defaults: { flex: 1, frame: true }, items: [{ title: 'third', items:[Panel], margins: '0 0 5 0' }, { title: 'fourth', items:[piechart] }] }] });var two = Ext.create('Ext.panel.Panel', { title: 'FX Set', layout: { type: 'hbox', align: 'stretch', padding: 10 }, tabConfig: { width: 250 }, defaults: { flex: 1 }, items: [{ xtype: 'container', margins: '0 5 0 0', layout: {type: 'vbox', align: 'stretch', animate: true }, defaults: { flex: 1, frame: true }, items: [{ title: 'first', margins: '0 0 5 0' }, { title: 'second', items:[series] }] }] }); var three = Ext.create('Ext.panel.Panel', { title: 'Market Data', layout: { type: 'hbox', align: 'stretch', padding: 10 }, tabConfig: { width: 250 }, defaults: { flex: 1 }, items: [{ xtype: 'container', margins: '0 5 0 0', layout: {type: 'vbox', align: 'stretch', animate: true }, defaults: { flex: 1, frame: true }, items: [{ title: 'first', margins: '0 0 5 0', width:1000 }, { title: 'second' }] }, { xtype: 'container', layout: { type: 'vbox', align: 'stretch', margins: '0 0 5 0', animate: true }, defaults: { flex: 1, frame: true }, items: [{ title:'third', margins: '0 0 5 0' }/*, { title: 'Purchase History' }*/] }] }); var contentPanel = Ext.create('Ext.tab.Panel', { region: 'center', margins: '0 5 5 0', activeTab: 0, collapsible: false, autoScroll: true, items: [one, two,three] }); Ext.create('Ext.container.Viewport', { layout: 'border', items: [{ region: 'north', margins: 5, height: 20, xtype: 'container', //html: 'Logo Here'--&gt; Only for text // for inserting image this code html:'&lt;marquee&gt;'+'&lt;blink&gt;'+'Market Data Viewer'+'&lt;/blink&gt;'+'&lt;/marquee&gt;'+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+ "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"+new Date() }, { xtype:'datefield', //label:'Date', format : 'm/d/Y h:i:s A' //value: new Date() },/*mainMenu,*/ contentPanel] }); }); </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload