Career widget is customizable JavaScript which you can place into your company website.
Career widget displays all available information about vacancies posted from Teamio such as a list of open vacancies, job description and reply form.
We are providing a piece of JavaScript code snippet which needs to be placed into your website wherever your career section should be displayed.
Once you have configured the widget send us a request for the API key and widget ID which needs to be put into snippet configuration.
Snippet renders HTML structure with simple theme and other styling of it is up to you.
Paste this code into your web page.
<div id="capybara"></div>
<script type="application/javascript">
var __LMC_CAREER_WIDGET__ = {
apiKey: 'example_api_key',
widgetId: '12345000-0000-1000-a000-000000000000',
selector: '#capybara'
};
</script>
And this script (widget) you can put anywhere into head or body of html document (for example at the end of body or into your footer):
<script src="https://snippet.capybara.lmc.cz/js/widget-3.x.x.min.js" async defer></script>

https://snippet.capybara.lmc.cz/js/widget-<major-version>.x.x.min.js for latest major releasehttps://snippet.capybara.lmc.cz/js/widget-<semver-version>.min.js for specific releaseExamples:
https://snippet.capybara.lmc.cz/js/widget-3.x.x.min.jshttps://snippet.capybara.lmc.cz/js/widget-3.2.1.min.jsWe recommend to use
widget-<major-version>.x.x.min.jswhich is already up to date with latest major release.
We also recommend to load script directly from our servers to stay up to date with latest features and bug fixes.
https://snippet.capybara.lmc.cz/js/widget-3.x.x.min.jshttps://snippet.capybara.lmc.cz/js/widget-2.x.x.min.jshttps://snippet.capybara.lmc.cz/js/widget-1.x.x.min.jsSee latest changes in our public changelog file.
https://snippet.capybara.lmc.cz/changelog.htmlYou can pass configuration options to the widget by definition variable __LMC_CAREER_WIDGET__:
var __LMC_CAREER_WIDGET__ = {
...options
}
Widget will be rendered automatically after script is ready.
apiKey: string: credentials for communication with API backend; will be generated by us.widgetId: string: identification of exact widget; will be generated by us.selector: string: id or class name of html element in which will be widget renderedgtm: GtmConfig: enables Google Tag Manager tracking; by default nullid: string: Google Tag Manager tracking idinsertScript: boolean: inserts Google Tag Manager tracking script; by default falseverbose: boolean: enable debug logging into console; disabled by defaultscrolling: ScrollOptions: defines scrolling options after render pageoffsetTop: number: x-coord; by default 0behavior: string: Enum from ScrollToOptions dictionary; by default smoothdisableTracking: boolean: when true it disables storing tracking id into Local Storage; false by default For routing between widget views/screens/pages we are using query strings. Widget adds its query string parameters to an existing url and its parameters. It does not modify or replace existing url format or parameters
Please, make sure that your web server does not remove query string parameters from url. If so, please modify your webserver configuration or contact us for further assistance.
//?p=2/?r=detail&id=cpbr-1000000000/?r=reply&id=cpbr-1000000000You can add event listener to root container element and listen to widget custom events.
All events are bubbling { bubbles: true }.
Events are dispatched after component is rendered.
LMC_career_widget_listingRenderedLMC_career_widget_detailRendered with { detail: { jobAdId, positionName, customFields}}LMC_career_widget_replyFormRendered with { detail: { jobAdId, positionName, customFields}}LMC_career_widget_replyFormHoorayRendered with { detail: { jobAdId}}LMC_career_widget_errorRendered with { detail: { errorType: 'generalError | positionError | pageNotFound'}}LMC_career_widget_pageRendered with { detail: { pageType: 'listing | detail | replyForm | hooray', jobAdId, positionName, customFields}}Events are dispatched on transitions between pages.
LMC_career_widget_pageLeft with { detail: { pageType: 'listing | detail | replyForm | hooray', jobAdId, positionName, customFields}}Example:
<script>
function eventHandler(event) {
console.log('The detail is: ' + JSON.stringify(event.detail));
}
var container = document && document.getElementById('capybara');
container.addEventListener('LMC_career_widget_listingRendered', eventHandler);
</script>
If there is something that does not work or if you need to get API Key or WidgetId, please, contact us.