destroy

Destroys widget - removes listeners and DOMNodes

destroy(removeRoot: any)
Parameters
removeRoot (any)

trackAllEvents

Subscribe to all widget events

trackAllEvents(handler: RecruiteeWidget.EventHandler)
Parameters
handler (RecruiteeWidget.EventHandler) Handler function

trackEvent

Subscribe to specific widget event

trackEvent(evtName: ("view:change" | "form:apply:success" | "form:apply:error"), handler: RecruiteeWidget.EventHandler)
Parameters
evtName (("view:change" | "form:apply:success" | "form:apply:error")) Name of the event
handler (RecruiteeWidget.EventHandler) Handler function

updateConfig

Updates widget with provided config

updateConfig(config: RecruiteeWidget.Config, removeRoot: Boolean)
Parameters
removeRoot (Boolean)

RecruiteeWidget.Config

RecruiteeWidget.Config
Properties
elementId (string) : ID of DOM Node in which widget should be created, If DOM Node doesn't exists, it will be created and appended to body tag.
companies (Array<number>) : Array of companies ID from which widget should fetch offers.
language (("en" | "de" | "fr" | "nl")) : Language to be used (ISO 639-1).
detailsMode (("popup" | "overlay" | "recruitee")) : Determines how offer details should be displayed.
departmentsFilter (Array<string>) : Restricts visible offers only to those which are in specified departments
flags (Object)
useHashHistory (Boolean) : Enables browsing with history (update URL, back/prev navigation handling)
sourceQueryParams (Array<string>) : List of query parameter names, which values should be used as Source. Although you can specify multiple strings, only first matched will be used as Source.
source (string) : Explicitly set Source. If this option is set then sourceQueryParams option will be omitted.
themeVars (RecruiteeWidget.ThemeVars) : Customize theme variables

RecruiteeWidget.EventHandler

RecruiteeWidget.EventHandler(eventName: string, eventData: Array)

Type: Function

Parameters
eventName (string) name of the event
eventData (Array) event payload

RecruiteeWidget.ThemeVars

RecruiteeWidget.ThemeVars

Type: Object

Properties
fontFamily (string) : font-family

Defines CSS font-family for widget views.

baseFontSize (string) : font-size

Defines CSS base font-size for widget views.

text (string) : color
textDark (string) : color
primary (string) : color
secondary (string) : color
defaultButtonBackground (string) : color
defaultButtonText (string) : color
actionButtonBackground (string) : color
actionButtonText (string) : color
cancelButtonBackground (string) : color
cancelButtonText (string) : color

WIDGET_INSTANCES_COUNT

WIDGET_INSTANCES_COUNT
Parameters
config (RecruiteeWidget.Config) Configuration object
Example
// Default widget settings
<script type="text/javascript" src="https://d10zminp1cyta8.cloudfront.net/widget.js"></script>
<script type="text/javascript">
 var widget = new RecruiteeWidgetConfig({
   elementId: 'recruitee-careers',
   companies: [],
   language: 'en',
   themeVars: {
     text: '#5C6F78',
     textDark: '#37474F',
     primary: '#1999E3',
     secondary: '#ea5b74',
     fontFamily: '"Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;',
     baseFontSize: '16px',
     defaultButtonBackground: 'white',
     defaultButtonText: 'red',
     actionButtonBackground: 'red',
     actionButtonText: 'blue',
     cancelButtonBackground: 'green',
     cancelButtonText: 'orange'
   },
   detailsMode: 'popup',
   departmentsFilter: [],
   flags: {
     showLocation: true,
     showCountry: false,
     showCity: true,
     showApplyWithLinkedin: true,
     showApplyWithIndeed: true,
     groupByLocation: true,
     groupByDepartment: true,
     groupByCompany: true
   },
   useHashHistory: true,
   sourceQueryParams: ['utm_source', 'rt_source']
 });


// Subscribe to specific event
widget.trackEvent('view:change', function onDetailsWidgetEvt(evtName, [viewName, offer]) {
  console.log(`User navigated to ${viewName}`, viewName, offer);
});

widget.trackEvent('form:apply:success', function onApplyWidgetSuccessEvt(evtName, [viewName, offer]) {
  console.log(`User navigated to ${evtName}`, viewName, offer);
});

widget.trackEvent('form:apply:error', function onApplyWidgetErrorEvt(evtName, [viewName, offer, error]) {
  console.log(`User navigated to ${evtName}`, viewName, offer, error);
});

// Subscribe to all events
widget.trackAllEvents(function onAnyWidgetEvt(evtName, evtData) {
  console.log(`User navigated to ${evtName}`, evtData);
});

</script>