Я работаю над одним приложением JSF, в котором в одном из модулей реализована функция поиска. Я пытался выяснить, как это работает, но не смог найти ничего подходящего.
Ниже приведен код JSF, в котором реализован поисковый компонент.
<h:panelGroup id="searchBarWrapper" styleClass="search-bar#{ciUser.patient ? ' search-no-filters' : ''}" layout="block">
<h:inputText id="contentTextSearch" styleClass="form-control search" pt:data-loader="false"
value="#{contentView.freeText}"
pt:placeholder="#{uiBundle['content.search.placeholder']}"
pt:data-change-event="keydown:13,blur" pt:data-click-success=".open-level-one">
<f:ajax event="change"
render="collaborative-#{contentView.side}:searchBarWrapper collaborative-#{contentView.side}:levelBack1 collaborative-#{contentView.side}:ColumnWideWrapper collaborative-#{contentView.side}:#{contentView.side}ColumnNarrow content-preview-component:content-preview"
onevent="JSF.ajaxOnEvent"/>
</h:inputText>
<a href="#search" class="search-submit">
<i class="ico-search"></i>
</a>
<h:commandLink styleClass="btn btn-icon reset" rendered="#{not empty contentSession.freeText}"
pt:data-loader="false">
<i class="ico-cross-circle reset"></i>
<f:ajax listener="#{contentView.setFreeText(null)}"
render="collaborative-#{contentView.side}:searchBarWrapper collaborative-#{contentView.side}:#{contentView.side}ColumnWide collaborative-#{contentView.side}:#{contentView.side}ColumnNarrow"
onevent="JSF.ajaxOnEvent"/>
</h:commandLink>
</h:panelGroup>
JSF.ajaxOnEvent
Функция JS указана ниже.
ajaxOnEvent: function (e) {
if (e.status === 'begin') {
$(e.source).addClass('processing');
}
JSF.handleClick(e);
JSF.iFrameLoad(e);
if (e.status === 'success') {
$(e.source).removeClass('processing');
CI.reInit(e);
}
}
Дайте мне знать, требуется ли какая-либо другая информация для определения потока функций поиска. Я буду рад поделиться этим.