prius-2.0.0-rc1/starterkit/color/preview.js

starterkit/color/preview.js
/**
 * @file
 * Preview for the Mayo theme.
 */
(function ($, Drupal, drupalSettings) {

  "use strict";

  Drupal.color = {
    logoChanged: false,
    bgChanged: false,
    callback: function(context, settings, form, farb, height, width) {

      // Move the color wheel downwards
      $('#placeholder', form).css('margin-top', '300px'); // adjusted based on Seven theme

      // Apply layout style
      if (drupalSettings.color.layout_style == 2) {
        // No page margin to header and footer
        $('#preview #preview-page', form).css('padding', '0px');
        $('#preview #preview-main', form).css('padding', '0px 10px');
      }
      // Apply sidebar layout style
      if (drupalSettings.color.sb_layout_style == 3) { // right sidebar
        $('#preview .sidebar', form).css('float', 'right');
        if (drupalSettings.color.layout_style == 2) {
          $('#preview .sidebar', form).css('margin-right', '20px');
        }
        else {
          $('#preview .sidebar', form).css('margin-right', '0px');
        }
        $('#preview #preview-content', form).css('margin-left', '0px');
        $('#preview #preview-content', form).css('margin-right', '10px');
      }
      else {
        $('#preview .sidebar', form).css('float', 'left');
        $('#preview #preview-content', form).css('margin-left', '10px');
        $('#preview #preview-content', form).css('margin-right', '0px');
      }

      // Apply base vertical margin
      $('#preview #preview-page-wrapper', form).css('padding-top', drupalSettings.color.base_vmargin);
      $('#preview #preview-page-wrapper', form).css('padding-bottom', drupalSettings.color.base_vmargin);

      // Change the logo to be the real one.
      if (!this.logoChanged) {
        $('#preview #preview-logo img').attr('src', drupalSettings.color.logo);
        this.logoChanged = true;
      }
      // Remove the logo if the setting is toggled off.
      if (drupalSettings.color.logo === null) {
        $('div').remove('#preview-logo');
      }

      // Base background.
      $('#preview-page-wrapper', form).css('background-color', $('#palette input[name="palette[wall]"]', form).val());

      // Page background.
      $('#preview-page', form).css('background-color', $('#palette input[name="palette[bg]"]', form).val());


      // Generic text and link
      $('#preview', form).css('color', $('#palette input[name="palette[text]"]', form).val());
      $('#preview table tr td', form).css('color', $('#palette input[name="palette[text]"]', form).val());
      $('#preview table tr th', form).css('color', $('#palette input[name="palette[text]"]', form).val());
      $('#preview a', form).css('color', $('#palette input[name="palette[link]"]', form).val());


      // Page title background.
      $('#preview-page-title', form).css('background-color', $('#palette input[name="palette[pagetitle]"]', form).val());

      // Page title text
      $('#preview-page-title', form).css('color', $('#palette input[name="palette[pagetitletext]"]', form).val());


      // Menu divider
      if (drupalSettings.color.menubar_style == 1) {
        $('#preview #preview-navigation', form).css('border-bottom-color', $('#palette input[name="palette[menudivider]"]', form).val());
        $('#preview #preview-navigation ul li', form).css('border-right-color', $('#palette input[name="palette[menudivider]"]', form).val());
        $('#preview .highlight', form).css('background-color', $('#palette input[name="palette[highlight]"]', form).val());
      }
      else if (drupalSettings.color.menubar_style == 2) {
        $('#preview #preview-navigation a', form).css('color', '#dddddd');
        $('#preview .highlight', form).css('background-color', '#444444');
      }

      // Node background.
      $('#preview .node', form).css('background-color', $('#palette input[name="palette[node]"]', form).val());

      // Node border
      $('#preview .node', form).css('border-color', $('#palette input[name="palette[nodeborders]"]', form).val());

      // Node divider
      $('#preview .node h2', form).css('border-bottom-color', $('#palette input[name="palette[nodedivider]"]', form).val());

      // Sticky node background.
      $('#preview .node-sticky', form).css('background-color', $('#palette input[name="palette[stickynode]"]', form).val());


      // Table background
      $('#preview table tr th', form).css('background-color', $('#palette input[name="palette[tableheader]"]', form).val());
      $('#preview table tr.even td', form).css('background-color', $('#palette input[name="palette[even]"]', form).val());
      $('#preview table tr.odd td', form).css('background-color', $('#palette input[name="palette[node]"]', form).val());
      $('#preview table tr th', form).css('border-color', $('#palette input[name="palette[node]"]', form).val());

      // Sidebar background.
      $('#preview .sidebar .block', form).css('background-color', $('#palette input[name="palette[sidebar]"]', form).val());

      // Sidebar border
      $('#preview .sidebar .block', form).css('border-color', $('#palette input[name="palette[sidebarborders]"]', form).val());

      // Sidebar divider
      $('#preview .sidebar h2', form).css('border-bottom-color', $('#palette input[name="palette[sidebardivider]"]', form).val());

      // Sidebar text and link
      $('#preview .sidebar .block', form).css('color', $('#palette input[name="palette[sidebartext]"]', form).val());
      $('#preview .sidebar a', form).css('color', $('#palette input[name="palette[sidebarlink]"]', form).val());


      // Footer background.
      $('#preview #preview-footer-wrapper', form).css('background-color', $('#palette input[name="palette[footer]"]', form).val());

      // Footer text and link
      $('#preview #preview-footer-wrapper', form).css('color', $('#palette input[name="palette[footertext]"]', form).val());
      $('#preview #preview-footer-wrapper a', form).css('color', $('#palette input[name="palette[footerlink]"]', form).val());

      if (drupalSettings.color.header_bg_file) {
        if (!this.bgChanged) {
          // Change the header_bg_file to be the real one.
          this.bgChanged = true;
          // Header background image
          $('#preview #preview-header', form).attr('style', 'border: none; background-image: url(' + drupalSettings.color.header_bg_file + '); background-position: ' + drupalSettings.color.header_bg_alignment + ';');
        }
      }
      else {
        // CSS3 Gradients.
        var gradient_start = $('#palette input[name="palette[left]"]', form).val();
        var gradient_end = $('#palette input[name="palette[right]"]', form).val();

        // Header background
        $('#preview #preview-header', form).attr('style', "background-color: " + gradient_start + "; background-image: -webkit-gradient(linear, left top, right top, from(" + gradient_start + "), to(" + gradient_end + ")); background-image: -moz-linear-gradient(0deg, " + gradient_start + ", " + gradient_end + "); filter:progid:DXImageTransform.Microsoft.Gradient(StartColorStr=" + gradient_start + ", EndColorStr=" + gradient_end + ", GradientType=1); -ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorstr=" + gradient_start + ", endColorstr=" + gradient_end + ", GradientType=1)\";");

        if (drupalSettings.color.layout_style == 2) {
          $('#preview #preview-header', form).css('border', 'none');
        }
        else {
          // Header border
          $('#preview #preview-header', form).css('border-color', $('#palette input[name="palette[headerborders]"]', form).val());
          $('#preview #preview-header', form).css('border-width', drupalSettings.color.header_border_width);
        }
      }
      if (drupalSettings.color.header_watermark > 0) {
        var url = '/themes/mayo/images/pat-' + drupalSettings.color.header_watermark + '.png';
        $('#preview #preview-header-watermark', form).attr('style', 'background-image: url(' + url + ');');
      }

      // Title and slogan
      $('#preview #preview-name-and-slogan', form).css('color', $('#palette input[name="palette[titleslogan]"]', form).val());
      $('#preview #preview-name-and-slogan a', form).css('color', $('#palette input[name="palette[titleslogan]"]', form).val());
    }
  };
})(jQuery, Drupal, drupalSettings);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc