summaryrefslogtreecommitdiffstatshomepage
path: root/core/misc/ajax.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/misc/ajax.js')
-rw-r--r--core/misc/ajax.js40
1 files changed, 23 insertions, 17 deletions
diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index 955cf12d221..a899f4a9b99 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -27,23 +27,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
}
}
- $('.use-ajax').once('ajax').each(function () {
- var element_settings = {};
-
- element_settings.progress = { type: 'throbber' };
-
- var href = $(this).attr('href');
- if (href) {
- element_settings.url = href;
- element_settings.event = 'click';
- }
- element_settings.dialogType = $(this).data('dialog-type');
- element_settings.dialogRenderer = $(this).data('dialog-renderer');
- element_settings.dialog = $(this).data('dialog-options');
- element_settings.base = $(this).attr('id');
- element_settings.element = this;
- Drupal.ajax(element_settings);
- });
+ Drupal.ajax.bindAjaxLinks(document.body);
$('.use-ajax-submit').once('ajax').each(function () {
var element_settings = {};
@@ -137,6 +121,28 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
});
};
+ Drupal.ajax.bindAjaxLinks = function (element) {
+ $(element).find('.use-ajax').once('ajax').each(function (i, ajaxLink) {
+ var $linkElement = $(ajaxLink);
+
+ var elementSettings = {
+ progress: { type: 'throbber' },
+ dialogType: $linkElement.data('dialog-type'),
+ dialog: $linkElement.data('dialog-options'),
+ dialogRenderer: $linkElement.data('dialog-renderer'),
+ base: $linkElement.attr('id'),
+ element: ajaxLink
+ };
+ var href = $linkElement.attr('href');
+
+ if (href) {
+ elementSettings.url = href;
+ elementSettings.event = 'click';
+ }
+ Drupal.ajax(elementSettings);
+ });
+ };
+
Drupal.Ajax = function (base, element, element_settings) {
var defaults = {
event: element ? 'mousedown' : null,