--- /dev/null
+/**
+ * @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-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');
+ }
+ });
+ }
+ };
+
+})(jQuery, Drupal, drupalSettings);