cms/drupal/modules/system/system.js
changeset 541 e756a8c72c3d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/drupal/modules/system/system.js	Fri Sep 08 12:04:06 2017 +0200
@@ -0,0 +1,140 @@
+(function ($) {
+
+/**
+ * Show/hide the 'Email site administrator when updates are available' checkbox
+ * on the install page.
+ */
+Drupal.hideEmailAdministratorCheckbox = function () {
+  // Make sure the secondary box is shown / hidden as necessary on page load.
+  if ($('#edit-update-status-module-1').is(':checked')) {
+    $('.form-item-update-status-module-2').show();
+  }
+  else {
+    $('.form-item-update-status-module-2').hide();
+  }
+
+  // Toggle the display as necessary when the checkbox is clicked.
+  $('#edit-update-status-module-1').change( function () {
+    $('.form-item-update-status-module-2').toggle();
+  });
+};
+
+/**
+ * Internal function to check using Ajax if clean URLs can be enabled on the
+ * settings page.
+ *
+ * This function is not used to verify whether or not clean URLs
+ * are currently enabled.
+ */
+Drupal.behaviors.cleanURLsSettingsCheck = {
+  attach: function (context, settings) {
+    // This behavior attaches by ID, so is only valid once on a page.
+    // Also skip if we are on an install page, as Drupal.cleanURLsInstallCheck will handle
+    // the processing.
+    if (!($('#edit-clean-url').length) || $('#edit-clean-url.install').once('clean-url').length) {
+      return;
+    }
+    var url = settings.basePath + 'admin/config/search/clean-urls/check';
+    $.ajax({
+      url: location.protocol + '//' + location.host + url,
+      dataType: 'json',
+      success: function () {
+        // Check was successful. Redirect using a "clean URL". This will force the form that allows enabling clean URLs.
+        location = settings.basePath +"admin/config/search/clean-urls";
+      }
+    });
+  }
+};
+
+/**
+ * Internal function to check using Ajax if clean URLs can be enabled on the
+ * install page.
+ *
+ * This function is not used to verify whether or not clean URLs
+ * are currently enabled.
+ */
+Drupal.cleanURLsInstallCheck = function () {
+  var url = location.protocol + '//' + location.host + Drupal.settings.basePath + 'admin/config/search/clean-urls/check';
+  // Submit a synchronous request to avoid database errors associated with
+  // concurrent requests during install.
+  $.ajax({
+    async: false,
+    url: url,
+    dataType: 'json',
+    success: function () {
+      // Check was successful.
+      $('#edit-clean-url').attr('value', 1);
+    }
+  });
+};
+
+/**
+ * When a field is filled out, apply its value to other fields that will likely
+ * use the same value. In the installer this is used to populate the
+ * administrator e-mail address with the same value as the site e-mail address.
+ */
+Drupal.behaviors.copyFieldValue = {
+  attach: function (context, settings) {
+    for (var sourceId in settings.copyFieldValue) {
+      $('#' + sourceId, context).once('copy-field-values').bind('blur', function () {
+        // Get the list of target fields.
+        var targetIds = settings.copyFieldValue[sourceId];
+        // Add the behavior to update target fields on blur of the primary field.
+        for (var delta in targetIds) {
+          var targetField = $('#' + targetIds[delta]);
+          if (targetField.val() == '') {
+            targetField.val(this.value);
+          }
+        }
+      });
+    }
+  }
+};
+
+/**
+ * Show/hide custom format sections on the regional settings page.
+ */
+Drupal.behaviors.dateTime = {
+  attach: function (context, settings) {
+    for (var fieldName in settings.dateTime) {
+      if (settings.dateTime.hasOwnProperty(fieldName)) {
+        (function (fieldSettings, fieldName) {
+          var source = '#edit-' + fieldName;
+          var suffix = source + '-suffix';
+
+          // Attach keyup handler to custom format inputs.
+          $('input' + source, context).once('date-time').keyup(function () {
+            var input = $(this);
+            var url = fieldSettings.lookup + (/\?/.test(fieldSettings.lookup) ? '&format=' : '?format=') + encodeURIComponent(input.val());
+            $.getJSON(url, function (data) {
+              $(suffix).empty().append(' ' + fieldSettings.text + ': <em>' + data + '</em>');
+            });
+          });
+        })(settings.dateTime[fieldName], fieldName);
+      }
+    }
+  }
+};
+
+ /**
+ * Show/hide settings for page caching depending on whether page caching is
+ * enabled or not.
+ */
+Drupal.behaviors.pageCache = {
+  attach: function (context, settings) {
+    $('#edit-cache-0', context).change(function () {
+      $('#page-compression-wrapper').hide();
+      $('#cache-error').hide();
+    });
+    $('#edit-cache-1', context).change(function () {
+      $('#page-compression-wrapper').show();
+      $('#cache-error').hide();
+    });
+    $('#edit-cache-2', context).change(function () {
+      $('#page-compression-wrapper').show();
+      $('#cache-error').show();
+    });
+  }
+};
+
+})(jQuery);