123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /**
- * 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 = $('<div>' + message + '</div>');
- 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 <q>@field-label</q>, either due to a website problem or a network connection problem.<br>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);
|