table_beet 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/lib/table_beet/formatters/html_template/data/js/jquery.quicksearch.js +181 -0
- data/lib/table_beet/formatters/html_template/index.erb +45 -7
- data/lib/table_beet/version.rb +1 -1
- metadata +5 -32
- data/lib/table_beet/formatters/html_template/data/js/coffee/groundwork.coffee +0 -207
- data/lib/table_beet/formatters/html_template/data/scss/_buttons.scss +0 -178
- data/lib/table_beet/formatters/html_template/data/scss/_callouts.scss +0 -51
- data/lib/table_beet/formatters/html_template/data/scss/_font-awesome.scss +0 -534
- data/lib/table_beet/formatters/html_template/data/scss/_forms.scss +0 -164
- data/lib/table_beet/formatters/html_template/data/scss/_global.scss +0 -31
- data/lib/table_beet/formatters/html_template/data/scss/_grid.scss +0 -384
- data/lib/table_beet/formatters/html_template/data/scss/_layout.scss +0 -78
- data/lib/table_beet/formatters/html_template/data/scss/_messages.scss +0 -59
- data/lib/table_beet/formatters/html_template/data/scss/_mixins.scss +0 -197
- data/lib/table_beet/formatters/html_template/data/scss/_mobile-reset.scss +0 -11
- data/lib/table_beet/formatters/html_template/data/scss/_modals.scss +0 -101
- data/lib/table_beet/formatters/html_template/data/scss/_navigation.scss +0 -284
- data/lib/table_beet/formatters/html_template/data/scss/_orbit.scss +0 -239
- data/lib/table_beet/formatters/html_template/data/scss/_popovers.scss +0 -10
- data/lib/table_beet/formatters/html_template/data/scss/_reset.scss +0 -77
- data/lib/table_beet/formatters/html_template/data/scss/_responsive.scss +0 -293
- data/lib/table_beet/formatters/html_template/data/scss/_social-icons.scss +0 -92
- data/lib/table_beet/formatters/html_template/data/scss/_tables.scss +0 -80
- data/lib/table_beet/formatters/html_template/data/scss/_tabs.scss +0 -137
- data/lib/table_beet/formatters/html_template/data/scss/_tooltips.scss +0 -161
- data/lib/table_beet/formatters/html_template/data/scss/_typography.scss +0 -263
- data/lib/table_beet/formatters/html_template/data/scss/_ui-elements.scss +0 -10
- data/lib/table_beet/formatters/html_template/data/scss/_variables.scss +0 -134
- data/lib/table_beet/formatters/html_template/data/scss/_webfonts.scss +0 -19
- data/lib/table_beet/formatters/html_template/data/scss/groundwork-ie.scss +0 -64
- data/lib/table_beet/formatters/html_template/data/scss/groundwork.scss +0 -37
- data/lib/table_beet/formatters/html_template/data/scss/no-svg.scss +0 -69
data/README.md
CHANGED
@@ -0,0 +1,181 @@
|
|
1
|
+
(function($, window, document, undefined) {
|
2
|
+
$.fn.quicksearch = function (target, opt) {
|
3
|
+
|
4
|
+
var timeout, cache, rowcache, jq_results, val = '', e = this, options = $.extend({
|
5
|
+
delay: 100,
|
6
|
+
selector: null,
|
7
|
+
stripeRows: null,
|
8
|
+
loader: null,
|
9
|
+
noResults: '',
|
10
|
+
matchedResultsCount: 0,
|
11
|
+
bind: 'keyup',
|
12
|
+
onBefore: function () {
|
13
|
+
return;
|
14
|
+
},
|
15
|
+
onAfter: function () {
|
16
|
+
return;
|
17
|
+
},
|
18
|
+
show: function () {
|
19
|
+
this.style.display = "";
|
20
|
+
},
|
21
|
+
hide: function () {
|
22
|
+
this.style.display = "none";
|
23
|
+
},
|
24
|
+
prepareQuery: function (val) {
|
25
|
+
return val.toLowerCase().split(' ');
|
26
|
+
},
|
27
|
+
testQuery: function (query, txt, _row) {
|
28
|
+
for (var i = 0; i < query.length; i += 1) {
|
29
|
+
if (txt.indexOf(query[i]) === -1) {
|
30
|
+
return false;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
}, opt);
|
36
|
+
|
37
|
+
this.go = function () {
|
38
|
+
|
39
|
+
var i = 0,
|
40
|
+
numMatchedRows = 0,
|
41
|
+
noresults = true,
|
42
|
+
query = options.prepareQuery(val),
|
43
|
+
val_empty = (val.replace(' ', '').length === 0);
|
44
|
+
|
45
|
+
for (var i = 0, len = rowcache.length; i < len; i++) {
|
46
|
+
if (val_empty || options.testQuery(query, cache[i], rowcache[i])) {
|
47
|
+
options.show.apply(rowcache[i]);
|
48
|
+
noresults = false;
|
49
|
+
numMatchedRows++;
|
50
|
+
} else {
|
51
|
+
options.hide.apply(rowcache[i]);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
if (noresults) {
|
56
|
+
this.results(false);
|
57
|
+
} else {
|
58
|
+
this.results(true);
|
59
|
+
this.stripe();
|
60
|
+
}
|
61
|
+
|
62
|
+
this.matchedResultsCount = numMatchedRows;
|
63
|
+
this.loader(false);
|
64
|
+
options.onAfter();
|
65
|
+
|
66
|
+
return this;
|
67
|
+
};
|
68
|
+
|
69
|
+
/*
|
70
|
+
* External API so that users can perform search programatically.
|
71
|
+
* */
|
72
|
+
this.search = function (submittedVal) {
|
73
|
+
val = submittedVal;
|
74
|
+
e.trigger();
|
75
|
+
};
|
76
|
+
|
77
|
+
/*
|
78
|
+
* External API to get the number of matched results as seen in
|
79
|
+
* https://github.com/ruiz107/quicksearch/commit/f78dc440b42d95ce9caed1d087174dd4359982d6
|
80
|
+
* */
|
81
|
+
this.currentMatchedResults = function() {
|
82
|
+
return this.matchedResultsCount;
|
83
|
+
};
|
84
|
+
|
85
|
+
this.stripe = function () {
|
86
|
+
|
87
|
+
if (typeof options.stripeRows === "object" && options.stripeRows !== null)
|
88
|
+
{
|
89
|
+
var joined = options.stripeRows.join(' ');
|
90
|
+
var stripeRows_length = options.stripeRows.length;
|
91
|
+
|
92
|
+
jq_results.not(':hidden').each(function (i) {
|
93
|
+
$(this).removeClass(joined).addClass(options.stripeRows[i % stripeRows_length]);
|
94
|
+
});
|
95
|
+
}
|
96
|
+
|
97
|
+
return this;
|
98
|
+
};
|
99
|
+
|
100
|
+
this.strip_html = function (input) {
|
101
|
+
var output = input.replace(new RegExp('<[^<]+\>', 'g'), "");
|
102
|
+
output = $.trim(output.toLowerCase());
|
103
|
+
return output;
|
104
|
+
};
|
105
|
+
|
106
|
+
this.results = function (bool) {
|
107
|
+
if (typeof options.noResults === "string" && options.noResults !== "") {
|
108
|
+
if (bool) {
|
109
|
+
$(options.noResults).hide();
|
110
|
+
} else {
|
111
|
+
$(options.noResults).show();
|
112
|
+
}
|
113
|
+
}
|
114
|
+
return this;
|
115
|
+
};
|
116
|
+
|
117
|
+
this.loader = function (bool) {
|
118
|
+
if (typeof options.loader === "string" && options.loader !== "") {
|
119
|
+
(bool) ? $(options.loader).show() : $(options.loader).hide();
|
120
|
+
}
|
121
|
+
return this;
|
122
|
+
};
|
123
|
+
|
124
|
+
this.cache = function () {
|
125
|
+
|
126
|
+
jq_results = $(target);
|
127
|
+
|
128
|
+
if (typeof options.noResults === "string" && options.noResults !== "") {
|
129
|
+
jq_results = jq_results.not(options.noResults);
|
130
|
+
}
|
131
|
+
|
132
|
+
var t = (typeof options.selector === "string") ? jq_results.find(options.selector) : $(target).not(options.noResults);
|
133
|
+
cache = t.map(function () {
|
134
|
+
return e.strip_html(this.innerHTML);
|
135
|
+
});
|
136
|
+
|
137
|
+
rowcache = jq_results.map(function () {
|
138
|
+
return this;
|
139
|
+
});
|
140
|
+
|
141
|
+
/*
|
142
|
+
* Modified fix for sync-ing "val".
|
143
|
+
* Original fix https://github.com/michaellwest/quicksearch/commit/4ace4008d079298a01f97f885ba8fa956a9703d1
|
144
|
+
* */
|
145
|
+
val = val || this.val() || "";
|
146
|
+
|
147
|
+
return this.go();
|
148
|
+
};
|
149
|
+
|
150
|
+
this.trigger = function () {
|
151
|
+
this.loader(true);
|
152
|
+
options.onBefore();
|
153
|
+
|
154
|
+
window.clearTimeout(timeout);
|
155
|
+
timeout = window.setTimeout(function () {
|
156
|
+
e.go();
|
157
|
+
}, options.delay);
|
158
|
+
|
159
|
+
return this;
|
160
|
+
};
|
161
|
+
|
162
|
+
this.cache();
|
163
|
+
this.results(true);
|
164
|
+
this.stripe();
|
165
|
+
this.loader(false);
|
166
|
+
|
167
|
+
return this.each(function () {
|
168
|
+
|
169
|
+
/*
|
170
|
+
* Changed from .bind to .on.
|
171
|
+
* */
|
172
|
+
$(this).on(options.bind, function () {
|
173
|
+
|
174
|
+
val = $(this).val();
|
175
|
+
e.trigger();
|
176
|
+
});
|
177
|
+
});
|
178
|
+
|
179
|
+
};
|
180
|
+
|
181
|
+
}(jQuery, this, document));
|
@@ -43,8 +43,18 @@
|
|
43
43
|
<body>
|
44
44
|
<header>
|
45
45
|
<div class="container">
|
46
|
-
<div class="
|
47
|
-
<
|
46
|
+
<div class="row">
|
47
|
+
<div class="two sixth padded align-left">
|
48
|
+
<div class="align-left">
|
49
|
+
<h1>TableBeet</h1>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
<div class="two sixth padded align-right" id="loading">
|
53
|
+
<i class="icon-spinner icon-2x icon-spin" style="display: none;"></i>
|
54
|
+
</div>
|
55
|
+
<div class="two sixth padded align-right">
|
56
|
+
<input type="text" id="keyword" name="keyword" placeholder="Search step name">
|
57
|
+
</div>
|
48
58
|
</div>
|
49
59
|
</div>
|
50
60
|
</header>
|
@@ -63,12 +73,12 @@
|
|
63
73
|
<h1><i class="icon-th-large"></i> Step list</h1>
|
64
74
|
|
65
75
|
<% scopes.each do |scope, steps| %>
|
66
|
-
<div class="row">
|
76
|
+
<div class="row scope_title">
|
67
77
|
<div class="padded">
|
68
78
|
<h2><i class="icon-caret-right"></i> <a name="<%= ERB::Util.h(scope) %>"><%= ERB::Util.h(scope) %></a></h2>
|
69
79
|
</div>
|
70
80
|
</div>
|
71
|
-
<table>
|
81
|
+
<table class="scope">
|
72
82
|
<thead>
|
73
83
|
<tr>
|
74
84
|
<th>Step name</th>
|
@@ -108,10 +118,38 @@
|
|
108
118
|
<!-- scripts -->
|
109
119
|
<script type="text/javascript" src="./js/plugins/jquery.orbit-1.4.0.js"></script>
|
110
120
|
<script type="text/javascript" src="./js/groundwork.js"></script>
|
121
|
+
<script type="text/javascript" src="./js/jquery.quicksearch.js"></script>
|
111
122
|
<script type="text/javascript">
|
112
|
-
$(
|
113
|
-
|
114
|
-
|
123
|
+
$(function () {
|
124
|
+
$('th.step_name').each(function() {
|
125
|
+
var decoration = $(this).text().replace(/(:[\w]+)/g, function() { return "<code>" + RegExp.$1 + "</code>"; });
|
126
|
+
$(this).html(decoration);
|
127
|
+
});
|
128
|
+
|
129
|
+
$('input#keyword').quicksearch('table.scope tbody tr', {
|
130
|
+
'delay' : 100,
|
131
|
+
'selector' : 'th',
|
132
|
+
'loader' : 'div#loading i',
|
133
|
+
|
134
|
+
'show' : function () {
|
135
|
+
$(this).show();
|
136
|
+
var table = $(this).closest('table.scope');
|
137
|
+
var title = table.prev('div.scope_title');
|
138
|
+
table.show();
|
139
|
+
title.show();
|
140
|
+
},
|
141
|
+
|
142
|
+
'hide' : function () {
|
143
|
+
$(this).hide();
|
144
|
+
if ($(this).siblings(':visible').size() == 0) {
|
145
|
+
var table = $(this).closest('table.scope');
|
146
|
+
var title = table.prev('div.scope_title');
|
147
|
+
table.hide();
|
148
|
+
title.hide();
|
149
|
+
}
|
150
|
+
}
|
151
|
+
});
|
152
|
+
|
115
153
|
});
|
116
154
|
</script>
|
117
155
|
</body>
|
data/lib/table_beet/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: table_beet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: turnip
|
@@ -358,8 +358,8 @@ files:
|
|
358
358
|
- lib/table_beet/formatters/html_template/data/images/social-icons/zerply-s.png
|
359
359
|
- lib/table_beet/formatters/html_template/data/images/social-icons/zerply.png
|
360
360
|
- lib/table_beet/formatters/html_template/data/images/social-icons/zerply.svg
|
361
|
-
- lib/table_beet/formatters/html_template/data/js/coffee/groundwork.coffee
|
362
361
|
- lib/table_beet/formatters/html_template/data/js/groundwork.js
|
362
|
+
- lib/table_beet/formatters/html_template/data/js/jquery.quicksearch.js
|
363
363
|
- lib/table_beet/formatters/html_template/data/js/libs/boxsizing.htc
|
364
364
|
- lib/table_beet/formatters/html_template/data/js/libs/html5shiv.js
|
365
365
|
- lib/table_beet/formatters/html_template/data/js/libs/html5shiv.min.js
|
@@ -381,33 +381,6 @@ files:
|
|
381
381
|
- lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveTables.js
|
382
382
|
- lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveText.js
|
383
383
|
- lib/table_beet/formatters/html_template/data/js/plugins/jquery.tooltip.js
|
384
|
-
- lib/table_beet/formatters/html_template/data/scss/_buttons.scss
|
385
|
-
- lib/table_beet/formatters/html_template/data/scss/_callouts.scss
|
386
|
-
- lib/table_beet/formatters/html_template/data/scss/_font-awesome.scss
|
387
|
-
- lib/table_beet/formatters/html_template/data/scss/_forms.scss
|
388
|
-
- lib/table_beet/formatters/html_template/data/scss/_global.scss
|
389
|
-
- lib/table_beet/formatters/html_template/data/scss/_grid.scss
|
390
|
-
- lib/table_beet/formatters/html_template/data/scss/_layout.scss
|
391
|
-
- lib/table_beet/formatters/html_template/data/scss/_messages.scss
|
392
|
-
- lib/table_beet/formatters/html_template/data/scss/_mixins.scss
|
393
|
-
- lib/table_beet/formatters/html_template/data/scss/_mobile-reset.scss
|
394
|
-
- lib/table_beet/formatters/html_template/data/scss/_modals.scss
|
395
|
-
- lib/table_beet/formatters/html_template/data/scss/_navigation.scss
|
396
|
-
- lib/table_beet/formatters/html_template/data/scss/_orbit.scss
|
397
|
-
- lib/table_beet/formatters/html_template/data/scss/_popovers.scss
|
398
|
-
- lib/table_beet/formatters/html_template/data/scss/_reset.scss
|
399
|
-
- lib/table_beet/formatters/html_template/data/scss/_responsive.scss
|
400
|
-
- lib/table_beet/formatters/html_template/data/scss/_social-icons.scss
|
401
|
-
- lib/table_beet/formatters/html_template/data/scss/_tables.scss
|
402
|
-
- lib/table_beet/formatters/html_template/data/scss/_tabs.scss
|
403
|
-
- lib/table_beet/formatters/html_template/data/scss/_tooltips.scss
|
404
|
-
- lib/table_beet/formatters/html_template/data/scss/_typography.scss
|
405
|
-
- lib/table_beet/formatters/html_template/data/scss/_ui-elements.scss
|
406
|
-
- lib/table_beet/formatters/html_template/data/scss/_variables.scss
|
407
|
-
- lib/table_beet/formatters/html_template/data/scss/_webfonts.scss
|
408
|
-
- lib/table_beet/formatters/html_template/data/scss/groundwork-ie.scss
|
409
|
-
- lib/table_beet/formatters/html_template/data/scss/groundwork.scss
|
410
|
-
- lib/table_beet/formatters/html_template/data/scss/no-svg.scss
|
411
384
|
- lib/table_beet/formatters/html_template/index.erb
|
412
385
|
- lib/table_beet/formatters/text_formatter.rb
|
413
386
|
- lib/table_beet/loader.rb
|
@@ -431,7 +404,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
431
404
|
version: '0'
|
432
405
|
segments:
|
433
406
|
- 0
|
434
|
-
hash:
|
407
|
+
hash: 3448460025646917409
|
435
408
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
436
409
|
none: false
|
437
410
|
requirements:
|
@@ -440,7 +413,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
440
413
|
version: '0'
|
441
414
|
segments:
|
442
415
|
- 0
|
443
|
-
hash:
|
416
|
+
hash: 3448460025646917409
|
444
417
|
requirements: []
|
445
418
|
rubyforge_project:
|
446
419
|
rubygems_version: 1.8.23
|
@@ -1,207 +0,0 @@
|
|
1
|
-
###
|
2
|
-
*
|
3
|
-
* GroundworkCSS JS by Gary Hepting - https://github.com/groundworkcss/groundwork
|
4
|
-
*
|
5
|
-
* Open source under the BSD License.
|
6
|
-
*
|
7
|
-
* Copyright © 2013 Gary Hepting. All rights reserved.
|
8
|
-
*
|
9
|
-
###
|
10
|
-
|
11
|
-
$(document).ready ->
|
12
|
-
|
13
|
-
# navigation menus
|
14
|
-
delay = ''
|
15
|
-
$('nav > ul > li.menu').on
|
16
|
-
mouseenter: (e) ->
|
17
|
-
if $(window).width() > 768
|
18
|
-
clearTimeout(delay)
|
19
|
-
$('nav > ul > li').removeClass('on')
|
20
|
-
$('nav > ul > li > ul').hide()
|
21
|
-
$(this).addClass('on')
|
22
|
-
mouseleave: (e) ->
|
23
|
-
if $(window).width() > 768
|
24
|
-
delay = setTimeout (->
|
25
|
-
$('nav > ul > li').removeClass('on')
|
26
|
-
$('nav > ul > li > ul').hide()
|
27
|
-
), 350
|
28
|
-
click: (e) ->
|
29
|
-
if $(window).width() < 768
|
30
|
-
if $(e.target).parent('li.menu').size() > 0
|
31
|
-
$this = $(this)
|
32
|
-
$(this).children('ul').slideToggle 300, ->
|
33
|
-
$this.toggleClass('on')
|
34
|
-
e.preventDefault()
|
35
|
-
return false
|
36
|
-
tap: (e) ->
|
37
|
-
if $(e.target).parent('li.menu').size() > 0
|
38
|
-
$this = $(this)
|
39
|
-
$(this).children('ul').slideToggle 300, ->
|
40
|
-
$this.toggleClass('on')
|
41
|
-
e.preventDefault()
|
42
|
-
return false
|
43
|
-
|
44
|
-
# dynamically adjust pagination items
|
45
|
-
limitPaginationItems()
|
46
|
-
# change active page
|
47
|
-
$('.pagination ul > li:not(.next, .prev) a').on 'click', ( (e) ->
|
48
|
-
$('.pagination ul > li:not(.next, .prev)').removeClass('active')
|
49
|
-
$(this).parent('li').addClass('active')
|
50
|
-
# toggle previous button state
|
51
|
-
if $(this).parent('li').hasClass('first')
|
52
|
-
$('.pagination ul > li.prev').addClass('disabled')
|
53
|
-
else
|
54
|
-
$('.pagination ul > li.prev').removeClass('disabled')
|
55
|
-
# toggle next button state
|
56
|
-
if $(this).parent('li').hasClass('last')
|
57
|
-
$('.pagination ul > li.next').addClass('disabled')
|
58
|
-
else
|
59
|
-
$('.pagination ul > li.next').removeClass('disabled')
|
60
|
-
# adjust pagination
|
61
|
-
limitPaginationItems()
|
62
|
-
e.preventDefault()
|
63
|
-
false
|
64
|
-
)
|
65
|
-
# handle previous pagination button
|
66
|
-
$('.pagination ul > li.prev:not(.disabled)').on 'click', ( (e) ->
|
67
|
-
# enable next button
|
68
|
-
$('.pagination ul > li.next').removeClass('disabled')
|
69
|
-
el = $('.pagination ul > li.active')
|
70
|
-
if !el.hasClass('first')
|
71
|
-
# set previous page active
|
72
|
-
el.removeClass('active')
|
73
|
-
el.prev().addClass('active')
|
74
|
-
# adjust pagination
|
75
|
-
limitPaginationItems()
|
76
|
-
# disable previous button if at first page
|
77
|
-
if $('.pagination ul > li.active').hasClass('first')
|
78
|
-
$(this).addClass('disabled')
|
79
|
-
e.preventDefault()
|
80
|
-
false
|
81
|
-
)
|
82
|
-
# handle next pagination button
|
83
|
-
$('.pagination ul > li.next:not(.disabled)').on 'click', ( (e) ->
|
84
|
-
# enable previous button
|
85
|
-
$('.pagination ul > li.prev').removeClass('disabled')
|
86
|
-
el = $('.pagination ul > li.active')
|
87
|
-
if !el.hasClass('last')
|
88
|
-
# set next page active
|
89
|
-
el.removeClass('active')
|
90
|
-
el.next().addClass('active')
|
91
|
-
# adjust pagination
|
92
|
-
limitPaginationItems()
|
93
|
-
# disable next button if at last page
|
94
|
-
if $('.pagination ul > li.active').hasClass('last')
|
95
|
-
$(this).addClass('disabled')
|
96
|
-
e.preventDefault()
|
97
|
-
false
|
98
|
-
)
|
99
|
-
# disable page jump for disabled pagination links
|
100
|
-
$('.pagination ul > li.disabled a').on 'click', ( (e) ->
|
101
|
-
e.preventDefault()
|
102
|
-
false
|
103
|
-
)
|
104
|
-
|
105
|
-
# select all text on invalid input field entries
|
106
|
-
$('.error input, .error textarea,
|
107
|
-
.invalid input, .invalid textarea,
|
108
|
-
input.error, textarea.error,
|
109
|
-
input.invalid, textarea.invalid').on
|
110
|
-
click: ->
|
111
|
-
$(this).focus()
|
112
|
-
$(this).select()
|
113
|
-
|
114
|
-
# polyfill select box placeholders
|
115
|
-
$('span.select select').each ->
|
116
|
-
if $(this).children('option').first().val() == '' and $(this).children('option').first().attr('selected')
|
117
|
-
$(this).addClass('unselected')
|
118
|
-
else
|
119
|
-
$(this).removeClass('unselected')
|
120
|
-
$('span.select select').on
|
121
|
-
change: ->
|
122
|
-
if $(this).children('option').first().val() == '' and $(this).children('option').first().attr('selected')
|
123
|
-
$(this).addClass('unselected')
|
124
|
-
else
|
125
|
-
$(this).removeClass('unselected')
|
126
|
-
|
127
|
-
# tabs
|
128
|
-
$('.tabs > ul > li > a').not('.disabled').click (e) ->
|
129
|
-
tabs = $(this).parents('.tabs')
|
130
|
-
tabs.find('> ul li a').removeClass('active')
|
131
|
-
$(this).addClass('active')
|
132
|
-
tabs.children('div').removeClass('active')
|
133
|
-
tabs.children($(this).attr('href')).addClass('active')
|
134
|
-
e.preventDefault()
|
135
|
-
return false
|
136
|
-
|
137
|
-
# responsive headings
|
138
|
-
$('.responsive').not('table').each (index, object) ->
|
139
|
-
compression = 10
|
140
|
-
min = 10
|
141
|
-
max = 200
|
142
|
-
compression = parseFloat $(this).attr('data-compression') || compression
|
143
|
-
min = parseFloat $(this).attr('data-min') || min
|
144
|
-
max = parseFloat $(this).attr('data-max') || max
|
145
|
-
$(object).responsiveText
|
146
|
-
compressor: compression,
|
147
|
-
minSize: min,
|
148
|
-
maxSize: max
|
149
|
-
|
150
|
-
# responsive tables
|
151
|
-
$('table.responsive').each (index, object) ->
|
152
|
-
compression = 30
|
153
|
-
min = 8
|
154
|
-
max = 13
|
155
|
-
padding = 0
|
156
|
-
compression = parseFloat $(this).attr('data-compression') || compression
|
157
|
-
min = parseFloat $(this).attr('data-min') || min
|
158
|
-
max = parseFloat $(this).attr('data-max') || max
|
159
|
-
padding = parseFloat $(this).attr('data-padding') || padding
|
160
|
-
$(object).responsiveTable
|
161
|
-
compressor: compression,
|
162
|
-
minSize: min,
|
163
|
-
maxSize: max,
|
164
|
-
padding: padding
|
165
|
-
|
166
|
-
# tooltips
|
167
|
-
$('.tooltip[title]').tooltip()
|
168
|
-
|
169
|
-
# modals
|
170
|
-
$('div.modal').modal()
|
171
|
-
|
172
|
-
|
173
|
-
$(window).load ->
|
174
|
-
$('.slider').orbit()
|
175
|
-
|
176
|
-
$(window).resize ->
|
177
|
-
limitPaginationItems()
|
178
|
-
|
179
|
-
# responsive pagination
|
180
|
-
limitPaginationItems = ->
|
181
|
-
#process pagination lists
|
182
|
-
$('.pagination ul').each ->
|
183
|
-
pagination = $(this)
|
184
|
-
# pagination dimensions
|
185
|
-
visibleSpace = pagination.outerWidth() - pagination.children('li.prev').outerWidth() - pagination.children('li.next').outerWidth()
|
186
|
-
# hide pages that don't fit
|
187
|
-
pagination.children('li').not('.prev, .next, .active').hide()
|
188
|
-
visibleItemsWidth = 0
|
189
|
-
pagination.children('li:visible').each ->
|
190
|
-
visibleItemsWidth += $(this).outerWidth()
|
191
|
-
# loop
|
192
|
-
while (visibleItemsWidth + 29) < visibleSpace
|
193
|
-
# show the next page number
|
194
|
-
pagination.children('li:visible').not('.next').last().next().show()
|
195
|
-
visibleItemsWidth = 0
|
196
|
-
pagination.children('li:visible').each ->
|
197
|
-
visibleItemsWidth += $(this).outerWidth()
|
198
|
-
if (visibleItemsWidth + 29) <= visibleSpace
|
199
|
-
# show the previous page number
|
200
|
-
pagination.children('li:visible').not('.prev').first().prev().show()
|
201
|
-
visibleItemsWidth = 0
|
202
|
-
pagination.children('li:visible').each ->
|
203
|
-
visibleItemsWidth += $(this).outerWidth()
|
204
|
-
# recalculate visibleItemsWidth
|
205
|
-
visibleItemsWidth = 0
|
206
|
-
pagination.children('li:visible').each ->
|
207
|
-
visibleItemsWidth += $(this).outerWidth()
|