Выполнить разные CS JS на основе переменной области - PullRequest
0 голосов
/ 18 февраля 2020

Следующая разметка предназначена для ссылки, которая содержится в элементе управления повторением в пределах набора данных прайс-листа. Пользователь щелкает описание, и появляется панель сведений над таблицей данных с деталями элемента из bean-компонента в rowData, все стандартные вещи. Он появляется с использованием анимации додзё, которая работает хорошо, красиво и плавно. Выбор второго элемента в списке отобразит новые данные на панели сведений, однако анимация повторяется без необходимости. Есть ли в scriptGroup способ предотвратить запуск dojoAnimateProperty, но все же разрешить все остальное, включая прокрутку вверх страницы, чтобы автоматически вернуться на панель формы. Например, если для viewScope было задано значение false, выполните одну scriptGroup и другую scriptGroup, если установлено значение true.

Я знаю, что могу добавить 2 ссылки и показать / скрыть в зависимости от переменной области, но тогда мне потребуется refre sh дата, которую я не хочу делать.

Буду признателен за любую помощь или направление.

Спасибо

<xp:link escape="true" text="#{rowData.description}" id="link1">

<xp:eventHandler event="onclick"    submit="true" refreshMode="partial"  refreshId="panelPriceListItem">
<xp:this.action>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:viewScope.put("vsShowItem",true);
itemBean.setPlItem(rowData);}]]></xp:this.script>
</xp:executeScript>
</xp:this.action>

<xp:this.script>
<xp:scriptGroup>

<xe:dojoAnimateProperty node="panelPriceListItem" duration="300">
<xp:this.properties>
<xe:dojoAnimationProps name="width" start="0" end="1350">
</xe:dojoAnimationProps>
<xe:dojoAnimationProps name="height" start="0" end="400">
</xe:dojoAnimationProps>
</xp:this.properties>
</xe:dojoAnimateProperty>

<xp:executeClientScript script="document.documentElement.scrollTop = 0;">
</xp:executeClientScript>

</xp:scriptGroup>
</xp:this.script>

...