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