This is a base element.

That includes:

  • i18next initialization.
  • Bootstrap (custom build + color in vars), Font Awesome, reset and some custom style.
  • Configuration directly available by overriding the initConfig method.
  • RXJS subscription added to subscriptions are unsubscribe on element removal. Example:
   import {html, css} from 'lit';
import {customElement} from 'lit/decorators.js';

// @ts-ignore
@customElement('my-element')
export default class MyElement extent (window as any).gmfapi.elements.BaseElement {
static styles = [
...(window as any).gmfapi.elements.BaseElement.styles,
css`...`
];

initConfig(configuration: Any): void {
...
};

render(): TemplateResult {
return html`${this.getTitle(i18next.t('Title'))}
your template`
}
}

Hierarchy (view full)

Other

bootstrapStyle: CSSResult = cssBootstrap
bootstrapVarStyle: CSSResult = ...
commonStyle: CSSResult = ...
fontawesomeStyle: CSSResult = cssFontawesome
resetStyle: CSSResult = cssReset
  • Calls the authentication service changePassword method.

    Parameters

    • evt: Event

      the event

    Returns void

  • Calls the authentication service login method.

    Parameters

    • evt: Event

      Event from the form submit action.

    Returns void

  • Calls the authentication service logout method.

    Parameters

    • evt: Event

      Event from the form submit action.

    Returns void

  • Calls the authentication service resetPassword method.

    Parameters

    • evt: Event

      Event from the form submit action.

    Returns void

  • Set an error notification.

    Parameters

    • errors: string[]

      List of errors

    • OptionalmessageType: MessageType

      Type of message

    Returns void

lifecycle

  • Invoked when the component is added to the document's DOM.

    In connectedCallback() you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.

    connectedCallback() {
    super.connectedCallback();
    addEventListener('keydown', this._handleKeydown);
    }

    Typically, anything done in connectedCallback() should be undone when the element is disconnected, in disconnectedCallback().

    Returns void

  • Invoked when the component is removed from the document's DOM.

    This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.

    disconnectedCallback() {
    super.disconnectedCallback();
    window.removeEventListener('keydown', this._handleKeydown);
    }

    An element may be re-connected after being disconnected.

    Returns void

styles

styles: CSSResult[] = ...

Array of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.

Note on Content Security Policy:

Element styles are implemented with <style> tags when the browser doesn't support adopted StyleSheets. To use such <style> tags with the style-src CSP directive, the style-src value must either include 'unsafe-inline' or nonce-<base64-value> with <base64-value> replaced be a server-generated nonce.

To provide a nonce to use on generated <style> elements, set window.litNonce to a server-generated nonce in your page's HTML, before loading application code:

<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>