Skip to main content

Job Search Plugin

The Job Search plugin renders a complete job search interface with filters, search, and job cards.

Installation

Basic usage

Host element

Add a container element where the widget will render:
Use data-widget-id to identify the container when rendering multiple widgets on the same page.

Configuration

Theme

Properties (Filters)

Define which job properties appear as filters:

Job Card

Customize how job cards display:

Other options

Geolocation

Geolocation lets candidates search for jobs near a place. When enabled, the search bar gains a Where field alongside the keyword input, and results are filtered to jobs within a chosen distance of the candidate’s location.

Setting a location

Candidates can set their location in two ways:
  • Search for a place — type a town, city, or postcode and pick from the suggestions. Suggestions are biased towards the candidate’s approximate location.
  • Use my location — the My location button reads the device’s location through the browser. This requires a secure context (HTTPS) and the candidate’s permission; if it is denied or unavailable, the candidate is prompted to type a location instead.

Radius

A Within dropdown controls how far from the location to search. The available distances depend on distanceUnit:
Geolocation is a filter, not a re-ordering. It narrows results to jobs within the radius; it does not re-sort matching jobs by distance. The filter only applies once a candidate has chosen a location — enabling the field alone does not change results.

Map view

When the map is enabled, switching to the map view filters results to the jobs within the area currently shown on the map. Panning or zooming the map updates the results to match the new bounds. Changing the keyword or other filters clears the map-area filter.

Deep linking

Geolocation state is reflected in the URL using lat, lng, and radius query parameters (the radius is expressed in metres). When you hydrate the widget’s initialState from the URL, a shared or bookmarked link reopens with the same location search applied.

Translating the geo labels

All of the geolocation labels — Where, Within, My location, the location search placeholder, and the location permission error messages — can be customised through the terms option.

Full configuration reference

API

render(params)

Mounts the job search UI in the host element. Requires an onStateChange callback in addition to the configuration above. The callback receives a partial state object whenever a slice of the widget state changes (filters, query, page, view, etc.).
Pass initialData when hydrating a server-rendered widget (see prerender below).

prerender(params)

Returns HTML for server-side rendering. Use withData: true to fetch initial results on the server.