Форма Forner Runner - при переходе на другую страницу отображается предупреждение, кнопки выбора и сохранения отображаются автоматически - PullRequest
2 голосов
/ 08 марта 2011

У меня есть форма, которую я создал с помощью Forms Builder - эта форма отображает галочку и значок дискеты (для сохранения) внизу. Я не хочу, чтобы они отображались, так как в моем коде нет постоянства с использованием этих кнопок. Как этого добиться (без отображения этих значков) - я уже сделал

<property as="xs:string" name="oxf.fr.detail.buttons.*.*" value="" />

и

<property as="xs:string" name="oxf.fr.detail.buttons.view.*.*" value="back pdf" />

в моем локальном файле свойств

Кроме того, я направляю пользователя на другую страницу с помощью действия xforms: load - это приводит к отображению значка дискеты (возможно, обнаружен этот экземпляр), а также показывает предупреждение, подтверждающее, действительно ли я хочу уйти от стр. Как отключить это предупреждение (данные экземпляра будут изменены, но я не хочу, чтобы значок дискеты / сохранения был в первую очередь) ...

[edit1] Основано на предложениях:

Поскольку я хочу вообще не использовать кнопку (в начальной форме действия выполняются на основе того, что пользователь выбрал в select1), я сделал:

...</fr:body><fr:buttons /></fr:view>... 

но это не помогает (по-прежнему отображаются значки галочек и дискет). Я также сделал

<xforms:action ev:event="xforms-select" target="XMLOptions-control"
                   if="event('xxforms:item-value')='RETRIEVE'">
        <!-- workaround to stop showing the alert asking the user if they really want to move away from the page -->
        <xforms:setvalue ref="xxforms:instance('fr-persistence-instance')/data-safe">true</xforms:setvalue>
        <xforms:load show="replace" resource="/fr/prototype/retrieval/new"/>
    </xforms:action>  

Это также не помогает (диалоговое окно с предупреждением продолжает отображаться). Я не вижу ни одного экземпляра с именем «fr-persistence-instance» в моем источнике xforms.

1 Ответ

2 голосов
/ 08 марта 2011

Ваше первое свойство является правильным, чтобы удалить все кнопки на странице сведений:

<property as="xs:string"  name="oxf.fr.detail.buttons.*.*" value=""/>

Но мне кажется, что вы хотите добавить собственные пользовательские кнопки вместо используемых по умолчанию. Вместо изменения свойства oxf.fr.detail.buttons.*.* вы можете отредактировать источник формы и поместить свои собственные кнопки в <fr:buttons>. См. Раздел «Включение стандартных кнопок» на Создание мастера или многостраничной формы с помощью Form Builder .

Чтобы избежать сообщения, спрашивающего пользователей, действительно ли они хотят отойти от текущей страницы, до <xforms:load>, выполните:

<xforms:setvalue ref="xxforms:instance('fr-persistence-instance')/data-safe-override">true</xforms:setvalue>

Например, вы бы поместили это в свою собственную кнопку:

<fr:buttons>
    <fr:button>
        <xforms:label>Go to Orbeon</xforms:label>
        <xforms:action ev:event="DOMActivate">
            <xforms:setvalue ref="xxforms:instance('fr-persistence-instance')/data-safe-override">true</xforms:setvalue>
            <xforms:load resource="http://www.orbeon.com/"/>
        </xforms:action>
    </fr:button>
</fr:buttons>

Чтобы скрыть значки состояния, указывающие на правильность данных, вы можете использовать следующий CSS-код (и см. стиль для получения дополнительной информации о том, как добавить свой собственный CSS):

.fr-status-icons { display: none }
...