astronomy_engine 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/astronomy_engine/version.rb +1 -1
- data/lib/public/index.html +5 -0
- data/lib/public/js/debounce.js +56 -0
- data/lib/public/js/main.js +33 -13
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27ca3428426f6bcf7b19cf5e6604e4c5880e141e
|
4
|
+
data.tar.gz: 1645978cf6220f609b81322f55a6c19a2ce4a067
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9e9db69e110e330b3b11af9b82d52c1e2dcbcb339d94541c1e998e321a26529f1af2a77adcb9d0bb09046815beb3b20952c6bb0b5c4710e1ec5b223ea8a9b61
|
7
|
+
data.tar.gz: f98c3d3cafc8c7321e306d7104b400994fead82c54857bc00a9dde75ca08511daf2e3cba6de3a40f7311dfd44f07051297500bfa5f7f30f4ee10c63917acca3c
|
data/lib/public/index.html
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
|
6
6
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
|
7
7
|
<script src="js/main.js"></script>
|
8
|
+
<script src="js/debounce.js"></script>
|
8
9
|
<link rel="stylesheet" type="text/css" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
|
9
10
|
<link rel="stylesheet" type="text/css" href="css/style.css">
|
10
11
|
</head>
|
@@ -14,6 +15,10 @@
|
|
14
15
|
<div class="container-fluid">
|
15
16
|
<div class="col-md-3">
|
16
17
|
<div id="categories" class="list-group"></div>
|
18
|
+
<div class="input-group">
|
19
|
+
<span class="input-group-addon">Search</span>
|
20
|
+
<input type="text" id="search-box" class="form-control" placeholder="Search" aria-describedby="basic-addon1">
|
21
|
+
</div>
|
17
22
|
</div>
|
18
23
|
<div class="col-md-3">
|
19
24
|
<div id="topics" class="list-group initially-hidden"></div>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
/**
|
2
|
+
* Debounce and throttle function's decorator plugin 1.0.5
|
3
|
+
*
|
4
|
+
* Copyright (c) 2009 Filatov Dmitry (alpha@zforms.ru)
|
5
|
+
* Dual licensed under the MIT and GPL licenses:
|
6
|
+
* http://www.opensource.org/licenses/mit-license.php
|
7
|
+
* http://www.gnu.org/licenses/gpl.html
|
8
|
+
*
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function ($) {
|
12
|
+
$.extend({
|
13
|
+
debounce: function (fn, timeout, invokeAsap, ctx) {
|
14
|
+
if (arguments.length == 3 && typeof invokeAsap != 'boolean') {
|
15
|
+
ctx = invokeAsap;
|
16
|
+
invokeAsap = false;
|
17
|
+
}
|
18
|
+
|
19
|
+
var timer;
|
20
|
+
return function () {
|
21
|
+
|
22
|
+
var args = arguments;
|
23
|
+
ctx = ctx || this;
|
24
|
+
|
25
|
+
invokeAsap && !timer && fn.apply(ctx, args);
|
26
|
+
|
27
|
+
clearTimeout(timer);
|
28
|
+
|
29
|
+
timer = setTimeout(function () {
|
30
|
+
invokeAsap || fn.apply(ctx, args);
|
31
|
+
timer = null;
|
32
|
+
}, timeout);
|
33
|
+
};
|
34
|
+
},
|
35
|
+
|
36
|
+
throttle: function (fn, timeout, ctx) {
|
37
|
+
var timer, args, needInvoke;
|
38
|
+
return function () {
|
39
|
+
args = arguments;
|
40
|
+
needInvoke = true;
|
41
|
+
ctx = ctx || this;
|
42
|
+
|
43
|
+
timer || (function () {
|
44
|
+
if (needInvoke) {
|
45
|
+
fn.apply(ctx, args);
|
46
|
+
needInvoke = false;
|
47
|
+
timer = setTimeout(arguments.callee, timeout);
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
timer = null;
|
51
|
+
}
|
52
|
+
})();
|
53
|
+
};
|
54
|
+
}
|
55
|
+
});
|
56
|
+
})(jQuery);
|
data/lib/public/js/main.js
CHANGED
@@ -17,18 +17,7 @@ $(document).ready(function () {
|
|
17
17
|
url: 'categories/' + category + '/topics',
|
18
18
|
type: 'GET',
|
19
19
|
success: function (data) {
|
20
|
-
|
21
|
-
topics.empty();
|
22
|
-
for (var i in data) {
|
23
|
-
//var elem = $('<div class="list-group-item">' + data[i].name + '</div>');
|
24
|
-
//elem.data('foo', 'bar');
|
25
|
-
var elem = $('<a href="#" class="list-group-item">' + data[i].name + '</a>');
|
26
|
-
elem.data('name', data[i].name);
|
27
|
-
elem.data('description', data[i].description);
|
28
|
-
elem.data('images', data[i].images);
|
29
|
-
topics.append(elem);
|
30
|
-
}
|
31
|
-
topics.fadeIn();
|
20
|
+
displayTopics(data);
|
32
21
|
}
|
33
22
|
});
|
34
23
|
})
|
@@ -41,15 +30,46 @@ $(document).ready(function () {
|
|
41
30
|
for(var i in target.data('images')) {
|
42
31
|
var keyinfo = "key=AIzaSyAbwKdX2k3t5M6hpAwDpcDCWHTBxtfRvMg";
|
43
32
|
var image = target.data('images')[i] + "?" + keyinfo;
|
44
|
-
images += '<img src="' + image + '&
|
33
|
+
images += '<img src="' + image + '&maxheight=200" class="image-padding">';
|
45
34
|
}
|
46
35
|
images += '</div>';
|
47
36
|
var description = addLineBreaks(target.data('description'));
|
48
37
|
$('#topic-body').html(images + description);
|
49
38
|
});
|
50
39
|
|
40
|
+
$('#search-box').on('keyup blur', $.debounce(function(event) {
|
41
|
+
var search_term = $(event.target).val();
|
42
|
+
|
43
|
+
var topics = $('#topics');
|
44
|
+
if(search_term == '') {
|
45
|
+
topics.empty();
|
46
|
+
topics.fadeOut();
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
|
50
|
+
$.ajax({
|
51
|
+
url: 'topics?q=' + search_term,
|
52
|
+
type: 'GET',
|
53
|
+
success: function (data) {
|
54
|
+
displayTopics(data);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
}, 300));
|
51
58
|
});
|
52
59
|
|
60
|
+
function displayTopics(data) {
|
61
|
+
topics = $('#topics');
|
62
|
+
topics.empty();
|
63
|
+
for (var i in data) {
|
64
|
+
var elem = $('<a href="#" class="list-group-item">' + data[i].name + '</a>');
|
65
|
+
elem.data('name', data[i].name);
|
66
|
+
elem.data('description', data[i].description);
|
67
|
+
elem.data('images', data[i].images);
|
68
|
+
topics.append(elem);
|
69
|
+
}
|
70
|
+
topics.fadeIn();
|
71
|
+
}
|
72
|
+
|
53
73
|
function addLineBreaks(text) {
|
54
74
|
return text.replace(/(?:\r\n|\r|\n)/g, '<div class="space-above"></div>');
|
55
75
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: astronomy_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Aschenbach
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- lib/astronomy_engine/version.rb
|
127
127
|
- lib/public/css/style.css
|
128
128
|
- lib/public/index.html
|
129
|
+
- lib/public/js/debounce.js
|
129
130
|
- lib/public/js/main.js
|
130
131
|
- screenshot/example.jpg
|
131
132
|
- spec/astronomy_engine_spec.rb
|