|
1 | | -// Some general UI pack related JS |
2 | | -// Extend JS String with repeat method |
3 | | -String.prototype.repeat = function(num) { |
4 | | - return new Array(num + 1).join(this); |
5 | | -}; |
6 | | - |
7 | 1 | (function($) { |
8 | 2 |
|
9 | | - // Add segments to a slider |
10 | | - $.fn.addSliderSegments = function (amount) { |
11 | | - return this.each(function () { |
12 | | - var segmentGap = 100 / (amount - 1) + "%" |
13 | | - , segment = "<div class='ui-slider-segment' style='margin-left: " + segmentGap + ";'></div>"; |
14 | | - $(this).prepend(segment.repeat(amount - 2)); |
15 | | - }); |
16 | | - }; |
17 | | - |
18 | | - $(function() { |
19 | | - |
20 | | - // Custom Selects |
21 | | - $("select[name='huge']").selectpicker({style: 'btn-huge btn-primary', menuStyle: 'dropdown-inverse'}); |
22 | | - $("select[name='large']").selectpicker({style: 'btn-large btn-danger'}); |
23 | | - $("select[name='info']").selectpicker({style: 'btn-info'}); |
24 | | - $("select[name='small']").selectpicker({style: 'btn-small btn-warning'}); |
25 | | - |
26 | | - // Tabs |
27 | | - $(".nav-tabs a").on('click', function (e) { |
28 | | - e.preventDefault(); |
29 | | - $(this).tab("show"); |
30 | | - }) |
31 | | - |
32 | | - // Tooltips |
33 | | - $("[data-toggle=tooltip]").tooltip("show"); |
34 | | - |
35 | | - // Tags Input |
36 | | - $(".tagsinput").tagsInput(); |
37 | | - |
38 | | - // jQuery UI Sliders |
39 | | - var $slider = $("#slider"); |
40 | | - $slider.slider({ |
41 | | - min: 1, |
42 | | - max: 5, |
43 | | - value: 3, |
44 | | - orientation: "horizontal", |
45 | | - range: "min" |
46 | | - }).addSliderSegments($slider.slider("option").max); |
47 | | - |
48 | | - var $slider2 = $("#slider2"); |
49 | | - $slider2.slider({ |
50 | | - min: 1, |
51 | | - max: 5, |
52 | | - values: [3, 4], |
53 | | - orientation: "horizontal", |
54 | | - range: true |
55 | | - }).addSliderSegments($slider2.slider("option").max); |
56 | | - |
57 | | - var $slider3 = $("#slider3") |
58 | | - , slider3ValueMultiplier = 100 |
59 | | - , slider3Options; |
60 | | - $slider3.slider({ |
61 | | - min: 1, |
62 | | - max: 5, |
63 | | - values: [3, 4], |
64 | | - orientation: "horizontal", |
65 | | - range: true, |
66 | | - slide: function(event, ui) { |
67 | | - $slider3.find(".ui-slider-value:first").text("$" + ui.values[0] * slider3ValueMultiplier).end() |
68 | | - .find(".ui-slider-value:last").text("$" + ui.values[1] * slider3ValueMultiplier); |
69 | | - } |
70 | | - }); |
71 | | - slider3Options = $slider3.slider("option"); |
72 | | - $slider3.addSliderSegments(slider3Options.max).find(".ui-slider-value:first").text("$" + slider3Options.values[0] * slider3ValueMultiplier).end() |
73 | | - .find(".ui-slider-value:last").text("$" + slider3Options.values[1] * slider3ValueMultiplier); |
74 | | - |
75 | | - // Add style class name to a tooltips |
76 | | - $(".tooltip").addClass(function() { |
77 | | - if ($(this).prev().attr("data-tooltip-style")) { |
78 | | - return "tooltip-" + $(this).prev().attr("data-tooltip-style"); |
79 | | - } |
80 | | - }); |
81 | | - |
82 | | - // Placeholders for input/textarea |
83 | | - $("input, textarea").placeholder(); |
84 | 3 |
|
85 | | - // Make pagination demo work |
86 | | - $(".pagination a").on('click', function() { |
87 | | - $(this).parent().siblings("li").removeClass("active").end().addClass("active"); |
88 | | - }); |
| 4 | + // Gravatars |
| 5 | + $('img[data-gravatar-email]').each(function(){ |
| 6 | + // get the email |
| 7 | + var email = $(this).attr('data-gravatar-email'); |
89 | 8 |
|
90 | | - $(".btn-group a").on('click', function() { |
91 | | - $(this).siblings().removeClass("active").end().addClass("active"); |
92 | | - }); |
93 | | - |
94 | | - // Disable link clicks to prevent page scrolling |
95 | | - $('a[href="#fakelink""]').on('click', function (e) { |
96 | | - e.preventDefault(); |
97 | | - }); |
98 | | - |
99 | | - // jQuery UI Spinner |
100 | | - $.widget( "ui.customspinner", $.ui.spinner, { |
101 | | - _buttonHtml: function() { // Remove arrows on the buttons |
102 | | - return "" + |
103 | | - "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" + |
104 | | - "<span class='ui-icon " + this.options.icons.up + "'></span>" + |
105 | | - "</a>" + |
106 | | - "<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" + |
107 | | - "<span class='ui-icon " + this.options.icons.down + "'></span>" + |
108 | | - "</a>"; |
109 | | - } |
110 | | - }); |
111 | | - |
112 | | - $('#spinner-01').customspinner({ |
113 | | - min: -99, |
114 | | - max: 99 |
115 | | - }).on('focus', function () { |
116 | | - $(this).closest('.ui-spinner').addClass('focus'); |
117 | | - }).on('blur', function () { |
118 | | - $(this).closest('.ui-spinner').removeClass('focus'); |
119 | | - }); |
120 | | - |
121 | | - |
122 | | - // Focus state for append/prepend inputs |
123 | | - $('.input-prepend, .input-append').on('focus', 'input', function () { |
124 | | - $(this).closest('.control-group, form').addClass('focus'); |
125 | | - }).on('blur', 'input', function () { |
126 | | - $(this).closest('.control-group, form').removeClass('focus'); |
127 | | - }); |
128 | | - |
129 | | - // Table: Toggle all checkboxes |
130 | | - $('.table .toggle-all').on('click', function() { |
131 | | - var ch = $(this).find(':checkbox').prop('checked'); |
132 | | - $(this).closest('.table').find('tbody :checkbox').checkbox(!ch ? 'check' : 'uncheck'); |
133 | | - }); |
134 | | - |
135 | | - // Table: Add class row selected |
136 | | - $('.table tbody :checkbox').on('check uncheck toggle', function (e) { |
137 | | - var $this = $(this) |
138 | | - , check = $this.prop('checked') |
139 | | - , toggle = e.type == 'toggle' |
140 | | - , checkboxes = $('.table tbody :checkbox') |
141 | | - , checkAll = checkboxes.length == checkboxes.filter(':checked').length |
142 | | - |
143 | | - $this.closest('tr')[check ? 'addClass' : 'removeClass']('selected-row'); |
144 | | - if (toggle) $this.closest('.table').find('.toggle-all :checkbox').checkbox(checkAll ? 'check' : 'uncheck'); |
145 | | - }); |
146 | | - |
147 | | - // jQuery UI Datepicker |
148 | | - $('#datepicker-01').datepicker({ |
149 | | - showOtherMonths: true, |
150 | | - selectOtherMonths: true, |
151 | | - dateFormat: "d MM, yy", |
152 | | - yearRange: '-1:+1' |
153 | | - }).prev('.btn').on('click', function (e) { |
154 | | - e && e.preventDefault(); |
155 | | - $('#datepicker-01').focus(); |
156 | | - }); |
157 | | - $.extend($.datepicker, {_checkOffset:function(inst,offset,isFixed){return offset}}); |
158 | | - |
159 | | - // Custom checkboxes |
160 | | - $('[data-toggle="checkbox"]').checkbox(); |
161 | | - |
162 | | - // Custom radios |
163 | | - $('[data-toggle="radio"]').radio(); |
| 9 | + // modify the source of the image |
| 10 | + if(email != '') { |
| 11 | + $(this).attr('src', 'http://www.gravatar.com/avatar/' + md5(email)); |
| 12 | + } |
| 13 | + }); |
164 | 14 |
|
165 | | - // Switch |
166 | | - $("[data-toggle='switch']").wrap('<div class="switch" />').parent().bootstrapSwitch(); |
167 | 15 |
|
168 | | - // Stackable tables |
169 | | - $(".table-striped").stacktable({id: "rwd-table"}); |
170 | | - }); |
171 | 16 | })(jQuery); |
0 commit comments