Jump to content

Help:WSSearchFront: Difference between revisions

From mediawiki.org
Content deleted Content added
No edit summary
No edit summary
Line 93: Line 93:
| rowspan="2" |
| rowspan="2" |
| rowspan="2" |if set a drop-down with sort options will be shown, default results will be sorted by relevance, optional a label for the property to sort on can be set by adding text before the property devised by <code>:</code>
| rowspan="2" |if set a drop-down with sort options will be shown, default results will be sorted by relevance, optional a label for the property to sort on can be set by adding text before the property devised by <code>:</code>
| rowspan="2" |<code>sort options=Version, Page name:Title</code>
|<code>sort options=Version, Title</code>
|-
|-
|<code><text>:<property></code>,<code><text>:<property></code>
|<code><text>:<property></code>,<code><text>:<property></code>
|<code>sort options=Version number:Version, Page name:Title</code>
|-
|-
|layout
|layout
Line 169: Line 170:
|combobox
|combobox
|shows a drop-down combo-box instead of the default check-boxes
|shows a drop-down combo-box instead of the default check-boxes
|<code>@Author#display=combobox</code>
|
|-
|-
|ask combobox
|ask combobox
|shows a comb-box and uses an ask query as you type to generate options. see [[Help:WSSearchFront#ask combobox|ask combox]] for more information
|shows a comb-box and uses an ask query as you type to generate options. see [[Help:WSSearchFront#ask combobox|ask combox]] for more information
|<code>@Author</code>
|
<code>#display=ask combobox</code>

<code>#query=<nowiki>[[Class::User]]</nowiki></code>

<code>#data=Full name</code>
|-
|-
|search
|search
|adds a search input for the specified property
|adds a search input for the specified property
|<code>@Title#display=search</code>
|
|-
|-
|datepicker
|datepicker
|adds two [[Manual:DateInputWidget|DateInputWidgets]] that are used for filtering the results by a date property
|adds two [[Manual:DateInputWidget|DateInputWidgets]] that are used for filtering the results by a date property
|<code>@Modification date#display=datepicker</code>
|
|-
|-
|range
|range
|adds the default check-boxes but with a set of ranges from the property
|adds the default check-boxes but with a set of ranges from the property. see [[Help:WSSearchFront#range|range]] for more information
|<code>@Range</code>
|
<code>#display=range</code>

<code>#max=5</code>

<code>#step=1</code>
|-
|-
|sorted
|sorted
|adds the default check-boxes but sorts on a given ask query
|adds the default check-boxes but sorts on a given ask query. see [[Help:WSSearchFront#sorted|sorted]] for more information
|
|
|-
|-
Line 194: Line 205:
|<code><text></code>
|<code><text></code>
|defines a label to be used for display instead of the property name
|defines a label to be used for display instead of the property name
|<code>@Modification date</code>
|
<code>#label=Date</code>
|-
|-
|#logic
|#logic
|or
|or
|set logic to or, needs 'post filter properties' setting in back-end WSSearchConfig
|set logic to or, needs 'post filter properties' setting in back-end WSSearchConfig see [[Extension:WSSearch|WSSearch]] for more information
|
|
|-
|-
Line 210: Line 222:
|translates the property values based on a given ask query
|translates the property values based on a given ask query
|
|
@Service
#translation=Name
#query=<nowiki>[[Class::Service]]</nowiki>
|}
|}


===== ask combobox =====
===== ask combobox =====
{| class="wikitable"
{| class="wikitable"
|+#display=ask combobox
|+<code>#display=ask combobox</code>
!setting
!setting
!values
!values
Line 226: Line 241:
@Tags
@Tags
#display=ask combobox
#display=ask combobox
#ask=[[Class::Tag]]
#query=[[Class::Tag]]
#data=Tag ID
#data=Tag ID
#text=Tag name
#text=Tag name
</syntaxhighlight>
</syntaxhighlight>
|-
|-
|#data
|#data
Line 246: Line 261:
===== Sorted =====
===== Sorted =====
{| class="wikitable"
{| class="wikitable"
|+#display=sorted
|+<code>#display=sorted</code>
!setting
!setting
!values
!values
Line 258: Line 273:
@Tags
@Tags
#display=sorted
#display=sorted
#ask=[[Tag::+]][[-Has subobject.Type::Search Tag]]
#query=[[Tag::+]][[-Has subobject.Type::Search Tag]]
#data=-Has subobject.Name
#data=-Has subobject.Name
#text=Tag name
#text=Tag name
Line 270: Line 285:
|<code><property></code>
|<code><property></code>
|property for display
|property for display
|}

===== Translation =====
{| class="wikitable"
|+#translation
!setting
!values
!decription
!example
|-
|#query
|<code><ask></code>
|ask query
|<syntaxhighlight lang="py">
@Service
#translation=Name
#query=[[Class::Service]]
</syntaxhighlight>
|}
|}


===== Range =====
===== Range =====
{| class="wikitable"
{| class="wikitable"
|+#display=range
|+<code>#display=range</code>
!setting
!setting
!values
!values

Revision as of 11:08, 28 August 2021

The WSSearchFront extension is a front-end for WSSearch written in Vue.js

For installation instructions see the extension page

Configuration

The WSSearchFront extension must be configured using the WSSearchFrontend parser function


There are 3 types of configuration:

  • Settings, without a prefix
  • Filter settings, prefixed with a @
  • Result settings, prefixed with a ?

most of the configurations have more setting options prefixed with a #


Example configuration:

{{#WSSearchFrontend:
|size=10
|tite=Page Title
|@Tag
|@Year
    #display=range
    #max=20
    #type=date
|?Users
    #display=link
|?Image
    #display=image
    #label=Page image
|?Rating
    #display=template
    #template=Special rating
}}

Available configuration options

settings

parameter parameter values settings setting values description example
size <number> defines how many results are shown per page size=10
size options <number>, <number> if set a drop-down with the defined size options will be shown size options=10, 20, 50
title <property> property that will be used for the search results title and link title=Title

#highlight=true

#urlstring=search

#label <text> sets a label for the title column in table layout
#highlight true highlights the search term in the title
#urlstring <text> adds search terms as an url parameter named by the value to the links href
sort options <property>, <property> if set a drop-down with sort options will be shown, default results will be sorted by relevance, optional a label for the property to sort on can be set by adding text before the property devised by : sort options=Version, Title
<text>:<property>,<text>:<property> sort options=Version number:Version, Page name:Title
layout table changes the layout for the search results to a table layout=table
clear term if set, the 'clear all filters' button also clears the search term clear=term

Search result settings

parameter settings setting values description example
?<property> #display image displays an image, the property must be the full URL to the image ?Image#display=image
link creates a link from a property ?User#display=link
pill creates a pill, that can be used for filter selection ?Tag#display=pill
template parses a template, add #template=<template> . The {{{Page|}}} and {{{Value|}} parameters are passed to the template ?Icon#display=template

#template=Icon for search

#template <template> used with #display=template
#label <text> adds a label in front of the displayed property value. When table layout is used it defines the tabel column header name ?Rating#label=Page rating
#highlight true highlights the search term on the displayed property value ?Description#highlight=true

Facets filter settings

Facet filters are divined by adding a @ in front of the property name, when no display setting is used the default check-boxes are displayed

parameter settings setting values description example
@<property> #display combobox shows a drop-down combo-box instead of the default check-boxes @Author#display=combobox
ask combobox shows a comb-box and uses an ask query as you type to generate options. see ask combox for more information @Author

#display=ask combobox

#query=[[Class::User]]

#data=Full name

search adds a search input for the specified property @Title#display=search
datepicker adds two DateInputWidgets that are used for filtering the results by a date property @Modification date#display=datepicker
range adds the default check-boxes but with a set of ranges from the property. see range for more information @Range

#display=range

#max=5

#step=1

sorted adds the default check-boxes but sorts on a given ask query. see sorted for more information
#label <text> defines a label to be used for display instead of the property name @Modification date

#label=Date

#logic or set logic to or, needs 'post filter properties' setting in back-end WSSearchConfig see WSSearch for more information
#sort alphabetically sorts the facets alphabetically
#translation <property> translates the property values based on a given ask query
  @Service
   #translation=Name
   #query=[[Class::Service]]
ask combobox
#display=ask combobox
setting values description example
#query <ask> ask query
@Tags
  #display=ask combobox
  #query=[[Class::Tag]]
  #data=Tag ID
  #text=Tag name
#data <property> property for options
#text <property> label for options
#search true searches for typed term on enter key
Sorted
#display=sorted
setting values description example
#query <ask> ask query
@Tags
  #display=sorted
  #query=[[Tag::+]][[-Has subobject.Type::Search Tag]]
  #data=-Has subobject.Name
  #text=Tag name
#data <property> property to sort on
#text <property> property for display
Range
#display=range
setting values description example
#max <number> maximum number of ranges
@Year
  #display=range
  #max=20
  #type=date
#step <number> step for range
#type date type for date ranges

Styling and layout

WSSearchFront can be styled using CSS. Components are logically named using BEM convention, and the layout id defined with CSS Grid