Skip to content

Commit

Permalink
feat: add closeButtonHtml param (#1668)
Browse files Browse the repository at this point in the history
* feat: add closeButtonHtml param

* Add test for close button customization
  • Loading branch information
limonte committed Jul 18, 2019
1 parent 005fe07 commit 7f5d662
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/utils/dom/init.js
Expand Up @@ -23,7 +23,7 @@ const sweetHTML = `
</div>
<img class="${swalClasses.image}" />
<h2 class="${swalClasses.title}" id="${swalClasses.title}"></h2>
<button type="button" class="${swalClasses.close}">&times;</button>
<button type="button" class="${swalClasses.close}"></button>
</div>
<div class="${swalClasses.content}">
<div id="${swalClasses.content}"></div>
Expand Down
2 changes: 2 additions & 0 deletions src/utils/dom/renderers/renderCloseButton.js
Expand Up @@ -3,6 +3,8 @@ import * as dom from '../../dom/index.js'
export const renderCloseButton = (instance, params) => {
const closeButton = dom.getCloseButton()

closeButton.innerHTML = params.closeButtonHtml

// Custom class
dom.applyCustomClass(closeButton, params.customClass, 'closeButton')

Expand Down
1 change: 1 addition & 0 deletions src/utils/params.js
Expand Up @@ -35,6 +35,7 @@ const defaultParams = {
focusConfirm: true,
focusCancel: false,
showCloseButton: false,
closeButtonHtml: '&times;',
closeButtonAriaLabel: 'Close this dialog',
showLoaderOnConfirm: false,
imageUrl: null,
Expand Down
7 changes: 7 additions & 0 deletions sweetalert2.d.ts
Expand Up @@ -686,6 +686,13 @@ declare module 'sweetalert2' {
*/
showCloseButton?: boolean;

/**
* Use this to change the content of the close button.
*
* @default '&times;'
*/
closeButtonHtml?: string;

/**
* Use this to change the `aria-label` for the close button.
*
Expand Down
12 changes: 12 additions & 0 deletions test/qunit/tests.js
Expand Up @@ -647,6 +647,18 @@ QUnit.test('close button', (assert) => {
assert.equal(closeButton.getAttribute('aria-label'), 'Close this dialog')
closeButton.click()
})

QUnit.test('close button customization', (assert) => {
Swal.fire({
title: 'Customized Close button test',
showCloseButton: true,
closeButtonHtml: 'c'
})

const closeButton = $('.swal2-close')
assert.equal(closeButton.innerHTML, 'c')
})

QUnit.test('cancel button', (assert) => {
const done = assert.async()

Expand Down

0 comments on commit 7f5d662

Please sign in to comment.