diff --git a/app/AppInspector/about.html b/app/AppInspector/about.html
index 91b2d13c..8f4349ba 100644
--- a/app/AppInspector/about.html
+++ b/app/AppInspector/about.html
@@ -1,6 +1,7 @@
-
+
+ Original project:
View the project on Sencha Labs -
it was originally developed by Sencha Professional Services
and is 100% open source!
@@ -16,4 +17,5 @@
Bruno Tavares
KAWANO Shinobu
Mitchell Simoens
+ Jorge Blom-Dahl
diff --git a/app/AppInspector/app/controller/Components.js b/app/AppInspector/app/controller/Components.js
index 8aca8d8e..c78c14b5 100644
--- a/app/AppInspector/app/controller/Components.js
+++ b/app/AppInspector/app/controller/Components.js
@@ -34,7 +34,7 @@ Ext.define('AI.controller.Components', {
'ComponentsTreeGrid'
],
- init: function(application) {
+ init: function (application) {
var me = this;
me.control({
@@ -48,7 +48,8 @@ Ext.define('AI.controller.Components', {
'applyfilter': me.onFilterComponentTree
},
'componentstreegrid#ComponentTree': {
- 'itemclick': me.onSelectComponent
+ 'itemclick': me.onSelectComponent,
+ 'itemdblclick': me.onDblClickComponent,
},
// properties
'gridpanel#ComponentProps': {
@@ -68,7 +69,22 @@ Ext.define('AI.controller.Components', {
});
},
- onActivate: function(panel) {
+ onDblClickComponent: function (tree, record, item, index, e, eOpts) {
+ // Objetivo llevar este componente a la consola
+ AI.util.InspectedWindow.eval(
+ AI.util.InspectedWindow.highlight,
+ record.get('cmpId'),
+ Ext.emptyFn
+ );
+
+ AI.util.InspectedWindow.eval(
+ AI.util.InspectedWindow.setComponentAsGlobalVar,
+ record.get('cmpId'),
+ Ext.emptyFn
+ );
+ },
+
+ onActivate: function (panel) {
// load the "Components" upfront ...
var initialLoad = panel.initialLoad,
tree = panel.down('#ComponentTree');
@@ -81,7 +97,7 @@ Ext.define('AI.controller.Components', {
}
},
- onComponentTreeActivate: function(tree) {
+ onComponentTreeActivate: function (tree) {
var nodes = [],
root = tree.getRootNode();
@@ -107,7 +123,7 @@ Ext.define('AI.controller.Components', {
);
},
- onRefreshComponentsClick: function(btn) {
+ onRefreshComponentsClick: function (btn) {
var tree = btn.up('#ComponentTree'),
filter = tree.down('#FilterComponentsTree');
@@ -115,7 +131,7 @@ Ext.define('AI.controller.Components', {
this.onComponentTreeActivate(tree);
},
- onFilterComponentTree: function(field, value) {
+ onFilterComponentTree: function (field, value) {
var tree = field.up('#ComponentTree');
if (value === '') {
@@ -125,7 +141,7 @@ Ext.define('AI.controller.Components', {
}
},
- onSelectComponent: function(tree, record, item, index, e, eOpts) {
+ onSelectComponent: function (tree, record, item, index, e, eOpts) {
var parent = tree.up('components'),
propsGrid = parent.down('#ComponentProps'),
propsGridStore = propsGrid.getStore(),
@@ -141,7 +157,7 @@ Ext.define('AI.controller.Components', {
AI.util.InspectedWindow.eval(
AI.util.Component.getInspectedComponent,
record.get('cmpId'),
- function(result, isException) {
+ function (result, isException) {
if (result) {
propsGridStore.loadData(result.properties);
methodGridStore.loadData(result.methods);
@@ -153,23 +169,23 @@ Ext.define('AI.controller.Components', {
);
},
- toggleComponentsDetailsTips: function(grid) {
+ toggleComponentsDetailsTips: function (grid) {
var tips = grid.up('#ComponentInspector').down('toolbar[dock=bottom]'),
isProps = grid.itemId === 'ComponentProps',
props = tips.query('[tipGroup=props]'),
methods = tips.query('[tipGroup=methods]'),
i;
- for(i = 0; i < props.length; i++) {
+ for (i = 0; i < props.length; i++) {
props[i].setVisible(isProps);
}
- for(i = 0; i < methods.length; i++) {
+ for (i = 0; i < methods.length; i++) {
methods[i].setVisible(!isProps);
}
},
- onFilterComponentDetails: function(field, value) {
+ onFilterComponentDetails: function (field, value) {
var grid = field.up('gridpanel'),
store = grid.getStore();
@@ -185,7 +201,7 @@ Ext.define('AI.controller.Components', {
}
},
- onDetailValueEdit: function() {
+ onDetailValueEdit: function () {
// cancel edit to reset original value
return false;
}
diff --git a/app/AppInspector/app/controller/MVC.js b/app/AppInspector/app/controller/MVC.js
index 2b245eaa..db91bbfd 100644
--- a/app/AppInspector/app/controller/MVC.js
+++ b/app/AppInspector/app/controller/MVC.js
@@ -42,7 +42,9 @@ Ext.define('AI.controller.MVC', {
activate: this.onActivate
},
'mvc treepanel': {
- select: this.onMVCSelect
+ select: this.onMVCSelect,
+ 'itemdblclick' : this.onDblClickComponent
+
},
'mvc_records gridpanel': {
itemclick: this.onRecordGridSelection
@@ -73,6 +75,16 @@ Ext.define('AI.controller.MVC', {
);
},
+
+ onDblClickComponent : function( tree, record, item, index, e, eOpts ) {
+ debugger;
+ AI.util.InspectedWindow.eval(
+ AI.util.InspectedWindow.setComponentAsGlobalVar,
+ record.get('id'),
+ Ext.emptyFn
+ );
+ },
+
onMVCSelect: function(rowmodel, record) {
var type = record.get('type');
diff --git a/app/AppInspector/app/controller/Main.js b/app/AppInspector/app/controller/Main.js
index b5329fcc..22827df2 100644
--- a/app/AppInspector/app/controller/Main.js
+++ b/app/AppInspector/app/controller/Main.js
@@ -73,7 +73,8 @@ Ext.define('AI.controller.Main', {
tabpanel.down('#AppDetails').setSource(source);
tabpanel.child('mvc').setDisabled(!data.isMVC);
- tabpanel.down('#LayoutRuns').setDisabled(app.info.framework === 'touch');
+ //tabpanel.down('#LayoutRuns').setDisabled(app.info.framework === 'touch');
+ //tabpanel.down('#LayoutRuns').setDisabled(true);
main.setLoading(false);
}
diff --git a/app/AppInspector/app/util/InspectedWindow.js b/app/AppInspector/app/util/InspectedWindow.js
index dcd1acba..4e7c916c 100644
--- a/app/AppInspector/app/util/InspectedWindow.js
+++ b/app/AppInspector/app/util/InspectedWindow.js
@@ -62,6 +62,20 @@ Ext.define('AI.util.InspectedWindow', {
}
},
+ setComponentAsGlobalVar : function(cmpId) {
+ var cmp = Ext.getCmp(cmpId);
+ var globalVarName = 'x0';
+ window[globalVarName + ''] = cmp;
+ window.console.log('Component stored in window.' + globalVarName);
+ },
+
+
+ setVariableAsGlobalVar : function(value) {
+ var globalVarName = 'x0';
+ window[globalVarName + ''] = value;
+ window.console.log('Variable ' + value + 'stored in window.' + globalVarName);
+ },
+
/**
* @param {Function} closure
* @param {String/Array} argString
@@ -211,4 +225,6 @@ Ext.define('AI.util.InspectedWindow', {
return data;
}
+
+
});
diff --git a/app/AppInspector/app/util/extjs/MVC.js b/app/AppInspector/app/util/extjs/MVC.js
index b61b80bd..13067140 100644
--- a/app/AppInspector/app/util/extjs/MVC.js
+++ b/app/AppInspector/app/util/extjs/MVC.js
@@ -127,7 +127,12 @@ Ext.define('AI.util.extjs.MVC', {
if (Ext.isString(store)) {
getter = Ext.app.Controller.getGetterName(store, 'Store');
- store = instance[getter]();
+ //FIXME This fails in ExtJs 6
+ try {
+ store = instance[getter]();
+ } catch(e) {
+ store = instance.getStore(store);
+ }
}
stores.push({
diff --git a/app/AppInspector/app/view/ComponentsTreeGrid.js b/app/AppInspector/app/view/ComponentsTreeGrid.js
index e6df3d7c..6d3802dd 100644
--- a/app/AppInspector/app/view/ComponentsTreeGrid.js
+++ b/app/AppInspector/app/view/ComponentsTreeGrid.js
@@ -50,6 +50,10 @@ Ext.define('AI.view.ComponentsTreeGrid', {
iconCls: 'icn-refresh',
text: 'Refresh'
},
+ {
+ xtype: 'label',
+ text: '(Dbl Click to eval)'
+ },
{
xtype: 'tbfill'
},
diff --git a/app/AppInspector/app/view/MainView.js b/app/AppInspector/app/view/MainView.js
index 683debc0..c5ebe5eb 100644
--- a/app/AppInspector/app/view/MainView.js
+++ b/app/AppInspector/app/view/MainView.js
@@ -44,15 +44,18 @@ Ext.define('AI.view.MainView', {
{
xtype: 'about'
},
+ // {
+ // xtype: 'query'
+ // },
{
xtype: 'components'
},
{
xtype: 'stores'
},
- {
- xtype: 'layouts'
- },
+ // {
+ // xtype: 'layouts'
+ // },
{
xtype: 'eventgrid'
},
diff --git a/app/AppInspector/index.html b/app/AppInspector/index.html
index f9d6c5a5..b954741c 100644
--- a/app/AppInspector/index.html
+++ b/app/AppInspector/index.html
@@ -7,8 +7,9 @@
-
-
+
+
+
@@ -16,5 +17,7 @@
+ Loading...
+ Please wait