@exmg/exmg-dialogs
TypeScript icon, indicating that this package has built-in type declarations

9.0.12 • Public • Published

<exmg-dialogs> Published on npm

Exmg Dialogs

Form Dialog

Form dialogs will handle styling, validation and make form submit easier. Also a loading indicator will be shown during the submit handling.

Example of implementation in html

<exmg-dialog-form title="Create account" button-copy="Save" @submit="${this.createAccount}">
  <paper-input name="name" label="Name" required></paper-input>
  <paper-input name="password" label="Password" required></paper-input>
</exmg-dialog-form>

Example of how submit could be handled

createAccount(e) {
  const {detail, target} = e;
  const {name, password} = detail;

  try {
    // Throw error to simulate error
    if(password.length < 6) {
      throw Error('User password to simple')
    }

    // Do server call

    // notify dialog successfull
    target.done();
  } catch (error) {
    target.handleError(error);
  }
}

Info Dialog

Info dialogs will handle styling, and content. Will throw a done event once the user clicked the button.

Example of implementation in html

<exmg-dialog-info button-copy="Continue" @done="${this.done}">
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pharetra turpis. Nullam tincidunt aliquet
    condimentum.
  </p>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pharetra turpis. Nullam tincidunt aliquet
    condimentum.
  </p>
</exmg-dialog-info>

Example of implementation in html without close button option

<exmg-dialog-info button-copy="Continue" hide-close-button @done="${this.done}">
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pharetra turpis. Nullam tincidunt aliquet
    condimentum.
  </p>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pharetra turpis. Nullam tincidunt aliquet
    condimentum.
  </p>
</exmg-dialog-info>

Example of how done could be handled

done(e) {
  const {target} = e;
  // Closes the dialog ...
  target.close();
}

Confirmation Dialogs

Easy way to display a pre styled confirmation dialog.

Example

<exmg-dialog-confirm
  title="Confirmation"
  message="Are you sure you want to delete this item?"
  button-copy="Delete account"
  @submit="${this.deleteItem}"
>
</exmg-dialog-confirm>
deleteItem(e) {
  const {target} = e;
  try {
    // Do server call

    // notify dialog successfull
    target.done();
  } catch (error) {
    target.error(error);
  }
}

API

<exmg-dialog-form />

Property Usage
title: string Displayed title of the Dialog
button-copy: string Displayed text of the submit button
hide-close-button: boolean If set to true the dialog will not show a close icon
error-message: string Error text to display when the form is in error state
@submit Event thrown when hitting the submit button, will serialize the form and return values in detail of the event
@cancel Event thrown when hitting the cancel button

<exmg-dialog-confirm />

Property Usage
title: string Displayed title of the Dialog
message: string Displayed message of the Dialog
button-copy: string Displayed text of the submit button
hide-close-button: boolean If set to true the dialog will not show a close icon
error-message: string Error text to display when the form is in error state
@submit Event thrown when hitting the submit button, will serialize the form and return values in detail of the event
@cancel Event thrown when hitting the cancel button

<exmg-dialog-confirm />

This element exposes a slot to wrap up any content you put in.

Property Usage
button-copy: string Displayed text of the submit button
hide-close-button: boolean If set to true the dialog will not show a close icon
button-secondary: boolean If set to true the button will be with secondary theme
@done Event thrown when hitting the main button

Additional references

Readme

Keywords

none

Package Sidebar

Install

npm i @exmg/exmg-dialogs

Weekly Downloads

14

Version

9.0.12

License

MIT

Unpacked Size

38.3 kB

Total Files

18

Last publish

Collaborators

  • licenses
  • xm-nuel
  • livery-ci
  • exm_erwingoossen
  • martinkolkman
  • em-jeroenv
  • nicholas-exmachina
  • marksmits
  • difosfor
  • tylerexmg
  • padamieo_exmachina
  • albert_exm
  • rdrgcnn
  • sander_exmachina
  • joepadmiraal
  • exmachina-ci
  • remonvv
  • kjelles