Projet

Général

Profil

Paste
Télécharger (8,09 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / themes / mayo / color / preview.js @ d7f58da2

1
/**
2
 * @file
3
 * Updates the live preview for MAYO theme settings.
4
 */
5

    
6
(function ($) {
7
  Drupal.color = {
8
    logoChanged: false,
9
    bgChanged: false,
10
    callback: function(context, settings, form, farb, height, width) {
11

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

    
15
      // Apply layout style
16
      if (Drupal.settings.color.layout_style == 2) {
17
        // No page margin to header and footer
18
        $('#preview #preview-page', form).css('padding', '0px');
19
        $('#preview #preview-main', form).css('padding', '0px 10px');
20
      }
21
      // Apply sidebar layout style
22
      if (Drupal.settings.color.sb_layout_style == 3) { // right sidebar
23
        $('#preview .sidebar', form).css('float', 'right');
24
        if (Drupal.settings.color.layout_style == 2) {
25
          $('#preview .sidebar', form).css('margin-right', '20px');
26
        }
27
        else {
28
          $('#preview .sidebar', form).css('margin-right', '0px');
29
        }
30
        $('#preview #preview-content', form).css('margin-left', '0px');
31
        $('#preview #preview-content', form).css('margin-right', '10px');
32
      }
33
      else {
34
        $('#preview .sidebar', form).css('float', 'left');
35
        $('#preview #preview-content', form).css('margin-left', '10px');
36
        $('#preview #preview-content', form).css('margin-right', '0px');
37
      }
38

    
39
      // Apply base vertical margin
40
      $('#preview #preview-page-wrapper', form).css('padding-top', Drupal.settings.color.base_vmargin);
41
      $('#preview #preview-page-wrapper', form).css('padding-bottom', Drupal.settings.color.base_vmargin);
42

    
43
      // Change the logo to be the real one.
44
      if (!this.logoChanged) {
45
        if (Drupal.settings.color.logo) {
46
          $('#preview #preview-logo img').attr('src', Drupal.settings.color.logo);
47
        }
48
        else {
49
          $('#preview #preview-logo img').remove();
50
        }
51
        this.logoChanged = true;
52
      }
53

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

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

    
60

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

    
67

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

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

    
74

    
75
      // Menu divider
76
      if (Drupal.settings.color.menubar_style == 1) {
77
        $('#preview #preview-navigation', form).css('border-bottom-color', $('#palette input[name="palette[menudivider]"]', form).val());
78
        $('#preview #preview-navigation ul li', form).css('border-right-color', $('#palette input[name="palette[menudivider]"]', form).val());
79
        $('#preview .highlight', form).css('background-color', $('#palette input[name="palette[highlight]"]', form).val());
80
      }
81
      else if (Drupal.settings.color.menubar_style == 2) {
82
        $('#preview #preview-navigation a', form).css('color', '#dddddd');
83
        $('#preview .highlight', form).css('background-color', '#444444');
84
      }
85

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

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

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

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

    
98

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

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

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

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

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

    
118

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

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

    
126
      if (Drupal.settings.color.header_bg_file) {
127
        if (!this.bgChanged) {
128
          // Change the header_bg_file to be the real one.
129
          this.bgChanged = true;
130
          // Header background image
131
          $('#preview #preview-header', form).attr('style', 'border: none; background-image: url(' + Drupal.settings.color.header_bg_file + '); background-position: ' + Drupal.settings.color.header_bg_alignment + ';');
132
        }
133
      }
134
      else {
135
        // CSS3 Gradients.
136
        var gradient_start = $('#palette input[name="palette[left]"]', form).val();
137
        var gradient_end = $('#palette input[name="palette[right]"]', form).val();
138

    
139
        // Header background
140
        $('#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)\";");
141

    
142
        if (Drupal.settings.color.layout_style == 2) {
143
          $('#preview #preview-header', form).css('border', 'none');
144
        }
145
        else {
146
          // Header border
147
          $('#preview #preview-header', form).css('border-color', $('#palette input[name="palette[headerborders]"]', form).val());
148
          $('#preview #preview-header', form).css('border-width', Drupal.settings.color.header_border_width);
149
        }
150
      }
151
      if (Drupal.settings.color.header_watermark > 0) {
152
        var url = '/sites/all/themes/mayo/images/pat-' + Drupal.settings.color.header_watermark + '.png';
153
        $('#preview #preview-header-watermark', form).attr('style', 'background-image: url(' + url + ');');
154
      }
155

    
156
      // Title and slogan
157
      $('#preview #preview-name-and-slogan', form).css('color', $('#palette input[name="palette[titleslogan]"]', form).val());
158
      $('#preview #preview-name-and-slogan a', form).css('color', $('#palette input[name="palette[titleslogan]"]', form).val());
159
    }
160
  };
161
})(jQuery);