You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by beatejung <be...@online.de> on 2005/02/25 20:47:20 UTC
[CFORMS] help on cforms
hi all,
i'm sorry for this stupid question i asked yesterday.
now i found an easy way to solve the problem, but the form got quite
complicated. ( repeaters with structs in unions in unions in repeaters and
some hidden fields and so on).
i needed something to show me the current structure and all values but i did
not find anything i could use. (maybe becasue i'm very new on cocoon )
thats why i made a little javascript function. it works fine for me.
it prints the tree like this:
|_ multiple ( org.apache.cocoon.forms.formmodel.BooleanField) : false
|_ question-rows ( org.apache.cocoon.forms.formmodel.Repeater) : null
|_
|_ 0 ( org.apache.cocoon.forms.formmodel.Repeater$RepeaterRow) : null
|_
|_ id ( org.apache.cocoon.forms.formmodel.Field) : null
|_ type ( org.apache.cocoon.forms.formmodel.Field) : p
|_ union ( org.apache.cocoon.forms.formmodel.Union) : p
|_
|_ p ( org.apache.cocoon.forms.formmodel.Struct) : null
|_
|_ editable ( org.apache.cocoon.forms.formmodel.Field) : null
|_ edit-union ( org.apache.cocoon.forms.formmodel.Union) : null
|_
|_ moveUp ( org.apache.cocoon.forms.formmodel.RowAction) : null
|_ moveDown ( org.apache.cocoon.forms.formmodel.RowAction) : null
|_ addAfter ( org.apache.cocoon.forms.formmodel.RowAction) : null
|_ delete ( org.apache.cocoon.forms.formmodel.RowAction) : null
|_ edit ( org.apache.cocoon.forms.formmodel.Action) : null
perhaps someone here has a similar problem remember the structure he created
and dump values during the flow, so i think i should send the code to the
list.
please ignore if it is rubbish.
#### start helperfunctions.js ########
var containerClasses=[
"org.apache.cocoon.forms.formmodel.Form",
"org.apache.cocoon.forms.formmodel.Union",
"org.apache.cocoon.forms.formmodel.Struct",
"org.apache.cocoon.forms.formmodel.Repeater$RepeaterRow",
"org.apache.cocoon.forms.formmodel.Repeater"
// thats not true .. but it works ...
// .. gets another handling in function though
];
function exploreTree(element, level, showClassNames, showValues){
/*
element - the widget where the tree should start from
level - should be 0 first, just to make the tree nicer ;-)
showClassNames - shows not only the widget-id but also the name of the class
showValues - shows also the current value
*/
var spaces = "";
for(i=0;i<level;i++)
spaces+=" ";
var className=element.getClass().getName();
print (spaces+"|_ "+element.getId()+
(showClassNames?" ( "+className+")":"")+
(showValues?" : "+element.getValue():""));
for(i=0;i<containerClasses.length;i++){
if(className==containerClasses[i]){
var elementChildren;
if(className=="org.apache.cocoon.forms.formmodel.Repeater"){
size=element.getSize();
var children=new java.util.ArrayList();
for(i=0;i<size;i++){
children.add(element.getChild(i));
}
elementChildren= children.iterator();
} else {
var elementChildren=element.getChildren();
}
print(spaces+"|_");
while(elementChildren.hasNext()){
var nextElement=elementChildren.next();
exploreTree(nextElement, level+1,showClassNames, showValues);
}
break;
}
}
}
#### end helperfunctions.js ########
i call it here for example:
<fd:on-action>
<javascript>
exploreTree(event.source.getForm(),0,"false","true");
</javascript>
</fd:on-action>
##############################
i would be happy if it helps someone:-)
beate
Am Donnerstag, 24. Februar 2005 17:28 schrieb beatejung:
> hi all,
>
> i'm very new on cocoon and did some work using cforms. i have a repeater
> with some rows and want made the widgets of one row fields, the widgets of
> the other rows should stay simple outputs - or maybe the other way round i
> thought i could do this using on-action event of an action widget by a nice
> little javascript code. i get all the widgets i need .. and now i have no
> idea what to do with them to accomplish this task.
> is there a possibility to change stylings on request this way?
> does anyone know a better way?
>
> thanks a lot for every reply :-)
> beate
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
--
����
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org