In package.json, turn includeModal:'true'
Using modal dialogs is a common design pattern with core apps. This helper does most of the work for you, including AODA compliance.
The method below is a static method of the cot_app (if your app is standalone) or CotApp (if your app is embedded) class.
Use it like this:
CotApp.showModal(options); //embedded apps cot_app.showModal(options); //standalone apps |
Property | Description | Example | ||||
---|---|---|---|---|---|---|
preset | string Optional. Loads template. | Default is Possible values are
| ||||
title | String Title of the modal. Accepts HTML |
| ||||
body | String Body of the modal. Accepts HTML | zoom | ||||
modalSize | String Set the default bootstrap size of the modal. |
| ||||
originatingElement | String An element (DOM or $-selected) to set focus to after the modal is closed, use for accessibility |
| ||||
className | String Optional, CSS class to put on the root div.modal element |
| ||||
bootstrapType | string Optional. When preset='alert', sets a bootstrap alert class to the modal. | Default is 'default'. Possible values are | ||||
callback | Function Required if preset='confirm'. Callback function when user confirms the message | |||||
buttons | Object Optional. When preset='confirm' will change the buttons content and class |
| ||||
onShow | Function Hook into boostrap modal events | |||||
onShown | Function Hook into boostrap modal events | |||||
onHide | Function Hook into boostrap modal events | |||||
onHidden | Function Hook into boostrap modal events | |||||
footerButtonsHtml | Function Let's the user define the footer for the modal | Example / Usage Details
There are two functions calls made when the 'confirm' preset is being used
Then the final footer is being built:
To customize the footer you will want to do the last code section expect for the |
CotApp.showModal({ originatingElement:$('#target_to_focus_when_modal_close'), title: "This is the title", body: "<p>Content goes here</p><p>Include <strong>HTML</strong> if you <em>want</em></p>", modalSize: "modal-lg", onShow:function(){ console.log('this event happens onShow'); }, onShown:function(){ console.log('this event happens onShown'); }, onHide:function(){ console.log('this event happens onHide'); }, onHidden:function(){ console.log('this event happens onHidden'); } }) |
CotApp.showModal({ preset:'alert', bootstrapType:'danger', // primary | success | info | danger | warning originatingElement:$('#target_to_focus_when_modal_close'), body: "<p>Warning ! This is an alert !</p>", modalSize: "modal-md" }) |
CotApp.showModal({ preset:'confirm', originatingElement:$('#target_to_focus_when_modal_close'), title:'Answer the question', body: "<p>Do you really really want it !</p>", modalSize: "modal-md", callback:function(){ alert('You confirmed !') } }) |
CotApp.showModal({ preset:'confirm', originatingElement:$('#target_to_focus_when_modal_close'), title:'Answer the question', body: "<p>Do you really really want it !</p>", modalSize: "modal-md", buttons: { cancel: { label: ' Custom cancel button', bootstrapType: 'danger' }, confirm: { label: 'Custom Confirm !', bootstrapType: 'success' } }, callback:function(){ alert('You confirmed !') } }) |
Page Tree