Mercurial > hg > cmmr2012-drupal-site
diff core/modules/node/node.preview.js @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | a9cd425dd02b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/node/node.preview.js Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,61 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function ($, Drupal) { + Drupal.behaviors.nodePreviewDestroyLinks = { + attach: function attach(context) { + function clickPreviewModal(event) { + if (event.button === 0 && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + event.preventDefault(); + var $previewDialog = $('<div>' + Drupal.theme('nodePreviewModal') + '</div>').appendTo('body'); + Drupal.dialog($previewDialog, { + title: Drupal.t('Leave preview?'), + buttons: [{ + text: Drupal.t('Cancel'), + click: function click() { + $(this).dialog('close'); + } + }, { + text: Drupal.t('Leave preview'), + click: function click() { + window.top.location.href = event.target.href; + } + }] + }).showModal(); + } + } + + var $preview = $(context).find('.content').once('node-preview'); + if ($(context).find('.node-preview-container').length) { + $preview.on('click.preview', 'a:not([href^=#], #edit-backlink, #toolbar-administration a)', clickPreviewModal); + } + }, + detach: function detach(context, settings, trigger) { + if (trigger === 'unload') { + var $preview = $(context).find('.content').removeOnce('node-preview'); + if ($preview.length) { + $preview.off('click.preview'); + } + } + } + }; + + Drupal.behaviors.nodePreviewSwitchViewMode = { + attach: function attach(context) { + var $autosubmit = $(context).find('[data-drupal-autosubmit]').once('autosubmit'); + if ($autosubmit.length) { + $autosubmit.on('formUpdated.preview', function () { + $(this.form).trigger('submit'); + }); + } + } + }; + + Drupal.theme.nodePreviewModal = function () { + return '<p>' + Drupal.t('Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?') + '</p><small class="description">' + Drupal.t('CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.') + '</small>'; + }; +})(jQuery, Drupal); \ No newline at end of file