/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function ($, Drupal) {
Drupal.quickedit.util = Drupal.quickedit.util || {};
Drupal.quickedit.util.constants = {};
Drupal.quickedit.util.constants.transitionEnd = 'transitionEnd.quickedit webkitTransitionEnd.quickedit transitionend.quickedit msTransitionEnd.quickedit oTransitionEnd.quickedit';
Drupal.quickedit.util.buildUrl = function (id, urlFormat) {
var parts = id.split('/');
return Drupal.formatString(decodeURIComponent(urlFormat), {
'!entity_type': parts[0],
'!id': parts[1],
'!field_name': parts[2],
'!langcode': parts[3],
'!view_mode': parts[4]
});
};
Drupal.quickedit.util.networkErrorModal = function (title, message) {
var $message = $('
' + message + '
');
var networkErrorModal = Drupal.dialog($message.get(0), {
title: title,
dialogClass: 'quickedit-network-error',
buttons: [{
text: Drupal.t('OK'),
click: function click() {
networkErrorModal.close();
},
primary: true
}],
create: function create() {
$(this).parent().find('.ui-dialog-titlebar-close').remove();
},
close: function close(event) {
$(event.target).remove();
}
});
networkErrorModal.showModal();
};
Drupal.quickedit.util.form = {
load: function load(options, callback) {
var fieldID = options.fieldID;
var formLoaderAjax = Drupal.ajax({
url: Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/form/!entity_type/!id/!field_name/!langcode/!view_mode')),
submit: {
nocssjs: options.nocssjs,
reset: options.reset
},
error: function error(xhr, url) {
var fieldLabel = Drupal.quickedit.metadata.get(fieldID, 'label');
var message = Drupal.t('Could not load the form for @field-label
, either due to a website problem or a network connection problem.
Please try again.', { '@field-label': fieldLabel });
Drupal.quickedit.util.networkErrorModal(Drupal.t('Network problem!'), message);
var fieldModel = Drupal.quickedit.app.model.get('activeField');
fieldModel.set('state', 'candidate');
}
});
formLoaderAjax.commands.quickeditFieldForm = function (ajax, response, status) {
callback(response.data, ajax);
Drupal.ajax.instances[this.instanceIndex] = null;
};
formLoaderAjax.execute();
},
ajaxifySaving: function ajaxifySaving(options, $submit) {
var settings = {
url: $submit.closest('form').attr('action'),
setClick: true,
event: 'click.quickedit',
progress: false,
submit: {
nocssjs: options.nocssjs,
other_view_modes: options.other_view_modes
},
success: function success(response, status) {
var _this = this;
Object.keys(response || {}).forEach(function (i) {
if (response[i].command && _this.commands[response[i].command]) {
_this.commands[response[i].command](_this, response[i], status);
}
});
},
base: $submit.attr('id'),
element: $submit[0]
};
return Drupal.ajax(settings);
},
unajaxifySaving: function unajaxifySaving(ajax) {
$(ajax.element).off('click.quickedit');
}
};
})(jQuery, Drupal);