PDA

View Full Version : Ext JS 4.1 Beta 3 is Now Available



Edmund
22 Feb 2012, 2:51 PM
You can download Ext JS 4.1 Beta 3 here (http://cdn.sencha.io/ext-4.1.0-beta-3.zip).

Please refer to the release note in the zip (a shortened version is also attached here) for the list of known issues and bug fixes include in this beta.

MrSparks
23 Feb 2012, 12:53 AM
Congrats on getting another Beta out guys. Keep up the good work :)

dongryphon
23 Feb 2012, 12:59 AM
Below is the "Bugs Fixed" excerpt from the Beta 3 release notes, reformatted for the forum.

Enjoy!

Animation

EXTJSIV-5358: Data view : Multisort Data View - Unpleasant flickering effect while sorting the items by click upon "Name" or "Type" buttons

Button

EXTJSIV-5294: Disabled Link Button Renders Incorrectly
EXTJSIV-5295: Link Buttons Without Text Render Incorrectly

Charts

EXTJSIV-5143: Axis isn't rendered when data points are undefined
EXTJSIV-5290: [4.1 beta 2] BUG Chart restoreZoom() function fails

Core

EXTJSIV-5244: Ext.layout.container.Container configureItem function needs fixed.

Data

EXTJSIV-4568: ComboBox clears filters on store when queryMode = 'local'

Documentation

EXTJSIV-5207: remove release notes link from doc index.html
EXTJSIV-5209: broken link in our main index.html "Learn more on sencha.com"

Examples

EXTJSIV-1635: The mask does not disappear completely in SpotLight example IE Quirks only
EXTJSIV-5192: Combination Examples, Kitchen sink displaying JS error upon clicking on "Grouped Grid" for the second time

Forms

EXTJSIV-4831: Text fields with natural width are sometimes too narrow.
EXTJSIV-5286: Forms: Checkbox /Radio Groups: Validation icon is wrongly displayed at "Alignment Test:" field when clicked on "Save" button

Grid

EXTJSIV-3632: Grid performance in IE with large number of columns
EXTJSIV-4828: Editing cell, the edit mask or the drop down shows up hidden and wrongly located
EXTJSIV-5184: Buffered Store's attempts to load prefetch buffer even if initial priming returned the full dataset.
EXTJSIV-5222: Grid items shift left in IE
EXTJSIV-5345: Grids (All Grids): Tool tip is displayed on top of the grid for the first time while swapping the columns
EXTJSIV-5346: Grids: Remote Summary Grid Example displaying JS error click upon "Due Date" Column header for the first time

Layouts

EXTJSIV-4483: Invalidating a layout must restore original size models for children
EXTJSIV-5198: Nested auto-sized containers do not resize properly 4.1 Beta 1
EXTJSIV-5265: Margin and Padding Settings with Shrink Wrapping
EXTJSIV-5329: Direct - Direct Form: "Direct form's" UI is disturbed, by default "Phone Numbers" and "Location Information" tab sections are not properly displaying

Menu

EXTJSIV-4867: Ext.menu.Menu -> inside a container

Misc

EXTJSIV-4902: Text fields sometimes appear too narrow.
EXTJSIV-5115: Grid doesn't update cells with renderers
EXTJSIV-5128: Sandbox Desktop throws js error on load
EXTJSIV-5139: 4.1 Ext.Element.fly is undefined
EXTJSIV-5160: Combination Examples : Ext JS Calendar : Displaying js error while clicking on date on the left panel calendar when the "Add Event" screen is open on the right panel.
EXTJSIV-5161: Combination Examples : Ext JS Calendar : Add/Edit Event pop up box is not displaying properly up on click on any event matrix.
EXTJSIV-5164: Bug in commitRecords of Ext.data.Operation
EXTJSIV-5168: Form not responding to dirtychange events
EXTJSIV-5170: Unexpected layout on hide then show of auto layout
EXTJSIV-5172: Ext.button.Button - publishInnerHeight issue
EXTJSIV-5183: textfield width is not correct in 4.1.0 beta 1
EXTJSIV-5196: readOnlyCls do not work for any field
EXTJSIV-5197: Ext.getBody().dom is undefined after a viewport is destroyed
EXTJSIV-5200: Possible bug: Show tooltip at given position
EXTJSIV-5201: Encoding issue on textfiel
EXTJSIV-5211: Collapsing panel in vbox layout form doesn't fully collapse
EXTJSIV-5216: c is not a constructor message at the very first example
EXTJSIV-5225: 4.1Beta2: getting the ProgressBar text is wrong the 1st time
EXTJSIV-5227: Performing operations on background window brings that window to front
EXTJSIV-5229: Inconsistent line endings
EXTJSIV-5241: Minor bug in Direct Proxy 4.1 Beta 2 w/fix
EXTJSIV-5252: "Show in Groups" checkbox is checked when the grid is not grouped
EXTJSIV-5255: IE JS error (Regression) in getXY
EXTJSIV-5256: grid autoHeight
EXTJSIV-5260: Ext.slider.Multi/Single increments don't stop at arbitrary points
EXTJSIV-5262: Ext.MessageBox.confirm close button not firing callback
EXTJSIV-5267: Cannot create hidden & disabled filefield
EXTJSIV-5275: Opacity not passed on to Ext.Layer shadow
EXTJSIV-5276: Ext.view.Table.collectData with rowexpander
EXTJSIV-5293: Unable to mix flex/width configs for grid columns in Firefox
EXTJSIV-5296: Infinite scrolling grid makes server call when bottom is reached
EXTJSIV-5297: PagingScrollbar doesn't ignore horizontal scrolling
EXTJSIV-5300: TextArea with grow sizes incorrectly based on the value of the TextArea
EXTJSIV-5328: Displaying JS error while accessing couple of ExtJs examples.
EXTJSIV-5333: Global varibable leak
EXTJSIV-5338: Load mask cannot be removed when animateTarget is set
EXTJSIV-5340: Ext.XTemplate no longer handles nested {parent} references
EXTJSIV-5388: Ext.FocusManager.enable() causes error in nightly builds from 2/14 and 2/15
EXTJSIV-5393: ComboBox needs 2 clicks to trigger

Panel

EXTJSIV-5264: Issues with collapsing and expanding panels - similar issue found in Ext JS border layout example
EXTJSIV-5330: Accordion & Border Layout Collapsed Size

Performance

EXTJSIV-5221: Frame Info Caching

Tabs

EXTJSIV-5304: Styling of Disabled Tabs

ToolTips

EXTJSIV-5210: QuickTips with fixed width "lock" to that width

Window

EXTJSIV-5122: Window header heights are sometimes incorrect

westy
23 Feb 2012, 3:43 AM
Excellent, will have a go with this one.

Is there a new SDK available, since that was the first failure I got when I tried with beta 1?

Cheers,
Westy

Edit: Can't see one, still 1.2.3 for Windows, but a 2.0.0 version for OSX (like the last time I looked). Any chance of you doing a build for Windows please?

stan.cristian88
23 Feb 2012, 4:10 AM
Just tested our ExtJS application (written in 4.0.7) with ExtJS 4.1 b3, and nothing is working because 'render' and 'afterrender' events are not fired anymore (there is a lot of initialization code for many components run when the component is rendered). So is this a known issue or a bug? Any suggestions where this initialization code should be run if not of 'render' / 'afterrender'? We need the components to be initialized (for example to add or remove nodes for trees, and so on).

stan.cristian88
23 Feb 2012, 4:17 AM
Sorry for another post, but it seems edit a comment doesn't work (when I try to save the edit, I am not logged in anymore - tried with Opera and Firefox).

Just wanted to say that those 'render' and 'afterrender' events were fired in ExtJS b2, so it's an issue with this build.

TiloS
23 Feb 2012, 4:45 AM
At me too. Nothing works anymore because of the 'afterrender' events.
And it seems like setTimeout function don't work correctly.

westy
23 Feb 2012, 5:23 AM
Any suggestions where this initialization code should be run if not of 'render' / 'afterrender'?

Why not initComponent, after the call to callParent?

Doesn't sound good though, if afterrender never gets fired.

mitchellsimoens
23 Feb 2012, 8:01 AM
Excellent, will have a go with this one.

Is there a new SDK available, since that was the first failure I got when I tried with beta 1?

Cheers,
Westy

Edit: Can't see one, still 1.2.3 for Windows, but a 2.0.0 version for OSX (like the last time I looked). Any chance of you doing a build for Windows please?

Are you meaning SDK Tools? Yesterday we blogged about the ST2 RC release and in that blog we announced SDK Tools 2 was now available for Windows: http://www.sencha.com/blog/sencha-touch-2-rc-native-packaging/

This page, http://www.sencha.com/products/sdk-tools/ does need to be updated to reflect this and will pass it on to our web design team to update.

westy
23 Feb 2012, 8:39 AM
Thanks Mitchell, and no, I don't read the Touch blog posts since do not target phones or tablets, and am unlikely to in the near future.

Initial impressions with beta 3 are as bad as beta 1 I'm afraid, if not worse; it's a complete mess.

Load masks breaking when show called (to, for example, mask a panel on a button press).
Launched modal window only works once, then if try and launch again just get the load mask; have to refresh browser.
Focus getting stolen from controls when the 'this field is required' tooltip is displayed.
Generally the exceptions are flying, and I'm just working through them to see if can get the product functioning, let alone working well...
Currently looking at an issue with TaskRunner passing the wrong args to a method...

What is going on over there?! I was under the impression that quality was meant to be improving not going backwards.
Is everyone too busy, again, on Touch and Designer to get the core framework stable and polished?

Will keep fighting it, but I simply cannot push anything referencing 4.1 to our repos, since it cannot be demoed to clients.

We're that close to shipping to a client for their UAT that I'm inclined to freeze on 4.0.7 for now, but going by this probably until our next product...

mik3e
23 Feb 2012, 8:55 AM
Same problem as stan.christian and tilos:
* afterrender event isn´t fired on grid

Switched back to 4.1b2 now...

mitchellsimoens
23 Feb 2012, 8:59 AM
Same problem as stan.christian and tilos:
* afterrender event isn´t fired on grid

I just checked in Chrome and that event fired for me.

mik3e
23 Feb 2012, 9:03 AM
Then it seems to be a bug in FF (at least):
I´m using FF 10.0.2 on W7

westy
23 Feb 2012, 9:04 AM
SDK Tools 2.0.0 beta error then hang (http://www.sencha.com/forum/showthread.php?182096-quot-sencha-slice-theme-quot-throwing-undefined-errors-and-halting-on-4.1&p=740762&viewfull=1#post740762) just like 1.2.3 :(

slemmon
23 Feb 2012, 9:28 AM
Regarding the afterrender and render events see if this thread describes the trouble you're seeing in B3. If not there may be other issues to yet uncover.

http://www.sencha.com/forum/showthread.php?182893-B3-Component-render-afterrender-beforerender-handlers-in-controller.Control

westy
23 Feb 2012, 10:03 AM
More on my loadmask issues... since can't even mask the application when logging out at the moment!

Errors occur in AbstractComponent.up.

this: An Ext.LoadMask
selector: "[floating]"
this.getBubbleTarget gives an Ext.dom.Element, and an attempt is then made to call getBubbleTarget in a for loop, a method which it does not appear to have... kaboom!

Edit: Raised a bug for this now, see here (http://www.sencha.com/forum/showthread.php?183015-4.1-b3-LoadMask-s-broken).

Dev.init
24 Feb 2012, 3:16 AM
I have a problem with the init variables in the beta 3

MyStart.php


<script type="text/javascript">
var param = new Object;
param.var1="bla";
Ext.onReady(MyApp.init, MyApp, param);
</script>



init: function (param) {
alert(param.single);
alert(param.var1);
alert(param);



Result (Beta 2)


param.single returns true
param.var1 returns "bla"
param returns [object Object]


Result (Beta 3)


param.single returns undefined
param.var1 returns undefined
param returns 31 (random number)


What is the reason for that?

nbourdeau
24 Feb 2012, 8:04 AM
The Beta3 seems to make a step behind compared to B2 ... The portal demo does not work! Nothing is rendered. Our dashboard is based on this demo and so is broken ...
We also have a lot of errors in our application which is working "correctly" with B2 ...

I think you should go toward stability and stop refactoring all the stuff for performance in each beta !!

EDIT: the portal demo works in "standalone" mode but not embeded in the docs app. Same problem with our app ...

tvanzoelen
24 Feb 2012, 8:13 AM
Also considering falling back on the Beta[2].

The internal release I did with the Beta2 is going well so far.

plleeuwm
24 Feb 2012, 9:24 AM
I have a problem with the init variables in the beta 3

MyStart.php


<script type="text/javascript">
var param = new Object;
param.var1="bla";
Ext.onReady(MyApp.init, MyApp, param);
</script>



init: function (param) {
alert(param.single);
alert(param.var1);
alert(param);



Result (Beta 2)


param.single returns true
param.var1 returns "bla"
param returns [object Object]


Result (Beta 3)


param.single returns undefined
param.var1 returns undefined
param returns 31 (random number)


What is the reason for that?

I did a quick drop of the beta 3 in my application just to test it out and it looked like Ext.onReady didn't work maybe your problem is related to that. It may be my code that is breaking it but I doubt it because I don't have any significant overrides (currently running on 4.0.2a).

skirtle
24 Feb 2012, 10:10 AM
@Dev.init. I don't think the onReady change is intentional. It only happens for me in Firefox. I'd guess that onReady is using setTimeout internally and the FF implementation passes a 'random number' to the callback:

https://developer.mozilla.org/en/DOM/window.setTimeout

Obviously the framework needs to handle this correctly but it should be pretty easy to work around for now.

mitchellsimoens
24 Feb 2012, 10:32 AM
@all if you have a specific bug and a test case, you can post into the bugs forums and we will get it reported.

McQuack_82
24 Feb 2012, 6:02 PM
I have can't seem to get the layout working with split enabled on form panels


Ext.define('App.desktop.module.OrderModule', { extend: 'App.desktop.Module',
id: 'order-module',
/*
requires: [
'L3OM.lib.component.container.OrderViewTabPanel',
'L3OM.view.OrderView'
],
*/
init: function () {
var me = this;
me.launcher = {
text: 'Orders',
iconCls: 'x-button-menu-item-icon icon-bogus',
handler: me.showWindow,
scope: me
};
},


createWindow: function () {
var me = this,
orderSearchPanel = me.createOrderSearchPanel(),
orderDetailPanel = me.createOrderDetailPanel(),
desktop = me.app.getDesktop(),
win = desktop.getWindow('order-window');


if (!win) {
win = desktop.createWindow({
itemId: 'order-window',
//desktop.getWindow only works with id. Get rid of this if possible.
iconCls: 'x-icon icon-bogus',
id: 'order-window',
title: 'Orders',
width: 600,
height: 600,
maximized: true,
closeAction: 'hide',
resizable: 'false',
constrain: true,
layout: {
type: 'card',
deferredRender: true
},
activeItem: 0,
items: [orderSearchPanel, orderDetailPanel],
dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [
{
text: 'Order Search',
scope: this,
iconCls: 'x-icon icon-magnifier',
handler: function (btn, e) {
var win = btn.up('window');
win.getLayout().setActiveItem('orderSearchContainer');
}
},
'-',
{
text: 'Order Detail',
iconCls: 'x-icon icon-application_view_detail',
scope: this,
handler: function (btn, e) {
var win = btn.up('window');
win.getLayout().setActiveItem('orderDetailContainer');
}
}
]
}]
});
}
win.show();
return win;
},


initWindow: function () {
//Layout must be established before window will maximize correctly
var me = this,
win = me.createWindow(),
controller = myApp.getController('OrderDetailController'),
orderKey = controller.buildOrderKey();


if (orderKey) {
//Check to see if params exist in URL when linking from BPM Portal or OMC.
controller.getOrderDetail(orderKey);
win.maximize();
} else {
if (orderKey === null) {
win.minimize();
return;
} else {
win.maximize();
}
}
},


showWindow: function () {
var me = this,
desktop = me.app.getDesktop(),
win = desktop.getWindow('order-window');
if (!win) {
me.createWindow(desktop);
}
else {
win.show();
}
},


createOrderDetailPanel: function () {
return Ext.create('Ext.container.Container', {
itemId: 'orderDetailContainer',
layout: 'fit',
items: [Ext.create('Ext.tab.Panel', { plain: true, itemId: 'orderDetailTabPanel' })]
});
},


createOrderSearchPanel: function () {
var me = this,
criteriaPanel = me.createSearchCriteriaPanel(),
resultsPanel = me.createResultsTabPanel();


return Ext.create('Ext.container.Container', {
itemId: 'orderSearchContainer',
layout: 'border',
items: [criteriaPanel, resultsPanel]
});
},


createSearchCriteriaPanel: function () {
var criteriaPanel = Ext.create('Ext.form.FormPanel', {
title: 'Order Search',
itemId: 'orderSearchFormPanel',
region: 'west',
width: 200,
minWidth: 180,
split: true, //Comment out to get working in ext 4.1 beta 3
bodyPadding: 10,
collapsible: true,
layout: 'column',
autoScroll: true,
defaults: {
columnWidth: 1.0,
labelAlign: 'top',
margin: '0 0 10 0',
formItemCls: 'x-field-default-override',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
var searchBtn = criteriaPanel.down('#topOrderSearchBtn');
searchBtn.fireEvent('click', searchBtn);
}
}
}
},
defaultType: 'textfield',
saveSearch: function (name) {
var me = this,
params = me.getValues();
criteriaPanel.fireEvent('saveSearch', params, savedSearchesStore);
criteriaPanel.resetForm();
},
resetForm: function () {
var me = this;
me.up('panel').down('#saveSearches').clearValue();
me.up('panel').down('#SaveSearchName').reset();
},
deleteSearch: function (name) {
criteriaPanel.fireEvent('deleteSearch', name, savedSearchesStore);
criteriaPanel.resetForm();


},
dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [
{
text: 'Reset',
scope: this,
handler: function (o, e) {
Ext.Array.forEach(criteriaPanel.items.items, function (item) {
if (item.isFormField) {
item.reset();
}
});
criteriaPanel.resetForm();
}
},
'->',
{
text: 'Search',
scope: this,
itemId: 'topOrderSearchBtn'
}
]
}],
items: [
{
fieldLabel: 'Global Search',
name: 'global',
itemId: 'Global',
helpText: 'This Global Search will return all orders partially matching on:<ol><li> - Service ID/PIID</li><li> - Customer Order Number</li><li> - Service Order ID</li><li> - Customer Number</li><li> - Product Family Name</li><li> - Product Name</li><li> - Project ID</li><li> - Order Action Type</li><li> - Order Type</li><li> - Order Status</li><li> - Order MACD Indicator</li><li> - Source System Name</li></ol>'
},
{
fieldLabel: 'Id',
name: 'compositeOrderId',
itemId: 'Id',
helpText: 'This ID search will return all orders partially matching on:<ul><li> - Service ID</li><li> - PIID</li><li> - Service Order ID</li><li> - Customer Order Number</li><li> - Project ID</li></ul>'
},
{
fieldLabel: 'Customer',
name: 'compositeCustomerInfo',
itemId: 'Customer',
helpText: 'This Customer Search will return all orders partially matching on:<ul><li> - Customer Name</li><li> - Account Number/Bus Org ID</li></ul>'
},
{
fieldLabel: 'Order Action/Type',
name: 'compositeOrderState',
itemId: 'OrderActionAndType',
xtype: 'boxselect',
multiSelect: true,
selectOnFocus: false,
editable: false,
queryMode: 'local',
emptyText: 'Select...',
store: ['Add', 'Cancel', 'Change', 'Disconnect', 'Install', 'New', 'Supp-Revise', 'Supp-Modify'],
helpText: 'This Order Action/Type search will return all orders containing the value(s) selected.'
},
{
fieldLabel: 'Order Status',
name: 'orderStatus',
itemId: 'Order Status',
xtype: 'boxselect',
multiSelect: true,
selectOnFocus: false,
editable: false,
queryMode: 'local',
emptyText: 'Select...',
store: ['Accepted', 'Cancelled', 'Complete', 'Customer Accepted', 'Disconnected', 'Installed', 'Provision Complete', 'Rejected', 'Supplemented', 'Supplementing', 'Submitted'],
helpText: 'This Order Status search will return all orders containing the value(s) selected.'
},
{
fieldLabel: 'Source System',
name: 'sourceSystemCode',
itemId: 'SourceSystem',
xtype: 'boxselect',
multiSelect: true,
selectOnFocus: false,
editable: false,
queryMode: 'local',
emptyText: 'Select...',
store: ['Pipeline', 'Siebel'],
helpText: 'This Source System search will return all orders containing the value(s) selected.'
},
{
text: 'Search',
xtype: 'button',
itemId: 'bottomOrderSearchBtn',
margin: '10 0 20 0'
},
{
xtype: 'panel',
title: 'Saved Searches',
itemId: 'savedSearchFormPanel',
bodyPadding: 10,
collapsible: true,
layout: 'column',
defaults: {
columnWidth: 1.0,
labelAlign: 'top',
margin: '0 0 5 0',
formItemCls: 'x-field-default-override'


},
defaultType: 'textfield',
items: [
{
fieldLabel: 'Name',
name: 'saveSearchName',
itemId: 'SaveSearchName',
maxLength: 50,
enforceMaxLength: true


},
{
text: 'Save',
xtype: 'button',
margin: '2 0 0 0',
handler: function () {
var me = this,
nameValue = me.up('panel').down('#SaveSearchName').getValue();


criteriaPanel.saveSearch(nameValue);
}
},
{
fieldLabel: 'Save Searches',
name: 'saveSearches',
itemId: 'saveSearches',
xtype: 'combo',
emptyText: 'Load a Saved Search...',
displayField: 'saveSearchName',
valueField: 'saveSearchName',
multiSelect: false,
queryMode: 'local',
hiddenName: 'saveSearchName',
editable: false,
disableKeyFilter: true,
saveSearchCurrentState: undefined,
triggerAction: 'all',
margin: '10 0 0 0',
listeners: {
select: function (combo, record, index) {
criteriaPanel.getForm().setValues(record[0].data);
var searchBtn = criteriaPanel.down('#topOrderSearchBtn');
searchBtn.fireEvent('click', searchBtn);


},
beforerender: function () {
this.saveSearchCurrentState = Ext.state.Manager.get('savedSearch');
if (Ext.isEmpty(this.saveSearchCurrentState)) {
this.saveSearchCurrentState = [];
}
},
afterrender: function () {
savedSearchesStore.loadData(this.saveSearchCurrentState);
savedSearchesStore.sort('saveSearchName', 'ASC');
}
},
store: savedSearchesStore
},
{
text: 'Delete',
xtype: 'button',
margin: '2 0 0 0',
handler: function () {
var me = this,
nameValue = me.up('panel').down('#SaveSearchName').getValue();


criteriaPanel.deleteSearch(nameValue);
}
}
]
}
]
});


return criteriaPanel;
},


createResultsTabPanel: function () {
var me = this,
searchResultsTab = me.buildSearchResultsTab();


return Ext.create('Ext.tab.Panel', {
itemId: 'orderSearchTabPanel',
region: 'center',
layout: 'card',
activeTab: 0,
plain: true,
items: [searchResultsTab]
});
},


buildSearchResultsTab: function () {
var me = this,
resultsGrid = me.buildResultsGrid();


return {
title: 'Order Search Results',
itemId: 'orderSearchResultTab',
layout: 'fit',
items: [resultsGrid]
};
},


buildResultsGrid: function () {
return Ext.create('L3OM.view.OrderSearchResultsGrid', {});
}
});

criteriaPanel which is form panel when enabling the I get the following error in
Uncaught Ext.Error: container-1084<border> cannot set height
which is travelling up to the parent container that the border is applied to itemId: 'orderSearchContainer' it appear to be triggered by some layout or invalid property in the form, I commented out the insertion of that panel and it renders fine without the form panel. I further traced it to specifically the split property when I comment just that property it renders fine in 4.1 beta 3. But I would like left west panel re sizable has there been any changes in 4.1 beta 3 in how re-sizable border layout panels are defined.

McQuack_82
24 Feb 2012, 10:28 PM
Split being deprecate should be updated in the docs.

mysticav
25 Feb 2012, 11:11 PM
Sad to hear people are having a lot of problems with B3.

I guess many developers are asking the same question: "What's going on with ExtJS development team?"

In my case, I haven't found any critical problem with B3, but that's just my case. I'm using the MVC arch.

By the way, what happened to Jack Slocum ? I still Remember when he was the Senior Developer and even answer questions in this Forum. Good old days...

dongryphon
26 Feb 2012, 2:26 PM
Split being deprecate should be updated in the docs.

The split config is not deprecated. Where did you see that it was? That may be a bug in the docs if so.

Thanks!

lsdriscoll
27 Feb 2012, 1:10 AM
Hi Westy, I have also had the tooltip focus issue since beta 1, but I've got a fix if you (or anyone else) would like it.

This fix should help with components of the classes 'Ext.tip.QuickTip', 'Ext.menu.Menu' & 'Ext.dd.StatusProxy', which all have focus related issues.

This fix is for EXT JS 4.1 beta 2 & has not been thoroughly tested in beta 3 yet.

Also, apologies in advance if this code doesn't work for you - it's only been tested on a single system & I'm fully aware that this is a patch as opposed to a full-blown solution.

32160

P.S. What's the weather like in Bath? I'm up there visiting the girlfriend in a few days.

mysticav
28 Feb 2012, 9:34 AM
afterrender not fired. Tested on grids and forms.

It worked well in Beta 2

slemmon
28 Feb 2012, 9:43 AM
@mysticav
check out this thread:
http://www.sencha.com/forum/showthread.php?182893-4.1.0B3-Component-render-afterrender-beforerender-handlers-in-controller.Control

L (http://www.sencha.com/forum/showthread.php?182893-4.1.0B3-Component-render-afterrender-beforerender-handlers-in-controller.Control)ooks like it might be fixed now for the next release.

DiscoBoy
28 Feb 2012, 10:54 AM
It seems that "config" sections in a controller still do not work as they did in ExtJS 4.0
See http://www.sencha.com/forum/showthread.php?176713-Ext-JS-4.1-Beta-2-is-Now-Available&p=729904&viewfull=1#post729904

Having a bunch of other problems with the betas...but would like to have clarifications on this! According to ExtJS 4.0.7 controllers support an "initConfig" method

basememara
28 Feb 2012, 7:46 PM
I have it running on a production site and I noticed bug fixes in IE8 and everything is generally faster too! Great work!!

I am even using the Neptune theme and it looks great. Works well with metro themes by the way :D Check it out: http://www.techdays.se/talare

dougi
29 Feb 2012, 6:40 AM
Hi,
when i compile my sass file, severals warning appeared specifying that many images files can't be find. Among them:
+ ../themes/images/default/panel-header/panel-header-default-collapsed-top-sides.gif
+ ../themes/images/default/panel-header/panel-header-default-collapsed-right-bg.gif
+ ../themes/images/default/panel-header/panel-header-default-collapsed-right-corners.gif
+ ../themes/images/default/panel-header/panel-header-default-collapsed-right-sides.gif
+ ../themes/images/default/panel-header/panel-header-default-collapsed-bottom-bg.gif
...

I can't find them anywhere so where are they ?
Thanks for your help.

ValterBorges
29 Feb 2012, 10:26 AM
I was having the same issues mentioned with nothing rendering from 4.0.7 to b1 and fixed by using

initComponent: function () {
Ext.apply(this, this.initialConfig,
{
The config
}

this.callParent(arguments);

}

and putting all the initialization code inside.

ValterBorges
29 Feb 2012, 10:31 AM
I have radiogroups that worked in every version of 4.0 thru 4.1.0-beta-2 and are now failing.

I traced it to line 124080.

Line 124080 - radios[r].setValue(true) - undefined

Radios is an object the array is in radio.items[r]


Here is a typical radiogroup definition.


Ext.create("Ext.form.RadioGroup",
{
id: 'MyRadioGroup',
width: 150,
items: [
{ boxLabel: 'Yes', name: 'radiogroupA', inputValue: '1' },
{ boxLabel: 'No', name: 'radiogroupA', inputValue: '2' },
{ boxLabel: 'N/A', name: 'radiogroupA', inputValue: '3'}]
})

ValterBorges
29 Feb 2012, 10:38 AM
Westy,
If found the issues with modal windows can be overcome by not destroying them.


var me = this;
if (!me.History_Win) {
me.History_Win =
Ext.create('Ext.window.Window',
{
id: 'History_Win',
closeAction: 'hide',
modal: false,
frame: false,
width: 860,
bodyPadding: 5,
title: 'HISTORY',
bodyStyle: { "background-color": "#FFFFFF" },
items: [
{ height: 10, border: false },
Ext.create('Ext.form.Panel', { id: 'History_Form',
defaultType: 'panel',
frame: false,
border: true,
title: '&nbsp;',
style: 'background:#CC3344;width:100%;',
bodyStyle: { "background-color": "#FFFFFF" },
items: [
Ext.create("History_Grid", { id: 'History_Grid', store: 'History_Store', title: null, height: 250, autoScroll: true })
]
}),
{ height: 10, border: false }
]
});

}

me.History_Win.show();

westy
1 Mar 2012, 1:11 AM
Hi Westy, I have also had the tooltip focus issue since beta 1, but I've got a fix if you (or anyone else) would like it.
Thanks, I'll give it a try!



P.S. What's the weather like in Bath? I'm up there visiting the girlfriend in a few days.
Was a miserable start to the week, but seems to be improving :)

paipai
1 Mar 2012, 6:48 AM
Regarding the messages about this version, I'll will pass.
Still stuck in 4.0.7 and have something else to do than finding bugs. :(

This is a sad period for ExtJS ...

DiscoBoy
1 Mar 2012, 7:09 AM
I was having the same issues mentioned with nothing rendering from 4.0.7 to b1 and fixed by using

initComponent: function () {
Ext.apply(this, this.initialConfig,
{
The config
}

this.callParent(arguments);

}

and putting all the initialization code inside.

I can't belive that the whole config setup procedure is so broken as it is now...in ExtJS 4.0..X we were told to use a config object and now this seems to make a lot of problems. I still have no clue if using config objects in controllers is allowed or not. I think I will also postpone any 4.1 experiments to a later time...maybe RC1

ValterBorges
1 Mar 2012, 8:46 AM
Does anyone have a patch for the IE8 grid column misalignment issue, I'm currently running 4.0.7
It only occurs in IE not in FF and only on grids with flex:1 widths.

I would love to go 4.1.x but every version I go to has different bugs.

ValterBorges
1 Mar 2012, 9:45 AM
Grid column alignment issue.

Figured out this only happens in
IE8 on Windows XP aka 8.0.6001.187002 and still occurs in beta-2.

update: if all fields are set to flex:1 doesn't happen only when there are widths defined. Setting all to flex doesn't take up the minimum amount of space necessary for each column it allocates equal amounts and some columns end up getting to much width while others not enough.

IE8 on Windows 7 aka 8.0.7xxxxxx is fine
IE9 on Windows 7 is fine

Since there is no upgrade for IE9 on Windows XP and there are still thousands of win xp in our environment it will be a few years before the win 7 rotation takes effect, I would like to ask the EXTJS development/management team to include 8.0.6001.187002 version or the latest version of IE8 on windows XP into all testing routines.

For the last 8 years of EXT development most of the issues I've come across are in IE so I feel that if some more focus is put on testing IE8 on XP then a better product will come out.


update:
Able to get Ext to render fine if I force IE into IE7 compatibility mode.

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Justin Noel
1 Mar 2012, 10:28 PM
Sorry to hear others are having issues.

Glad to see my MVC CRUD (https://github.com/calendee/Ext-JS-4.X-CRUD-Demo) demo still works in 4.1b3.

I've also managed to plug 4.1b3 directly into a much more complex project I'm working on. Fortunately, I don't have any issues with it either.

I even got a bug fixed! In Release 4.0.X and 4.1b2, multiple collapsible grids in a single container would not re-expand properly after being collapsed. 4.1b3 seems to have corrected the problem. Thank you Sencha!

dongryphon
2 Mar 2012, 12:18 AM
Grid column alignment issue.

If you have a chance, please create a thread using the template below (the key is a code example) in the Bugs forum so we can get a ticket created and the bug fixed.

Thanks for all the research! That will help tracking it down.

skirtle
2 Mar 2012, 1:03 AM
I can't belive that the whole config setup procedure is so broken as it is now...in ExtJS 4.0..X we were told to use a config object and now this seems to make a lot of problems. I still have no clue if using config objects in controllers is allowed or not. I think I will also postpone any 4.1 experiments to a later time...maybe RC1

@DiscoBoy. Personally I've always stayed clear of the new config system. In 4.0 it didn't seem to be quite finished. It looks like more work has been done on it for 4.1 but I suspect priorities in ExtJS dev shifted a little due to the performance work and the resulting push to regain stability.

That said, it should work in 4.1 at least as well as it did in 4.0.7.

From what I can tell initConfig is supported for controllers. However, I'm not clear what you're trying to do with it. Your code looked like this:


init: function(config) {
this.initConfig(config);

I'm a little confused. According to the docs the init method isn't passed a config, it's passed the application instance. Have I misunderstood your intentions?

westy
5 Mar 2012, 1:31 AM
Well, after a lot of pain I think I'm almost ready to risk moving our codebase to 4.1.0.

There are two serious issues that are stopping me from switching, on top of general quality concerns (i.e. if I switch and find something else that I deem serious how quickly can I expect a response let alone fix?):
Not being able to slice the images for our theme to support older browsers is a VERY serious show stopper, which is now 6-7 weeks old.
Focus being stolen from the user when inputting data into a form panel is incredibly frustrating and needs bumping up the priority list significantly (EXTJSIV-5450 (http://www.sencha.com/forum/showthread.php?183027-4.1.0-b3-Focus-lost-when-error-tooltip-displayed-on-modal-window-form))... we don't right demos, we write software that gets used by people to do their jobs.
There are others, such as your models still using clientId for some magic (http://www.sencha.com/forum/showthread.php?171067-clientIdProperty!), but most are fairly simple to work around.

I'm fairly happy with the performance of 4.1, it definitely feels snappier, although remains to be seen if truly good enough of some of the hardware our clients have to use. Think our biggest issues are DOM size, and I feel that 4.1 is helping there; I need to look at the new infinite grids when finally make the switch too.

Suppose the biggest issue is the lack of quality and your perceived commitment to Ext JS; You still seem to be far busier (again) playing with your more minor products than focussing on your core one.

Cheers,
Westy

peter.pisljar@gmail.com
5 Mar 2012, 2:58 AM
render and afterrender dont get fired on panels, forms, grids ....
i tried both in chrome and firefox ....
have a feeling that ext is getting worse from version to version

skirtle
5 Mar 2012, 9:26 AM
@westy

Regarding the focus issue, did the workaround provided by lsdriscoll help at all? It might be worth commenting on the bug thread if the workaround didn't help in your case.

Did you file a bug about the clientId problem? If you didn't just let me know and I'll start one.

skirtle
5 Mar 2012, 9:39 AM
render and afterrender dont get fired on panels, forms, grids ....
i tried both in chrome and firefox ....
have a feeling that ext is getting worse from version to version

This problem has been noted by a number of people. It seems to only be a problem with the MVC. You can kick it into life by registering a listener for the event directly on the component (the listener doesn't have to do anything, it just needs to be there to kick the event into life). If you have access to the nightly builds you'll find this is already fixed.

Keep in mind that 4.1 is still only a beta. In an ideal world the betas would be just for testing and not used in production. As I think we're all aware, the reality is somewhat different.

westy
6 Mar 2012, 1:10 AM
Regarding the focus issue, did the workaround provided by lsdriscoll help at all? It might be worth commenting on the bug thread if the workaround didn't help in your case.

No, I haven't tried it.. I'm quite happy to tweak things with overrides, but lsdriscoll's override looked a little full-blown for my tastes (sorry, I'm sure it works fine). If still not fixed in the next version I may have to look at including it though, or at least taking the time to understand it better.



Did you file a bug about the clientId problem? If you didn't just let me know and I'll start one.
No, I didn't. I was kind of hoping that this beta forum would be useful, and promote discussion on any issues... I guess I was wrong.

Cheers,
Westy

skirtle
6 Mar 2012, 3:34 PM
It turns out there's already a ticket for the clientId problem:

http://www.sencha.com/forum/showthread.php?173996

The start of that thread appears to be unrelated but if you jump to the end of the thread you'll see that it was all down to clientId.

westy
7 Mar 2012, 2:45 AM
Thanks Skirtle, have chipped into that thread to offer my support :)

nomack84
9 Mar 2012, 1:03 PM
Any idea about when will be released the RC1, or Beta4?

Qarea
12 Mar 2012, 5:14 AM
When trying to add textfield to Toolbar, it causes bad things. For example, there was a toolbar with several buttons -> textfield. Textfield got out of the panel's box. When I set width for textfield, everything became ok. Another example, in my treepanel is also textfield. And it causes tree's items not to display until textfield is not removed from Toolbar. The same treepanel is working fine in another part of the system even with textfield.

Qarea
12 Mar 2012, 7:11 AM
Also I have a problem with Viewport. After upgrading to 4.1 Beta 3, Viewport does not take all the browser's space. There is a 15px line at right of Viewport.

I tried to reproduce it outside my system, but it was not reproduced :(

walker2287
12 Mar 2012, 11:09 AM
Sorry for another post, but it seems edit a comment doesn't work (when I try to save the edit, I am not logged in anymore - tried with Opera and Firefox).

Just wanted to say that those 'render' and 'afterrender' events were fired in ExtJS b2, so it's an issue with this build.


These 'render' and 'afterrender' issues are preventing me from migrating to 4.1.

I also am having render issues with floating panels. I get an error everytime i try to create a panel that is floating.

my app will have to stay in 4.0.7 for now.

mysticav
12 Mar 2012, 5:26 PM
walker2287,

Are you talking about afterrender events not listened by controllers ?

I was facing the same problem with 4.1 but somehow I realized that my code was no as optimal as possible. After some refactory, afterrender was not required anymore in my code.

I'm not trying to justify this problem nor I don't want to underestimate your requirements, but maybe with some adjustments you can get rid of those listeners and upgrade to 4.1.

TiloS
13 Mar 2012, 8:01 AM
I use the afterrender/beforerender and columnresize events from grid, gridcolumns and tabpanel with MVC, and for me they are optimal. I work now with 4.1b2 and if these events will not work I will stay in 4.1b2.

DiscoBoy
25 Mar 2012, 3:20 AM
From what I can tell initConfig is supported for controllers. However, I'm not clear what you're trying to do with it. Your code looked like this:


init: function(config) {
this.initConfig(config);

I'm a little confused. According to the docs the init method isn't passed a config, it's passed the application instance. Have I misunderstood your intentions?

Hi, thanks for making me aware of a mistake I made. It's true that the application gets passed to init() and no config object. Nevertheless I was using the initConfig() method to auto-create setter and getter methods in my controllers. I found this a quite helpful thing in ExtJS 4.0.x....especially with being able to use the applyXXX() method of the setters and putting some logic there.

So initConfig() is supported in controllers but for what reason if you don't get a config object there?

UPDATE: It seems that Ext < 4.1 needs an "this.initConfig()" in int init-block, wherelse Ext 4.1 doesn't need it anymore but configs provided in controller are set up automatically.

billtricarico
29 Mar 2012, 9:10 AM
Is there a cachefly URL for Beta 3?