Skip to content
This repository has been archived by the owner on May 26, 2020. It is now read-only.

Commit

Permalink
Merge pull request #65 from joomla-projects/remove-inline-scripts/com…
Browse files Browse the repository at this point in the history
…ponents/com_mailto/tmpl/mailto/default.php

Remove inline scripts/components/com mailto/tmpl/mailto/default.php
  • Loading branch information
dneukirchen committed Feb 25, 2018
2 parents 6fa2e79 + 4e55c1d commit bd1c030
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 17 deletions.
26 changes: 9 additions & 17 deletions components/com_mailto/tmpl/mailto/default.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,25 @@

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

JHtml::_('behavior.core');
JHtml::_('behavior.keepalive');

$data = $this->get('data');
Text::script('COM_MAILTO_EMAIL_ERR_NOINFO', true);

JFactory::getDocument()->addScriptDeclaration("
Joomla.submitbutton = function(pressbutton)
{
var form = document.getElementById('mailtoForm');
HTMLHelper::_('script', 'com_mailto/mailto-default.js', ['relative' => true, 'version' => 'auto']);

// do field validation
if (form.mailto.value == '' || form.from.value == '')
{
alert('" . JText::_('COM_MAILTO_EMAIL_ERR_NOINFO', true) . "');
return false;
}
form.submit();
}
");
$data = $this->get('data');
?>

<div id="mailto-window" class="p-2">
<h2>
<?php echo JText::_('COM_MAILTO_EMAIL_TO_A_FRIEND'); ?>
</h2>
<div class="mailto-close">
<a href="javascript: void window.close()" title="<?php echo JText::_('COM_MAILTO_CLOSE_WINDOW'); ?>">
<a title="<?php echo JText::_('COM_MAILTO_CLOSE_WINDOW'); ?>" href="#" class="close-mailto">
<span>
<?php echo JText::_('COM_MAILTO_CLOSE_WINDOW'); ?>
</span></a>
Expand Down Expand Up @@ -83,10 +75,10 @@
</div>
</div>
<div class="control-group">
<button type="button" class="btn btn-secondary" onclick="window.close();return false;">
<button type="button" class="btn btn-secondary close-mailto">
<?php echo JText::_('COM_MAILTO_CANCEL'); ?>
</button>
<button type="button" class="btn btn-success" onclick="return Joomla.submitbutton('send');">
<button type="submit" class="btn btn-success">
<?php echo JText::_('COM_MAILTO_SEND'); ?>
</button>
</div>
Expand Down
51 changes: 51 additions & 0 deletions media/com_mailto/js/mailto-default.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
(function (window, document, JText) {
'use strict';

// Selectors used by this script
var formId = 'mailtoForm';
var closeSelector = '.close-mailto';

/**
* Handle the form submit event
* @param event
*/
var handleFormSubmit = function (event) {
event.preventDefault();
var form = event.target;

// Simple form validation
if (form.mailto.value === '' || form.from.value === '') {
alert(JText._('COM_MAILTO_EMAIL_ERR_NOINFO'));
return;
}

form.submit();
};

/**
* Register events
*/
var registerEvents = function () {
// Register the submit event listener
document.getElementById(formId).addEventListener('submit', handleFormSubmit);

// Register the close click listener
var closeElements = [].slice.call(document.querySelectorAll(closeSelector));
console.log(closeElements);
closeElements.forEach(function (closeElement) {
closeElement.addEventListener('click', function(event) {
event.preventDefault();
window.close();
});
});
};

document.addEventListener('DOMContentLoaded', function () {
registerEvents();
});

})(window, document, Joomla.JText);

0 comments on commit bd1c030

Please sign in to comment.