73 lines
1.7 KiB
PHP
73 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* @file classes/linkAction/request/EventAction.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class EventAction
|
|
*
|
|
* @ingroup linkAction_request
|
|
*
|
|
* @brief This action triggers a Javascript event.
|
|
*/
|
|
|
|
namespace PKP\linkAction\request;
|
|
|
|
class EventAction extends LinkActionRequest
|
|
{
|
|
/** @var string Target selector */
|
|
public $targetSelector;
|
|
|
|
/** @var string Event name */
|
|
public $eventName;
|
|
|
|
/** @var array Event options */
|
|
public $options;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param string $targetSelector Selector for target to receive event.
|
|
* @param string $eventName Name of Javascript event to trigger.
|
|
*/
|
|
public function __construct($targetSelector, $eventName, $options = [])
|
|
{
|
|
parent::__construct();
|
|
$this->targetSelector = $targetSelector;
|
|
$this->eventName = $eventName;
|
|
$this->options = $options;
|
|
}
|
|
|
|
|
|
//
|
|
// Overridden protected methods from LinkActionRequest
|
|
//
|
|
/**
|
|
* @see LinkActionRequest::getJSLinkActionRequest()
|
|
*/
|
|
public function getJSLinkActionRequest()
|
|
{
|
|
return '$.pkp.classes.linkAction.EventAction';
|
|
}
|
|
|
|
/**
|
|
* @see LinkActionRequest::getLocalizedOptions()
|
|
*/
|
|
public function getLocalizedOptions()
|
|
{
|
|
return array_merge(
|
|
$this->options,
|
|
[
|
|
'target' => $this->targetSelector,
|
|
'event' => $this->eventName,
|
|
]
|
|
);
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\linkAction\request\EventAction', '\EventAction');
|
|
}
|