Can you make a small test case and file a bug?

 

________________________________

From: flexcomponents@yahoogroups.com
[mailto:[EMAIL PROTECTED] On Behalf Of reflexactions
Sent: Wednesday, October 17, 2007 5:45 AM
To: flexcomponents@yahoogroups.com
Subject: [flexcomponents] Re: Popup Editor in DataGrid - Final Word

 

After looking over the code in DataGrid again I think the problem is 
that there is new code in the focusOutHandler function (line4354) 
which uses itemRendererContains which calls "owns" but in 
itemEditorFocusOutHandler (line 4573) it uses the old "contains" and 
it seems itemEditorFocusOutHandler gets called first and destroys the 
editor.

Anywa in the meantime killing the focus out event seems to do the 
trick. 

--- In flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> , "reflexactions" 
<[EMAIL PROTECTED]> wrote:
>
> I have a solution but it is a real hack, not very nice as it sounds 
> odds on to have some problems somewhere but for the moment it seems 
> to work.
> 
> In my control I overrode the focus_out event check to see if the 
> popup is currently displayed and if so I stop the event propegating 
> which results in the DataGrid never hearing about focus being lost. 
> In effect this is what I think the DataGrid is doing anyway, 
ignoring 
> the focus out if the target is owned by the current editor.
> 
> When I close the popup I call setFocus on my control and carry on 
as 
> before.
> 
> 
> tks
> 
> --- In flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> , "reflexactions" 
> <reflexactions@> wrote:
> >
> > createItemEditor is not overridable...
> > 
> > Same old story, it might be public but everything inside it is 
> > private so you cant do anything.
> > 
> > Alternative is to take the AbjectOrientated approach and cut and 
> > paste the whole 5k lines of DataGrid code into a class so we can 
> fix 
> > this.
> > 
> > Not a happy camper today....
> > 
> > --- In flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" <aharui@> 
> > wrote:
> > >
> > > The owner code was added in Moxie. Are you using 2.x?
> > > 
> > > 
> > > 
> > > Can you make the popup a child of the editor? The editor 
itself 
> is 
> > not
> > > clipping so you can overlap it and go outside its bounds. 
> However, 
> > the
> > > DG will eventually clip it.
> > > 
> > > 
> > > 
> > > You may be able to override createItemEditor and recycle 
editors.
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > From: flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > [mailto:flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of 
reflexactions
> > > Sent: Wednesday, October 17, 2007 12:02 AM
> > > To: flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > Subject: [flexcomponents] Re: Popup Editor in DataGrid
> > > 
> > > 
> > > 
> > > Probably I should add that the editor still exists when the 
popup 
> > > finishes as I pass a callback function into the callback so it 
> can 
> > > return data.
> > > 
> > > I do get the data bakc into my editor but when I try to reopen 
it 
> i 
> > > get a new instance of the editor not the existing one.
> > > 
> > > I am using this in my editor to try and reactivate itslef..
> > > DataGrid(listData.owner).editedItemPosition = 
> > > {columnIndex:listData.columnIndex, rowIndex:listData.rowIndex};
> > > 
> > > Is this correct or is there anohter way for an editor to 
> > > refocus/reactivate itslef?
> > > 
> > > tks
> > > 
> > > --- In flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > <mailto:flexcomponents%40yahoogroups.com> , "reflexactions" 
> > > <reflexactions@> wrote:
> > > >
> > > > Well I already have this in my editor
> > > > 
> > > > lookup.owner = this;
> > > > PopUpManager.addPopUp(lookup, this, false);
> > > > 
> > > > 
> > > > The cell editor loses focus and closes when I click into a 
> > > TextInput 
> > > > control that is inside the lookup...
> > > > 
> > > > tks
> > > > 
> > > > --- In flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" 
> <aharui@> 
> > > > wrote:
> > > > >
> > > > > Set .owner of the popup to your renderer/editor.
> > > > > 
> > > > > 
> > > > > 
> > > > > ________________________________
> > > > > 
> > > > > From: flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > <mailto:flexcomponents%40yahoogroups.com> 
> > > > > [mailto:flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of 
> > reflexactions
> > > > > Sent: Tuesday, October 16, 2007 11:29 PM
> > > > > To: flexcomponents@yahoogroups.com
<mailto:flexcomponents%40yahoogroups.com> 
> > > <mailto:flexcomponents%40yahoogroups.com> 
> > > > > Subject: [flexcomponents] Popup Editor in DataGrid
> > > > > 
> > > > > 
> > > > > 
> > > > > I am trying to build a custom editor component for the 
> DataGrid.
> > > > > 
> > > > > When you edit an item you can either edit it inline or show 
a 
> > > popup 
> > > > to 
> > > > > edit it in full. When you are finished with the popup you 
> drop 
> > > back 
> > > > > into the grid editor to complete.
> > > > > 
> > > > > My problem is how to get the data back from the popup to 
the 
> > > cell, 
> > > > when 
> > > > > I start editing in the popup it removes focus from the cell 
> and 
> > > > calls 
> > > > > endEdit even though I dont really want to end editing yet. 
> > > > > 
> > > > > So when I am finished with the popup there is no editor for 
> me 
> > to 
> > > > push 
> > > > > the data back into....
> > > > > 
> > > > > I dont really want to push the data into a dataProvider as 
at 
> > > this 
> > > > > point its still sort of "uncommited" nether do I want to 
push 
> > it 
> > > > into 
> > > > > some static var and hope I can pick it up when the editor 
> opens 
> > > > again.
> > > > > There must be some simple way to do this? 
> > > > > 
> > > > > tks
> > > > >
> > > >
> > >
> >
>

 

Reply via email to