what is the "field" is nested in another object such as:
model.userState.currentUser.username
I can pass the field "username" but how to I indicate that the field
is in model.userState.currentUser?
someone else was saying that I might be able to pass
"model.userState.currentUser" as one property "source" and then the
field as "fld".
I would then try to call this in the Command: source[fld] = someData;
I haven't tried this yet, but I will let you know if that works.
- Kevin
On Mar 13, 2007, at 1:50 PM, Dimitrios Gianninas wrote:
with the event that is broadcast to execute the command, pass the
field in the ML that is being updated, that should do it if I
understand correctly.
Dimitrios Gianninas
Developer
Optimal Payments Inc.
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Kevin
Sent: Tuesday, March 13, 2007 2:17 AM
To: [email protected]
Subject: [flexcoders] Pass ModelLocator reference to Command?
Here is where I am struggling. I have created a component extended
from the TextInput field to update certain fields in my database.
The text property of the TextInput class is bound to a value form the
ModelLocator. When this value is changed (focusOut event) a general
command is sent to the database with an id that indicates which
database field should be updated. The update happens and a 'success'
result is returned to the Command. The idea is that fields are
updated as the user tabs rather than using a 'submit' button.
Everything is working well up to this point, until....
On a successful database update, I can't figure out a way to update
the modelLocator from the Command. Since this is a generic Command I
need to be able to dynamically tell the Command which ModelLocator
property to update on which call. Here are the solutions I have
thought of but I can't seem to get anything working.
1) Pass a reference to the ModelLocator property that needs updating
and then update that reference in the Command. Unfortunately, I
can't figure out how (and if I even can) pass a true reference to the
Command. It seems that everything I try just get passed as a string.
2) Pass a string to the Command that can be parsed into a ML
reference. This can work...sometimes on simple VO's, but gets very
complicated with nest VO's in ArrayCollections. I am not sure there
is an easy way to do this...
3) Create some sort of hash map or array map that maps certain
'codes' to ModelLocator properties. This seems rather brittle & time
consuming.
4) Create 2-way binding using the Binding class. I was able to do
this and make it work, however, I couldn't find a way to do it
dynamically, where the 'destination' property could be a variable and
not a string. Also, I could only set this while in the view, which
means, the ModelLocator would get updated before it was confirmed
that the server update was successful. Obviously this is a little
dangerous.
I am out of ideas, but I still think there must be a way to achieve
this. Any thoughts???
Thanks for the help,
Kevin
AVIS IMPORTANT
WARNING
Ce message électronique et ses pièces jointes peuvent contenir des
renseignements confidentiels, exclusifs ou légalement privilégiés
destinés au seul usage du destinataire visé. L'expéditeur original
ne renonce à aucun privilège ou à aucun autre droit si le présent
message a été transmis involontairement ou s'il est retransmis sans
son autorisation. Si vous n'êtes pas le destinataire visé du
présent message ou si vous l'avez reçu par erreur, veuillez cesser
immédiatement de le lire et le supprimer, ainsi que toutes ses
pièces jointes, de votre système. La lecture, la distribution, la
copie ou tout autre usage du présent message ou de ses pièces
jointes par des personnes autres que le destinataire visé ne sont
pas autorisés et pourraient être illégaux. Si vous avez reçu ce
courrier électronique par erreur, veuillez en aviser l'expéditeur.
This electronic message and its attachments may contain
confidential, proprietary or legally privileged information, which
is solely for the use of the intended recipient. No privilege or
other rights are waived by any unintended transmission or
unauthorized retransmission of this message. If you are not the
intended recipient of this message, or if you have received it in
error, you should immediately stop reading this message and delete
it and all attachments from your system. The reading, distribution,
copying or other use of this message or its attachments by
unintended recipients is unauthorized and may be unlawful. If you
have received this e-mail in error, please notify the sender.