Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
Merge pull request #29820 from KevinGrandon/bug_1160069_fix_app_modal…
Browse files Browse the repository at this point in the history
…_dialog

Bug 1159136 - Use textContent for app modal dialog
  • Loading branch information
KevinGrandon committed Apr 30, 2015
2 parents faff798 + b64d0be commit 92b2e03
Showing 1 changed file with 7 additions and 19 deletions.
26 changes: 7 additions & 19 deletions apps/system/js/app_modal_dialog.js
Expand Up @@ -203,24 +203,12 @@
var title = this._getTitle(evt.detail.title);
var elements = this.elements;

function escapeHTML(str) {
var stringHTML = str;
stringHTML = stringHTML.replace(/</g, '&#60;');
stringHTML = stringHTML.replace(/(\r\n|\n|\r)/gm, '<br/>');
stringHTML = stringHTML.replace(/\s\s/g, ' &nbsp;');

return stringHTML.replace(/"/g, '&quot;').replace(/'/g, '&#x27;');
}

var type = evt.detail.promptType || evt.detail.type;
if (type !== 'selectone') {
message = escapeHTML(message);
}

switch (type) {
case 'alert':
elements.alertTitle.innerHTML = title;
elements.alertMessage.innerHTML = message;
elements.alertTitle.textContent = title;
elements.alertMessage.textContent = message;
elements.alert.classList.add('visible');
elements.alertOk.textContent = evt.yesText ? evt.yesText : _('ok');
elements.alert.focus();
Expand All @@ -231,8 +219,8 @@
case 'prompt':
elements.prompt.classList.add('visible');
elements.promptInput.value = evt.detail.initialValue;
elements.promptTitle.innerHTML = title;
elements.promptMessage.innerHTML = message;
elements.promptTitle.textContent = title;
elements.promptMessage.textContent = message;
elements.promptOk.textContent = evt.yesText ? evt.yesText : _('ok');
elements.promptCancel.textContent = evt.noText ?
evt.noText : _('cancel');
Expand All @@ -241,8 +229,8 @@

case 'confirm':
elements.confirm.classList.add('visible');
elements.confirmTitle.innerHTML = title;
elements.confirmMessage.innerHTML = message;
elements.confirmTitle.textContent = title;
elements.confirmMessage.textContent = message;
elements.confirmOk.textContent = evt.yesText ? evt.yesText : _('ok');
elements.confirmCancel.textContent = evt.noText ?
evt.noText : _('cancel');
Expand All @@ -258,7 +246,7 @@
case 'custom-prompt':
var customPrompt = evt.detail;
elements.customPrompt.classList.add('visible');
elements.customPromptMessage.innerHTML = customPrompt.message;
elements.customPromptMessage.textContent = customPrompt.message;
// Display custom list of buttons
elements.customPromptButtons.innerHTML = '';
elements.customPromptButtons.setAttribute('data-items',
Expand Down

0 comments on commit 92b2e03

Please sign in to comment.