Событие xforms-model-construct-done

В моей форме я хотел бы вызвать веб-сервис после загрузки формы после публикации. Я создал собственный элемент управления XBL для него, где у меня есть:

<xf:group id="component-group">
    <xf:action ev:event="xforms-enabled" ev:target="component-group">
        <xf:send ev:event="xforms-enabled" submission="my-submission"/> 
    </xf:action>
</xf:group>

Но это не работает должным образом: моя отправка отправляется каждый раз, когда я добавляю новый элемент в FormBuilder или меняю имя некоторых других элементов управления. Вообще говоря, отправка отправляется, когда моя форма каким-то образом меняется.

Теперь я хочу, чтобы отправка отправлялась ТОЛЬКО тогда, когда я публикую свою форму, и кто-то откроет ее для заполнения (и, конечно, когда я нажимаю "Тест" в FormBuilder, но я предполагаю, что это аналогично заполнению формы после публикации).

Я пытался что-то вроде этого:

<xf:group id="component-group">
    <xf:action ev:event="xforms-model-construct-done" ev:target="component-group">
        <xf:send ev:event="xforms-model-construct-done" submission="my-submission"/> 
    </xf:action> 
</xf:group>

К сожалению, это не работает, таким образом, отправка не отправляется вообще. Какие-нибудь мысли?

1 ответ

Решение

Это связано с тем, что компоненты XBL также работают во время разработки. Поэтому вам нужен способ проверить, работает ли компонент в Form Builder или нет.

Действительно, для этого должна быть функция, но ее нет (я добавил это в список функций, которые мы должны добавить в API здесь). Ты можешь сделать:

<xf:group id="component-group"> <xf:var name="fr-params" value="xxf:instance('fr-parameters-instance')"/> <xf:action event="xforms-enabled" target="component-group" if="not($fr-params/app = 'orbeon' and $fr-params/form = 'builder')"> <xf:send submission="my-submission"/> </xf:action> </xf:group>

Несколько незначительных комментариев:

  • вам не нужно (на самом деле не должно) место event атрибуты вложенных действий
  • вам даже не нужно ev префикс
Другие вопросы по тегам