--- /dev/null
+/**
+ * @file
+ * Defines Javascript behaviors for the node module.
+ */
+
+(function ($, Drupal, drupalSettings) {
+ /**
+ * 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(context) {
+ const $context = $(context);
+
+ $context.find('.node-form-author').drupalSetSummary((context) => {
+ const $authorContext = $(context);
+ const name = $authorContext.find('.field--name-uid input').val();
+ const 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((context) => {
+ const $optionsContext = $(context);
+ const 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(', ');
+ }
+
+ return Drupal.t('Not promoted');
+ });
+ },
+ };
+}(jQuery, Drupal, drupalSettings));