delayed_job_ui 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +21 -0
- data/README.md +17 -0
- data/app/assets/javascripts/delayed_job_ui.js +52 -0
- data/app/assets/javascripts/jquery.dataTables.js +14622 -0
- data/app/assets/stylesheets/delayed_job_ui.scss +146 -0
- data/app/controllers/delayed_job_ui/main_controller.rb +34 -0
- data/app/helpers/delayed_job_ui/main_helper.rb +7 -0
- data/app/views/delayed_job_ui/_job.html.haml +37 -0
- data/app/views/delayed_job_ui/_job_table.html.haml +17 -0
- data/app/views/delayed_job_ui/_ui_layout.html.haml +42 -0
- data/delayed_job_ui.gemspec +23 -0
- data/lib/delayed_job_ui/engine.rb +12 -0
- data/lib/delayed_job_ui/jobs.rb +27 -0
- data/lib/delayed_job_ui.rb +6 -0
- metadata +102 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d5748551e76adba7e11cb2fd9193f22a9fd1e44e
|
4
|
+
data.tar.gz: adb43b66e8d8d1ce4f9ff129646ded83dfffdac3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 36dadf322d87b7c7a207071891dcdc0f507eb8f01217244ffc37ac637fcebd4b16bad2aac9b722ccd5d64ab2a7df074e166f7d388208d7d026e155e518f41d41
|
7
|
+
data.tar.gz: b23ef4af1416fb35675e4556e4c983149c0e7a665d2079c60b2084e780af65cdad816d6af82c8e506cfdda6b19e105a1408593259e24dce4a0c70c6d8e4eea09
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 Sean Woojin Kim
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
Delayed Job UI
|
2
|
+
==============
|
3
|
+
My first attempt at a gem. A small and simple (and hopefully unintrusive) UI wrapper for delayed_job in Rails
|
4
|
+
|
5
|
+
To get the routes properly set up, insert this into your routes.rb file.
|
6
|
+
```ruby
|
7
|
+
unless Rails.env.production?
|
8
|
+
mount DelayedJobUi::Engine => '/delayed_job_ui'
|
9
|
+
end
|
10
|
+
```
|
11
|
+
|
12
|
+
To drop in the UI element, insert the following at the bottom of your application's layout file.
|
13
|
+
```erb
|
14
|
+
<% unless Rails.env.production? #prevent this view in production %>
|
15
|
+
<%= delayed_job_ui_layout %>
|
16
|
+
<% end %>
|
17
|
+
```
|
@@ -0,0 +1,52 @@
|
|
1
|
+
//= require jquery
|
2
|
+
//= require jquery.dataTables
|
3
|
+
|
4
|
+
window.delayed_job_ui = (function($){
|
5
|
+
var dj_obj = {};
|
6
|
+
var namespace = ("#delayed-job-ui");
|
7
|
+
|
8
|
+
|
9
|
+
dj_obj.initialize = function(){
|
10
|
+
dj_obj.$parent = $(namespace);
|
11
|
+
instantiate_datatable();
|
12
|
+
tab_handlers();
|
13
|
+
hide_tab_content();
|
14
|
+
show_active_tab();
|
15
|
+
}
|
16
|
+
|
17
|
+
var instantiate_datatable = function(){
|
18
|
+
dj_obj.$parent.find('.job_table').DataTable();
|
19
|
+
}
|
20
|
+
|
21
|
+
var tab_handlers = function() {
|
22
|
+
dj_obj.$parent.on('click', '.link_to_tab', function(e){
|
23
|
+
e.preventDefault();
|
24
|
+
$tab_link = $(e.target);
|
25
|
+
set_active_tab($tab_link)
|
26
|
+
})
|
27
|
+
}
|
28
|
+
|
29
|
+
var set_active_tab = function($tab_link) {
|
30
|
+
var content_id = $tab_link.attr('href');
|
31
|
+
var tab_selector = ".tab-title[href='" + content_id + "']";
|
32
|
+
var old_content_id = dj_obj.$parent.find(".tab-title.active").attr('href');
|
33
|
+
var $old_active = dj_obj.$parent.find(".tab-title.active").removeClass('active');
|
34
|
+
var $new_active = dj_obj.$parent.find(tab_selector);
|
35
|
+
$new_active.addClass('active');
|
36
|
+
dj_obj.$parent.find(content_id).show();
|
37
|
+
dj_obj.$parent.find(old_content_id).hide();
|
38
|
+
}
|
39
|
+
|
40
|
+
var hide_tab_content = function(){
|
41
|
+
dj_obj.$parent.find(".tab-content").hide();
|
42
|
+
}
|
43
|
+
|
44
|
+
var show_active_tab = function(){
|
45
|
+
var content_id = dj_obj.$parent.find(".tab-title.active").attr('href');
|
46
|
+
dj_obj.$parent.find(content_id).show();
|
47
|
+
}
|
48
|
+
|
49
|
+
return dj_obj
|
50
|
+
})(jQuery);
|
51
|
+
|
52
|
+
$(window.delayed_job_ui.initialize);
|