Page MenuHomeIn-Portal Phabricator

filters.elm.tpl
No OneTemporary

File Metadata

Created
Mon, Sep 29, 6:46 PM

filters.elm.tpl

<inp2:m_DefineElement name="filter_text_block" PrefixSpecial="item-filter" filter_type="text" is_list="0">
<input type="text" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_select_block" PrefixSpecial="item-filter" filter_type="select" is_list="0">
<select name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>">
</select>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_radio_element">
<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
<input type="radio"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
</dt>
<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_radio_block" PrefixSpecial="item-filter" filter_type="radio" is_list="0">
<dl class="manufacturer">
<inp2:ListFilterOptions render_as="filter_radio_element" pass_params="1"/>
</dl>
<div class="clear"></div>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_checkbox_element" form_id="">
<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
<input type="checkbox"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
</dt>
<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_checkbox_block" PrefixSpecial="item-filter" filter_type="checkbox" is_list="0">
<dl class="manufacturer">
<inp2:ListFilterOptions render_as="filter_checkbox_element" form_id="filter-form-{$filter_field}" pass_params="1"/>
</dl>
<div class="clear"></div>
<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_value_element">
<li>
<!--##<inp2:m_param name='key'/>; ##--><inp2:m_Param name="title"/>
</li>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_count_element">
<li>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</li>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_block" PrefixSpecial="item-filter" filter_type="range" is_list="0">
<div style="text-align: center; margin-bottom: 10px;">
<input type="text" class="field" id="<inp2:FilterInputName/>_start" style="width: 35px;" value=""/> - <input type="text" class="field" id="<inp2:FilterInputName/>_end" style="width: 35px;" value=""/>
<a href="#" class="grey-but" id="<inp2:FilterInputName/>_apply_btn">
<span>Apply</span>
</a>
</div>
<div class="range-block">
<ul class="range">
<inp2:ListFilterOptions render_as="filter_range_value_element" type="value" currency="selected" pass_params="1"/>
</ul>
<div class="slider-vertical" id="<inp2:FilterInputName/>_slider" style="height:<inp2:SliderHeight factor="26"/>px;"></div>
<ul class="range2">
<inp2:ListFilterOptions render_as="filter_range_count_element" type="count" pass_params="1"/>
</ul>
<div class="clear"></div>
</div>
<script type="text/javascript">
$(document).ready(
function() {
var $slider_options = {
min: <inp2:m_Get name="min_range_value" js_escape="1"/>,
max: <inp2:m_Get name="max_range_value" js_escape="1"/>,
step: <inp2:m_Get name="range_step" js_escape="1"/>
},
$options = {
orientation: 'vertical',
range: true,
values: [<inp2:m_Get name="selected_from_range" js_escape="1"/>, <inp2:m_Get name="selected_to_range" js_escape="1"/>],
change: function(event, ui) {
// jQuery UI slider has inverted range - fix that here
var $selected_range = ListManager.invertRange($slider_options, ui.values[0], ui.values[1]);
if ( $selected_range[0] == $slider_options.min && $selected_range[1] == $slider_options.max ) {
$('#' + jq('<inp2:FilterInputName/>')).val('');
}
else {
$('#' + jq('<inp2:FilterInputName/>')).val($selected_range[0] + '-' + $selected_range[1]);
}
$( '#' + jq('<inp2:FilterInputName/>_start') ).val($selected_range[0]);
$( '#' + jq('<inp2:FilterInputName/>_end') ).val($selected_range[1]);
ListManager.updateFilterParams('<inp2:m_Param name="filter_field"/>');
}
},
$values = ListManager.invertRange($slider_options, $options.values[0], $options.values[1]);
$options.values[0] = $values[0];
$options.values[1] = $values[1];
$.extend($options, $slider_options);
$( '#' + jq('<inp2:FilterInputName/>_start') ).val($slider_options.min);
$( '#' + jq('<inp2:FilterInputName/>_end') ).val($slider_options.max);
$( '#' + jq('<inp2:FilterInputName/>_slider') ).slider($options);
$( '#' + jq('<inp2:FilterInputName/>_apply_btn')).click(
function ($e) {
var $remainder = 0,
$range_from = parseFloat( $( '#' + jq('<inp2:FilterInputName/>_start') ).val() ),
$range_to = parseFloat( $( '#' + jq('<inp2:FilterInputName/>_end') ).val() );
// ensure entered range is valid
if ( isNaN($range_from) || $range_from < $slider_options.min ) {
$range_from = $slider_options.min;
}
if ( isNaN($range_to) || $range_to > $slider_options.max ) {
$range_to = $slider_options.max;
}
// changed entered range to exactly match range steps on a slider
$remainder = $range_from % $slider_options.step;
if ( $remainder > 0 ) {
$range_from -= $remainder;
}
$remainder = $range_to % $slider_options.step;
if ( $remainder > 0 ) {
$range_to += $slider_options.step - $remainder;
}
// set new values to the slider
var $selected_range = ListManager.invertRange($slider_options, $range_from, $range_to);
$( '#' + jq('<inp2:FilterInputName/>_slider') ).slider('option', 'values', $selected_range);
return false;
}
);
}
);
ListManager.setFilterParams('<inp2:m_Param name="filter_field"/>', {max_value: <inp2:m_Get name="max_range_value" js_escape="1"/>});
</script>
<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_element" PrefixSpecial="item-filter" prefix="" filter_field="" filter_type="" is_list="0">
<inp2:m_IFDataExists>
<inp2:m_ifnot check="m_Param" name="is_list">
<inp2:ReloadItem prefix="$prefix" field="$filter_field"/>
</inp2:m_ifnot>
<form action="<inp2:m_FormAction/>" id="filter-form-<inp2:m_Param name='filter_field'/>" method="post" class="filter-form" filter_field="<inp2:m_Param name='filter_field'/>" filter_type="<inp2:m_Param name='filter_type'/>">
<script type="text/javascript">
var $filter_params = {};
</script>
<div class="block alt-block">
<h2>
<em class="filter-header">
Filter by <inp2:m_Phrase name="lu_fld_{$filter_field}"/>
</em>
<a href="#" class="reset-filter" style="display: none;">
<img src="<inp2:m_TemplatesBase/>img/btn_reset_filter.png" width="18" height="18" alt="Reset Filter"/>
</a>
</h2>
<div class="block-content">
<inp2:m_RenderElement name="filter_{$filter_type}_block" pass_params="1"/>
</div>
</div>
<script type="text/javascript">
$(document).ready(
function () {
ListManager.registerFilter('<inp2:m_Param name="filter_field"/>');
}
);
</script>
</form>
</inp2:m_IFDataExists>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_counter_element">
'<inp2:m_Param name="key"/>': <inp2:m_Param name="count"/><inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_counters_element">
ListManager.replaceCounters('<inp2:m_Param name="filter_field"/>', {<inp2:ListFilterOptions render_as="filter_counter_element" type="count" pass_params="1" strip_nl="2"/>});
</inp2:m_DefineElement>
<inp2:m_DefineElement name="used_filter_element">
ListManager.replaceFilter('filter-form-<inp2:m_Param name="filter_field"/>', '<inp2:m_RenderElement name="filter_element" pass_params="1" js_escape="1"/>');
</inp2:m_DefineElement>

Event Timeline