Standalone LHHA for repeated content

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Standalone LHHA for repeated content

Tambet Matiisen
Hi!

I want to show label and help for a control only once in table header.
The table is generated using <xforms:repeat>, see attached example. If I
use just plain <xforms:label> or <xforms:help> in the header, Orbeon
removes them. If I add for attribute, that references single
non-repeated control, then everything is fine. But if I reference
repeated control, then the label and help are not shown, just as I
didn't have for attribute. Which is somewhat obvious, because in
repeated context Orbeon adds repeat index to id of every control, so
technically there is no control with the referenced id. But it breaks
the XForms abstraction level.

So far I was able to work around the problem, by copying contents of
<xforms:label> to header cell. But this doesn't work with <xforms:help>,
if I want to have the same icon and dialog as it is everywhere else. So,
my question is - are there any workarounds to have standalone label and
help for repeated content?

Regards
Tambet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

repeat2.xhtml (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Standalone LHHA for repeated content

Erik Bruchez
Administrator
Tambet,

That's an interesting  case. In fact this was discussed not long ago
in the XForms Working Group.

Implementing this would raise issues though, even if the id situation
is resolved, because the label might refer to more than one actual
control, or to none at all, and then you have to decide what to do.
For example, show no label if there is no repeat iteration? Or handle
static labels only, or context-independent XPath expressions only?
etc. Then you have to decide what to do when the user clicks on the
label (go to the control in the currently selected row, probably.)

In shorts this is not entirely trivial so for now this remains implemented.

What we do with the Form Runner repeater is place separate
xforms:group controls with the labels and hints in the header:

https://github.com/orbeon/orbeon-forms/blob/master/src/resources/apps/fr/components/repeat.xsl#L85

-Erik

On Tue, Jul 12, 2011 at 7:45 AM, Tambet Matiisen
<[hidden email]> wrote:

> Hi!
>
> I want to show label and help for a control only once in table header. The
> table is generated using <xforms:repeat>, see attached example. If I use
> just plain <xforms:label> or <xforms:help> in the header, Orbeon removes
> them. If I add for attribute, that references single non-repeated control,
> then everything is fine. But if I reference repeated control, then the label
> and help are not shown, just as I didn't have for attribute. Which is
> somewhat obvious, because in repeated context Orbeon adds repeat index to id
> of every control, so technically there is no control with the referenced id.
> But it breaks the XForms abstraction level.
>
> So far I was able to work around the problem, by copying contents of
> <xforms:label> to header cell. But this doesn't work with <xforms:help>, if
> I want to have the same icon and dialog as it is everywhere else. So, my
> question is - are there any workarounds to have standalone label and help
> for repeated content?
>
> Regards
> Tambet
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws