admin_data 1.0.16 → 1.0.17
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.
- data/History.txt +9 -0
- data/app/views/admin_data/main/all_models.html.erb +1 -5
- data/app/views/admin_data/main/edit.html.erb +8 -9
- data/app/views/admin_data/main/show.html.erb +8 -7
- data/app/views/admin_data/main/table_structure.html.erb +0 -1
- data/app/views/admin_data/search/_search_base.html.erb +8 -4
- data/app/views/admin_data/search/search/_advance_search_form.html.erb +4 -3
- data/app/views/admin_data/search/search/_search_form.html.erb +1 -1
- data/app/views/admin_data/search/search/_sortby.html.erb +1 -1
- data/app/views/admin_data/shared/_drop_down_klasses.html.erb +1 -0
- data/app/views/admin_data/shared/_header.html.erb +5 -9
- data/app/views/layouts/admin_data.html.erb +2 -6
- data/lib/admin_data/helpers.rb +4 -0
- data/lib/admin_data/railtie.rb +0 -1
- data/lib/admin_data/settings.rb +3 -0
- data/lib/admin_data/version.rb +1 -1
- data/lib/admin_data.rb +0 -1
- data/lib/css/base.css +28 -8
- data/lib/js/advance_search/act_on_result.js +4 -4
- data/lib/js/advance_search/advance_search.js +83 -54
- data/lib/js/advance_search/event_bindings.js +8 -13
- metadata +4 -5
- data/lib/admin_data/compatibility.rb +0 -7
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
|
2
|
+
=== 2010-10-12 v1.0.17
|
3
|
+
* use image for advance search add and remove link
|
4
|
+
* fix bug regarding "Destroy All"
|
5
|
+
* layout change
|
6
|
+
* have only one drop down in the homepage
|
7
|
+
|
8
|
+
=== 2010-09-22 v1.0.11
|
9
|
+
|
1
10
|
=== 2010-10-12 v1.0.14
|
2
11
|
* use the new way of routing. remove deprecation
|
3
12
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
<div id="main">
|
2
2
|
<div class="block" id="block-tables">
|
3
3
|
<div class="content rounded select_box">
|
4
|
-
<h2 style='margin-left:0;'>Select
|
5
|
-
<p class='notice'>
|
6
|
-
Note that this drop down is also available at top right corner of every page .
|
7
|
-
</p>
|
8
|
-
<%= render '/admin_data/shared/drop_down_klasses', :drop_down_for_klasses => @drop_down_for_klasses %>
|
4
|
+
<h2 style='margin-left:0;'>Select from the drop down menu above</h2>
|
9
5
|
<div class="clear"></div>
|
10
6
|
</div>
|
11
7
|
</div>
|
@@ -1,13 +1,12 @@
|
|
1
1
|
<div id="main">
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
</h2>
|
2
|
+
<div>
|
3
|
+
<h1 style='float:left;font-weight:bold;font-size: 35px;'>
|
4
|
+
<%= link_to @klass, admin_data_search_path(:klass => @klass.name) %>
|
5
|
+
>
|
6
|
+
<%= link_to "ID #{@model.id}", ''%>
|
7
|
+
</h1>
|
8
|
+
<div class='clear'></div>
|
9
|
+
</div>
|
11
10
|
|
12
11
|
<div class="block" id="block-tables">
|
13
12
|
|
@@ -1,12 +1,13 @@
|
|
1
1
|
<div id="main">
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
<div>
|
4
|
+
<h1 style='float:left;font-weight:bold;font-size: 35px;'>
|
5
|
+
<%= link_to @klass, admin_data_search_path(:klass => @klass.name) %>
|
6
|
+
>
|
7
|
+
<%= link_to "ID #{@model.id}", ''%>
|
8
|
+
</h1>
|
9
|
+
<div class='clear'></div>
|
10
|
+
</div>
|
10
11
|
|
11
12
|
<%= render 'admin_data/shared/flash_message', :model => @model %>
|
12
13
|
|
@@ -1,8 +1,12 @@
|
|
1
|
-
<%= admin_data_breadcrum do %>
|
2
|
-
<%= link_to klass.name, admin_data_search_path(:klass => klass.name.underscore) %>
|
3
|
-
<% end %>
|
4
|
-
|
5
1
|
<div class="block" id="block-text">
|
2
|
+
|
3
|
+
<div>
|
4
|
+
<h1 style='float:left;font-weight:bold;font-size: 35px;'> Listing <%=klass.name%></h1>
|
5
|
+
<h3 style='float:left;margin:22px 0 0 10px;color:gray;'><%=total_records_info(klass)%></h3>
|
6
|
+
<div class='clear'></div>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
|
6
10
|
<div class="secondary-navigation">
|
7
11
|
<%= render 'admin_data/shared/secondary_navigation', :klass => klass %>
|
8
12
|
<div class="clear"></div>
|
@@ -8,14 +8,15 @@
|
|
8
8
|
</table>
|
9
9
|
|
10
10
|
<div class='sortby_umbrella'>
|
11
|
-
<
|
12
|
-
|
13
|
-
<div class='sortby_text'>sort by</div>
|
11
|
+
<div class='group' style='padding-left:20px;'>
|
12
|
+
<div class='sortby_text' style='font-size:16px;'>Sort by</div>
|
14
13
|
<select name='sortby' id='sortby'>
|
15
14
|
<%= AdminData::Util.build_sort_options(klass,params[:sortby]).html_safe %>
|
16
15
|
</select>
|
16
|
+
<br />
|
17
17
|
</div>
|
18
18
|
<div class='clear'></div>
|
19
|
+
<input type="submit" value="Search" class='submit_search' />
|
19
20
|
</div>
|
20
21
|
</div>
|
21
22
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<div class='search_box'>
|
4
4
|
<div id='quick_search'>
|
5
|
-
<label class='label keyword_label'>
|
5
|
+
<label class='label keyword_label'>Search keyword</label>
|
6
6
|
<input type="text" id="quick_search_input" name="query" value="<%=params[:query]%>" />
|
7
7
|
<%= render :partial => 'admin_data/search/search/sortby', :locals => {:klass => klass} %>
|
8
8
|
<div class='clear'></div>
|
@@ -1,17 +1,13 @@
|
|
1
1
|
<div id="header">
|
2
|
-
<h1>
|
3
|
-
<%= link_to 'admin_data', admin_data_index_path %>
|
2
|
+
<h1>
|
4
3
|
</h1>
|
5
4
|
|
6
5
|
<ul id='subnav'>
|
7
|
-
<li>
|
8
|
-
|
6
|
+
<li>
|
7
|
+
<% label = "Back to Site " + image_tag('https://github.com/neerajdotname/admin_data/raw/rails3_gem/public/images/site.png', :width => '12') %>
|
8
|
+
<%= link_to label.html_safe, '/' %>
|
9
9
|
</li>
|
10
|
-
|
11
|
-
<li>
|
12
|
-
<%= link_to 'Migration Information', admin_data_migration_information_path %>
|
13
|
-
</li>
|
14
|
-
|
10
|
+
<li> <%= link_to AdminData::Config.setting[:app_name] , admin_data_index_path %> </li>
|
15
11
|
</ul>
|
16
12
|
|
17
13
|
<div id='model_drop_down'>
|
@@ -12,9 +12,7 @@
|
|
12
12
|
|
13
13
|
<%= AdminData::Util.google_hosted_jquery(self).html_safe %>
|
14
14
|
|
15
|
-
|
16
|
-
like ignoring attempt to close string with script Hence not including jquery.form in test -->
|
17
|
-
<%= AdminData::Util.javascript_include_tag('vendor/jquery.form').html_safe unless Rails.env.test? %>
|
15
|
+
<%= AdminData::Util.javascript_include_tag('vendor/jquery.form').html_safe %>
|
18
16
|
|
19
17
|
<%= AdminData::Util.javascript_include_tag('vendor/log',
|
20
18
|
'vendor/rails',
|
@@ -23,9 +21,7 @@
|
|
23
21
|
'advance_search/global_ajax_setting',
|
24
22
|
'misc/js_util').html_safe %>
|
25
23
|
|
26
|
-
|
27
|
-
no need of these javascripts in test mode -->
|
28
|
-
<% if params[:action] == 'advance_search' && !Rails.env.test? %>
|
24
|
+
<% if params[:action] == 'advance_search' %>
|
29
25
|
<%= AdminData::Util.javascript_include_tag(
|
30
26
|
'advance_search/advance_search',
|
31
27
|
'advance_search/advance_search_structure',
|
data/lib/admin_data/helpers.rb
CHANGED
data/lib/admin_data/railtie.rb
CHANGED
data/lib/admin_data/settings.rb
CHANGED
@@ -5,6 +5,7 @@ class AdminData::Config
|
|
5
5
|
def self.set=(input = {})
|
6
6
|
valid_keys =
|
7
7
|
%w(
|
8
|
+
app_name
|
8
9
|
adapter_name
|
9
10
|
find_conditions
|
10
11
|
plugin_dir
|
@@ -36,6 +37,8 @@ class AdminData::Config
|
|
36
37
|
def self.initialize_defaults
|
37
38
|
self.setting = {
|
38
39
|
|
40
|
+
:app_name => "admin_data",
|
41
|
+
# TODO get rid of plugin_dir
|
39
42
|
:plugin_dir => File.expand_path(File.join(File.dirname(__FILE__), '..', '..')),
|
40
43
|
|
41
44
|
:will_paginate_per_page => 50,
|
data/lib/admin_data/version.rb
CHANGED
data/lib/admin_data.rb
CHANGED
data/lib/css/base.css
CHANGED
@@ -22,11 +22,18 @@ body {
|
|
22
22
|
#container {
|
23
23
|
min-width: 940px;
|
24
24
|
margin: 0 10px;
|
25
|
+
background: #B3D8EF;
|
26
|
+
background: #0f61a1;
|
27
|
+
background: #e4e4e4;
|
25
28
|
}
|
26
29
|
|
27
|
-
#header
|
30
|
+
#header {
|
28
31
|
padding: 0 20px;
|
29
32
|
}
|
33
|
+
#wrapper {
|
34
|
+
padding: 0 20px;
|
35
|
+
margin: 0;
|
36
|
+
}
|
30
37
|
|
31
38
|
#header {
|
32
39
|
position: relative;
|
@@ -64,6 +71,8 @@ body {
|
|
64
71
|
#main {
|
65
72
|
width: 70%;
|
66
73
|
float: left;
|
74
|
+
background: #fff;
|
75
|
+
padding: 0 20px;
|
67
76
|
}
|
68
77
|
|
69
78
|
.actions-bar {
|
@@ -110,7 +119,7 @@ body {
|
|
110
119
|
}
|
111
120
|
|
112
121
|
#wrapper {
|
113
|
-
padding-top:
|
122
|
+
padding-top: 10px;
|
114
123
|
}
|
115
124
|
|
116
125
|
#main .block {
|
@@ -406,6 +415,11 @@ a { -moz-outline: none; }
|
|
406
415
|
body {
|
407
416
|
color: #222;
|
408
417
|
background: #ededec;
|
418
|
+
background: #0F61FF;
|
419
|
+
background: #0072bc;
|
420
|
+
background: #fff;
|
421
|
+
background: #0f61a1;
|
422
|
+
background: #e4e4e4;
|
409
423
|
font-family: helvetica, arial, sans-serif;
|
410
424
|
}
|
411
425
|
|
@@ -911,7 +925,7 @@ table#view_table tr:hover {
|
|
911
925
|
#model_drop_down {
|
912
926
|
position: absolute;
|
913
927
|
top: 10px;
|
914
|
-
|
928
|
+
left: 100px;
|
915
929
|
}
|
916
930
|
|
917
931
|
.drop_down_value_klass {
|
@@ -1011,22 +1025,23 @@ table#missing_index tr td {
|
|
1011
1025
|
}
|
1012
1026
|
|
1013
1027
|
.submit_search {
|
1028
|
+
-moz-border-radius: 5px; /* Firefox */
|
1029
|
+
-webkit-border-radius: 5px; /* Safari */
|
1014
1030
|
float: left;
|
1015
|
-
border:
|
1016
|
-
color: #
|
1017
|
-
|
1031
|
+
border: 1px solid #000;
|
1032
|
+
color: #000;
|
1033
|
+
/*background: #4F8AFF;*/
|
1018
1034
|
padding: 3px;
|
1019
1035
|
font-weight: bold;
|
1020
1036
|
font-size: 16px;
|
1037
|
+
cursor: pointer;
|
1021
1038
|
}
|
1022
1039
|
|
1023
1040
|
|
1024
1041
|
.add_row_link, .remove_row {
|
1025
1042
|
font-size: 30px;
|
1026
1043
|
text-decoration: none;
|
1027
|
-
border: 1px solid #127BC4;
|
1028
1044
|
color: #fff;
|
1029
|
-
background: #4F8AFF;
|
1030
1045
|
padding: 0 3px;
|
1031
1046
|
margin: 0;
|
1032
1047
|
}
|
@@ -1069,3 +1084,8 @@ ul#subnav li a:hover {
|
|
1069
1084
|
.col_box {
|
1070
1085
|
border-top: 1px dotted #efefef;
|
1071
1086
|
}
|
1087
|
+
|
1088
|
+
#main .block .content p.error {
|
1089
|
+
font-weight: bold;
|
1090
|
+
font-size: 18px;
|
1091
|
+
}
|
@@ -31,16 +31,16 @@ AdminData.actOnResult = {
|
|
31
31
|
};
|
32
32
|
|
33
33
|
$('#advance_search_delete_all').live('click', function() {
|
34
|
-
|
34
|
+
if (window.confirm('Are you sure?')) {
|
35
35
|
AdminData.actOnResult.action('delete');
|
36
|
-
|
36
|
+
}
|
37
37
|
return false;
|
38
38
|
});
|
39
39
|
|
40
40
|
$('#advance_search_destroy_all').live('click', function() {
|
41
|
-
|
41
|
+
if (window.confirm('Are you sure?')) {
|
42
42
|
AdminData.actOnResult.action('destroy');
|
43
|
-
|
43
|
+
}
|
44
44
|
return false;
|
45
45
|
});
|
46
46
|
|
@@ -2,59 +2,88 @@ var AdminData = AdminData || {};
|
|
2
2
|
|
3
3
|
AdminData.advanceSearch = {
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
5
|
+
buildFirstRow: function() {
|
6
|
+
|
7
|
+
var img = $('<img />', {
|
8
|
+
src: 'https://github.com/neerajdotname/admin_data/raw/rails3_gem/public/images/add.png'
|
9
|
+
});
|
10
|
+
|
11
|
+
$('#advance_search_table').append(this.buildRow()).find('tr td:last a').attr('id','add_row_link_1').removeClass('remove_row').addClass('add_row_link').html('').append(img);
|
12
|
+
},
|
13
|
+
|
14
|
+
buildCol1: function() {
|
15
|
+
var i, col = $('<select />', {
|
16
|
+
className: 'col1'
|
17
|
+
}).append($('<option />')),
|
18
|
+
tableStructure = $('#advance_search_table').data('table_structure');
|
19
|
+
|
20
|
+
for (i in tableStructure) {
|
21
|
+
$('<option />', {
|
22
|
+
text: i,
|
23
|
+
value: i
|
24
|
+
}).appendTo(col);
|
25
|
+
}
|
26
|
+
return $('<td />').append(col);
|
27
|
+
},
|
28
|
+
|
29
|
+
buildCol2: function() {
|
30
|
+
var select = $('<select />', {
|
31
|
+
className: 'col2'
|
32
|
+
});
|
33
|
+
return $('<td />').append(select);
|
34
|
+
},
|
35
|
+
|
36
|
+
buildCol3: function() {
|
37
|
+
return $('<td />').append($('<input />', {
|
38
|
+
className: 'col3'
|
39
|
+
}));
|
40
|
+
},
|
41
|
+
|
42
|
+
buildCol4: function() {
|
43
|
+
var img = $('<img />', {
|
44
|
+
src: 'https://github.com/neerajdotname/admin_data/raw/rails3_gem/public/images/no.png'
|
45
|
+
});
|
46
|
+
|
47
|
+
return $('<td />').append($('<a />', {
|
48
|
+
text: '',
|
49
|
+
href: '#',
|
50
|
+
className: 'remove_row'
|
51
|
+
}).append(img));
|
52
|
+
},
|
53
|
+
|
54
|
+
buildRow: function() {
|
55
|
+
|
56
|
+
var $tr = $('<tr />'),
|
57
|
+
currentRowNumber = $(document).data('currentRowNumber'),
|
58
|
+
that = this,
|
59
|
+
build_array = ['buildCol1', 'buildCol2', 'buildCol3', 'buildCol4'];
|
60
|
+
|
61
|
+
if (currentRowNumber === undefined) {
|
62
|
+
currentRowNumber = 1;
|
63
|
+
$(document).data('currentRowNumber', currentRowNumber)
|
64
|
+
} else {
|
65
|
+
currentRowNumber = parseInt(currentRowNumber) + 1;
|
66
|
+
$(document).data('currentRowNumber', currentRowNumber)
|
67
|
+
}
|
68
|
+
|
69
|
+
$.each(build_array, function(index, value) {
|
70
|
+
$tr.append(that[value]());
|
71
|
+
});
|
72
|
+
|
73
|
+
$tr.find('select.col1').attr({
|
74
|
+
name: 'adv_search[' + currentRowNumber + '_row][col1]'
|
75
|
+
});
|
76
|
+
$tr.find('select.col2').attr({
|
77
|
+
name: 'adv_search[' + currentRowNumber + '_row][col2]'
|
78
|
+
});
|
79
|
+
$tr.find('input.col3').attr({
|
80
|
+
name: 'adv_search[' + currentRowNumber + '_row][col3]'
|
81
|
+
});
|
82
|
+
|
83
|
+
$tr.find('.remove_row').attr('id', 'remove_row_'+currentRowNumber);
|
84
|
+
|
85
|
+
return $tr;
|
86
|
+
}
|
59
87
|
|
60
88
|
};
|
89
|
+
|
@@ -14,13 +14,9 @@ AdminData.bindings = {
|
|
14
14
|
col1ColumnType = tableStructure[$col1.val()];
|
15
15
|
|
16
16
|
if (value.length === 0 || ($.inArray(value, arrayList) > - 1)) {
|
17
|
-
$col3.val('')
|
18
|
-
.attr('disabled', true)
|
19
|
-
.addClass('disabled');
|
17
|
+
$col3.val('');
|
20
18
|
|
21
19
|
} else {
|
22
|
-
$col3.attr('disabled', false)
|
23
|
-
.removeClass('disabled');
|
24
20
|
|
25
21
|
if (col1ColumnType === 'datetime' || col1ColumnType === 'date') {
|
26
22
|
$col3.val(AdminData.jsUtil.dateToString(new Date())).addClass('datepicker');
|
@@ -45,20 +41,19 @@ AdminData.bindings = {
|
|
45
41
|
$('#results').html(responseText);
|
46
42
|
}});
|
47
43
|
|
48
|
-
|
49
44
|
AdminData.jsUtil.colorizeRows();
|
50
45
|
},
|
51
46
|
|
52
47
|
col1_change: function(e) {
|
53
|
-
var
|
48
|
+
var col1 = $(e.target).closest('select'),
|
54
49
|
tableStructure = $('#advance_search_table').data('table_structure'),
|
55
|
-
columnType = tableStructure[
|
56
|
-
options = AdminData.mappings[columnType]['options']
|
50
|
+
columnType = tableStructure[col1.val()],
|
51
|
+
options = AdminData.mappings[columnType]['options'],
|
52
|
+
col2 = col1.parents('tr').find('td select.col2');
|
57
53
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
$col2.trigger('change');
|
54
|
+
col2.html('');
|
55
|
+
AdminData.jsUtil.buildOptionsFromArray(options, col2);
|
56
|
+
col2.trigger('change');
|
62
57
|
}
|
63
58
|
};
|
64
59
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: admin_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 53
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 17
|
10
|
+
version: 1.0.17
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Neeraj Singh
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-05 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -147,7 +147,6 @@ files:
|
|
147
147
|
- config/routes.rb
|
148
148
|
- lib/admin_data.rb
|
149
149
|
- lib/admin_data/chelper.rb
|
150
|
-
- lib/admin_data/compatibility.rb
|
151
150
|
- lib/admin_data/helpers.rb
|
152
151
|
- lib/admin_data/railtie.rb
|
153
152
|
- lib/admin_data/search.rb
|