Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F1172424
filters.elm.tpl
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Sep 29, 6:46 PM
Size
8 KB
Mime Type
text/html
Expires
Wed, Oct 1, 6:46 PM (1 d, 21 h)
Engine
blob
Format
Raw Data
Handle
759815
Attached To
rTMST Themes.Modern-Store
filters.elm.tpl
View Options
<
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'
/>
"/>
<
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'
/>
"/>
<
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-{
$
fi
lter_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
=
"
$
fi
lter_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
$
fi
lter_params
=
{};
</
script
>
<
div
class
=
"block alt-block"
>
<
h2
>
<
em
class
=
"filter-header"
>
Filter by
<
inp2:m_Phrase
name
=
"lu_fld_{
$
fi
lter_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_{
$
fi
lter_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
Log In to Comment