1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /**
- * @file
- * Defines Javascript behaviors for the node module.
- */
- (function ($, Drupal, drupalSettings) {
- 'use strict';
- /**
- * Behaviors for tabs in the node edit form.
- *
- * @type {Drupal~behavior}
- *
- * @prop {Drupal~behaviorAttach} attach
- * Attaches summary behavior for tabs in the node edit form.
- */
- Drupal.behaviors.nodeDetailsSummaries = {
- attach: function (context) {
- var $context = $(context);
- $context.find('.node-form-revision-information').drupalSetSummary(function (context) {
- var $revisionContext = $(context);
- var revisionCheckbox = $revisionContext.find('.js-form-item-revision input');
- // Return 'New revision' if the 'Create new revision' checkbox is
- // checked, or if the checkbox doesn't exist, but the revision log does.
- // For users without the "Administer content" permission the checkbox
- // won't appear, but the revision log will if the content type is set to
- // auto-revision.
- if (revisionCheckbox.is(':checked') || (!revisionCheckbox.length && $revisionContext.find('.js-form-item-revision-log textarea').length)) {
- return Drupal.t('New revision');
- }
- return Drupal.t('No revision');
- });
- $context.find('.node-form-author').drupalSetSummary(function (context) {
- var $authorContext = $(context);
- var name = $authorContext.find('.field--name-uid input').val();
- var date = $authorContext.find('.field--name-created input').val();
- if (name && date) {
- return Drupal.t('By @name on @date', {'@name': name, '@date': date});
- }
- else if (name) {
- return Drupal.t('By @name', {'@name': name});
- }
- else if (date) {
- return Drupal.t('Authored on @date', {'@date': date});
- }
- });
- $context.find('.node-form-options').drupalSetSummary(function (context) {
- var $optionsContext = $(context);
- var vals = [];
- if ($optionsContext.find('input').is(':checked')) {
- $optionsContext.find('input:checked').next('label').each(function () {
- vals.push(Drupal.checkPlain($.trim($(this).text())));
- });
- return vals.join(', ');
- }
- else {
- return Drupal.t('Not promoted');
- }
- });
- $context.find('fieldset.node-translation-options').drupalSetSummary(function (context) {
- var $translationContext = $(context);
- var translate;
- var $checkbox = $translationContext.find('.js-form-item-translation-translate input');
- if ($checkbox.size()) {
- translate = $checkbox.is(':checked') ? Drupal.t('Needs to be updated') : Drupal.t('Does not need to be updated');
- }
- else {
- $checkbox = $translationContext.find('.js-form-item-translation-retranslate input');
- translate = $checkbox.is(':checked') ? Drupal.t('Flag other translations as outdated') : Drupal.t('Do not flag other translations as outdated');
- }
- return translate;
- });
- }
- };
- })(jQuery, Drupal, drupalSettings);
|