Chris@0
|
1 /**
|
Chris@0
|
2 * @file
|
Chris@0
|
3 * Defines Javascript behaviors for the block_content module.
|
Chris@0
|
4 */
|
Chris@0
|
5
|
Chris@17
|
6 (function($, Drupal) {
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Sets summaries about revision and translation of entities.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @type {Drupal~behavior}
|
Chris@0
|
11 *
|
Chris@0
|
12 * @prop {Drupal~behaviorAttach} attach
|
Chris@0
|
13 * Attaches summary behaviour entity form tabs.
|
Chris@0
|
14 *
|
Chris@0
|
15 * Specifically, it updates summaries to the revision information and the
|
Chris@0
|
16 * translation options.
|
Chris@0
|
17 */
|
Chris@0
|
18 Drupal.behaviors.entityContentDetailsSummaries = {
|
Chris@0
|
19 attach(context) {
|
Chris@0
|
20 const $context = $(context);
|
Chris@17
|
21 $context
|
Chris@17
|
22 .find('.entity-content-form-revision-information')
|
Chris@17
|
23 .drupalSetSummary(context => {
|
Chris@17
|
24 const $revisionContext = $(context);
|
Chris@17
|
25 const revisionCheckbox = $revisionContext.find(
|
Chris@17
|
26 '.js-form-item-revision input',
|
Chris@17
|
27 );
|
Chris@0
|
28
|
Chris@17
|
29 // Return 'New revision' if the 'Create new revision' checkbox is checked,
|
Chris@17
|
30 // or if the checkbox doesn't exist, but the revision log does. For users
|
Chris@17
|
31 // without the "Administer content" permission the checkbox won't appear,
|
Chris@17
|
32 // but the revision log will if the content type is set to auto-revision.
|
Chris@17
|
33 if (
|
Chris@17
|
34 revisionCheckbox.is(':checked') ||
|
Chris@17
|
35 (!revisionCheckbox.length &&
|
Chris@17
|
36 $revisionContext.find('.js-form-item-revision-log textarea')
|
Chris@17
|
37 .length)
|
Chris@17
|
38 ) {
|
Chris@17
|
39 return Drupal.t('New revision');
|
Chris@17
|
40 }
|
Chris@0
|
41
|
Chris@17
|
42 return Drupal.t('No revision');
|
Chris@17
|
43 });
|
Chris@0
|
44
|
Chris@17
|
45 $context
|
Chris@17
|
46 .find('details.entity-translation-options')
|
Chris@17
|
47 .drupalSetSummary(context => {
|
Chris@17
|
48 const $translationContext = $(context);
|
Chris@17
|
49 let translate;
|
Chris@17
|
50 let $checkbox = $translationContext.find(
|
Chris@17
|
51 '.js-form-item-translation-translate input',
|
Chris@17
|
52 );
|
Chris@0
|
53
|
Chris@17
|
54 if ($checkbox.length) {
|
Chris@17
|
55 translate = $checkbox.is(':checked')
|
Chris@17
|
56 ? Drupal.t('Needs to be updated')
|
Chris@17
|
57 : Drupal.t('Does not need to be updated');
|
Chris@17
|
58 } else {
|
Chris@17
|
59 $checkbox = $translationContext.find(
|
Chris@17
|
60 '.js-form-item-translation-retranslate input',
|
Chris@17
|
61 );
|
Chris@17
|
62 translate = $checkbox.is(':checked')
|
Chris@17
|
63 ? Drupal.t('Flag other translations as outdated')
|
Chris@17
|
64 : Drupal.t('Do not flag other translations as outdated');
|
Chris@17
|
65 }
|
Chris@0
|
66
|
Chris@17
|
67 return translate;
|
Chris@17
|
68 });
|
Chris@0
|
69 },
|
Chris@0
|
70 };
|
Chris@17
|
71 })(jQuery, Drupal);
|