cable 0.9.6 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/cable/menu/base.rb +2 -0
- data/lib/cable/menu/simple_navigation_methods.rb +2 -0
- data/lib/cable/schema.rb +1 -0
- data/lib/generators/cable/install_generator.rb +7 -1
- data/lib/generators/cable/resource/resource_generator.rb +6 -5
- data/lib/generators/cable/resource/templates/controller.rb +2 -2
- data/lib/generators/cable/resource/templates/erb/scaffold/_model_row.html.erb +9 -0
- data/lib/generators/cable/resource/templates/erb/scaffold/edit.html.erb +1 -4
- data/lib/generators/cable/resource/templates/erb/scaffold/index.html.erb +3 -45
- data/lib/generators/cable/resource/templates/erb/scaffold/index.js.erb +2 -0
- data/lib/generators/cable/resource/templates/erb/scaffold/new.html.erb +1 -3
- data/lib/generators/cable/resource/templates/erb/scaffold/show.html.erb +1 -1
- data/public/javascripts/admin.js +20 -22
- data/public/stylesheets/cable/blueprint/screen.css +0 -11
- data/public/stylesheets/cable/buttons.css +9 -2
- data/public/stylesheets/cable/formtastic.css +28 -31
- data/public/stylesheets/cable/formtastic_changes.css +10 -57
- data/public/stylesheets/cable/tables.css +2 -0
- data/public/stylesheets/cable.css +4 -4
- data/public/stylesheets/tinymce/custom_rich_editor.css +1 -0
- metadata +79 -25
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.8
|
data/lib/cable/menu/base.rb
CHANGED
data/lib/cable/schema.rb
CHANGED
@@ -43,6 +43,7 @@ module Cable
|
|
43
43
|
apply_cable_schema :show_on_landing_page, :boolean
|
44
44
|
apply_cable_schema :template, String
|
45
45
|
apply_cable_schema :tree_id, Integer
|
46
|
+
apply_cable_schema :options, :text
|
46
47
|
end
|
47
48
|
# @note Overwrite with specific modification to create your own schema.
|
48
49
|
def apply_cable_schema(name, type, options={})
|
@@ -51,7 +51,7 @@ module Cable
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def install_jquery
|
54
|
-
if yes?("
|
54
|
+
if yes?("Dost thou require jquery?".color(:yellow))
|
55
55
|
generate("jquery:install --ui")
|
56
56
|
end
|
57
57
|
end
|
@@ -62,6 +62,12 @@ module Cable
|
|
62
62
|
|
63
63
|
def install_admin
|
64
64
|
copy_file "app/views/layouts/admin.html.erb", 'app/views/layouts/admin.html.erb'
|
65
|
+
directory "public/stylesheets/tinymce", "public/stylesheets/tinymce"
|
66
|
+
end
|
67
|
+
|
68
|
+
def install_cocoon
|
69
|
+
generate('cocoon:install')
|
70
|
+
insert_into_file 'app/views/layouts/admin.html.erb', '<%= javascript_include_tag :cocoon %>\n', :before => '<%= yield :scripts %>'
|
65
71
|
end
|
66
72
|
|
67
73
|
def install_routes
|
@@ -39,11 +39,12 @@ module Cable
|
|
39
39
|
def create_scaffold
|
40
40
|
if options.views?
|
41
41
|
if yes?("Would you like Cable to generate views for #{model_name.capitalize}?".color(:yellow))
|
42
|
-
template 'erb/scaffold/_form.html.erb',
|
43
|
-
template 'erb/scaffold/index.html.erb',
|
44
|
-
template 'erb/scaffold/edit.html.erb',
|
45
|
-
template 'erb/scaffold/new.html.erb',
|
46
|
-
template 'erb/scaffold/show.html.erb',
|
42
|
+
template 'erb/scaffold/_form.html.erb', "app/views/admin/#{plural_table_name}/_#{singular_table_name}.html.erb"
|
43
|
+
template 'erb/scaffold/index.html.erb', "app/views/admin/#{plural_table_name}/index.html.erb"
|
44
|
+
template 'erb/scaffold/edit.html.erb', "app/views/admin/#{plural_table_name}/edit.html.erb"
|
45
|
+
template 'erb/scaffold/new.html.erb', "app/views/admin/#{plural_table_name}/new.html.erb"
|
46
|
+
template 'erb/scaffold/show.html.erb', "app/views/admin/#{plural_table_name}/show.html.erb"
|
47
|
+
template 'erb/scaffold/_model_row.html.erb', "app/views/admin/#{plural_table_name}/_#{singular_table_name}_row.html.erb"
|
47
48
|
end
|
48
49
|
end
|
49
50
|
end
|
@@ -3,7 +3,7 @@ class Admin::<%= class_name.pluralize %>Controller < AdminController
|
|
3
3
|
respond_to :html, :xml, :json
|
4
4
|
|
5
5
|
def index
|
6
|
-
respond_with(:admin, @<%= plural_table_name %> = <%= class_name %>.page(
|
6
|
+
respond_with(:admin, @<%= plural_table_name %> = <%= class_name %>.order("updated_at DESC").page(params[:page]))
|
7
7
|
end
|
8
8
|
|
9
9
|
# GET <%= route_url %>/1
|
@@ -17,7 +17,7 @@ class Admin::<%= class_name.pluralize %>Controller < AdminController
|
|
17
17
|
# GET <%= route_url %>/new.xml
|
18
18
|
def new
|
19
19
|
@<%= singular_table_name %> = <%= orm_class.build(class_name) %>
|
20
|
-
respond_with(
|
20
|
+
respond_with(:admin , @<%= singular_table_name %>)
|
21
21
|
end
|
22
22
|
|
23
23
|
# GET <%= route_url %>/1/edit
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<tr id="<%%= dom_id(<%= singular_table_name %>) %>">
|
2
|
+
<!-- TODO This should loop through the attributes instead of depending on title. id, updated_at and created_at could be skipped. -->
|
3
|
+
<th><%%= link_to <%= singular_table_name %>.title, [:admin, <%= singular_table_name %>], :target => "_blank" %></th>
|
4
|
+
<td class="updated_at"><%%= <%= singular_table_name %>.updated_at %></td>
|
5
|
+
<td class="actions">
|
6
|
+
<%%= link_to 'Edit', edit_admin_<%= singular_table_name %>_path(<%= singular_table_name %>) %>
|
7
|
+
<%%= link_to 'Destroy', [:admin, <%= singular_table_name %>], :confirm => 'Are you sure?', :method => :delete %>
|
8
|
+
</td>
|
9
|
+
</tr>
|
@@ -1,6 +1,3 @@
|
|
1
|
-
<h1>Editing <%= singular_table_name.capitalize %></h1>
|
2
|
-
|
3
1
|
<%%= render '<%= singular_table_name %>' %>
|
4
2
|
|
5
|
-
<%%= link_to 'Show', [:admin, @<%= singular_table_name %> ]%> |
|
6
|
-
<%%= link_to 'Back', admin_<%= index_helper %>_path %>
|
3
|
+
<%%= link_to 'Show', [:admin, @<%= singular_table_name %> ]%> | <%%= link_to 'Back', :back %>
|
@@ -3,56 +3,14 @@
|
|
3
3
|
<thead>
|
4
4
|
<tr>
|
5
5
|
<th><%= singular_table_name.capitalize %></th>
|
6
|
-
<th>
|
6
|
+
<th class="updated_at">Updated At</th>
|
7
7
|
<th class="actions">Actions</th>
|
8
8
|
</tr>
|
9
9
|
</thead>
|
10
10
|
<tbody>
|
11
11
|
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
12
|
-
|
13
|
-
<td><strong><%%= link_to <%= singular_table_name %>.title, [:admin, <%= singular_table_name %>], :target => "_blank" %></strong></td>
|
14
|
-
<td style="text-align:right;"><%%= link_to 'Edit', edit_admin_<%= singular_table_name %>_path(<%= singular_table_name %>) %> <%%= link_to 'Destroy', [:admin, <%= singular_table_name %>], :confirm => 'Are you sure?', :method => :delete %></td>
|
15
|
-
</tr>
|
16
|
-
<%% unless <%= singular_table_name %>.menu.blank? %>
|
17
|
-
<tr>
|
18
|
-
<td><strong>Template:</strong>
|
19
|
-
<td><%%= <%= singular_table_name %>.menu.template.titleize unless <%= singular_table_name %>.menu.blank? %></td>
|
20
|
-
</tr>
|
21
|
-
<%% end %>
|
22
|
-
|
23
|
-
<%% if <%= singular_table_name %>.respond_to?(:blocks) %>
|
24
|
-
<tr>
|
25
|
-
<td colspan=1>
|
26
|
-
<strong>Blocks:</strong>
|
27
|
-
</td>
|
28
|
-
<td>
|
29
|
-
<%% unless <%= singular_table_name %>.blocks.empty? %>
|
30
|
-
<%%= <%= singular_table_name %>.blocks.each do |block| %>
|
31
|
-
<strong><%%= link_to block.title, [:admin, block] %></strong> => <%%= block.region.titleize %><br />
|
32
|
-
<%% end %>
|
33
|
-
<%% end %>
|
34
|
-
</td>
|
35
|
-
</tr>
|
36
|
-
<%% end %>
|
37
|
-
|
38
|
-
<%% if <%= singular_table_name %>.respond_to?(:teaser) %>
|
39
|
-
<tr>
|
40
|
-
<td><strong>Teaser:</strong></td>
|
41
|
-
<td><%%= <%= singular_table_name %>.teaser unless <%= singular_table_name %>.teaser.blank? %></td>
|
42
|
-
</tr>
|
43
|
-
<%% end %>
|
44
|
-
|
45
|
-
<%% unless <%= singular_table_name %>.menu.blank? %>
|
46
|
-
<tr>
|
47
|
-
<td style="border-bottom:2px solid #333;">
|
48
|
-
<strong>URL:</strong>
|
49
|
-
</td>
|
50
|
-
<td style="border-bottom:2px solid #333;">
|
51
|
-
<%%= <%= singular_table_name %>.menu.url unless <%= singular_table_name %>.menu.blank? %></td>
|
52
|
-
</td>
|
53
|
-
</tr>
|
54
|
-
<%% end %>
|
12
|
+
<%%= render :partial => '<%= singular_table_name %>_row', :locals => {:<%= singular_table_name %> => <%= singular_table_name %>} %>
|
55
13
|
<%% end %>
|
56
14
|
</tbody>
|
57
15
|
</table>
|
58
|
-
<%%= paginate
|
16
|
+
<%%= paginate @<%= plural_table_name %>, :window => 1 %>
|
@@ -8,4 +8,4 @@
|
|
8
8
|
|
9
9
|
<% end %>
|
10
10
|
|
11
|
-
<%%= link_to 'Edit', edit_admin_<%= singular_table_name %>_path(@<%= singular_table_name %>) %> | <%%= link_to 'Back',
|
11
|
+
<%%= link_to 'Edit', edit_admin_<%= singular_table_name %>_path(@<%= singular_table_name %>) %> | <%%= link_to 'Back', :back %>
|
data/public/javascripts/admin.js
CHANGED
@@ -1,34 +1,32 @@
|
|
1
1
|
$(document).ready(function(){
|
2
2
|
$('.sortable-table').tablesorter();
|
3
|
-
$().
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
pdw_toggle_toolbars : "2,3"
|
19
|
-
});
|
3
|
+
$('.rich_editor').tinymce({
|
4
|
+
script_url : '/javascripts/tinymce/tiny_mce.js',
|
5
|
+
theme : "advanced",
|
6
|
+
plugins : "pdw,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
|
7
|
+
theme_advanced_buttons1 : "pdw_toggle,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,cut,copy,paste,pastetext,pasteword",
|
8
|
+
theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,preview",
|
9
|
+
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,media|,fullscreen",
|
10
|
+
theme_advanced_toolbar_location : "top",
|
11
|
+
theme_advanced_toolbar_align : "left",
|
12
|
+
theme_advanced_statusbar_location : "bottom",
|
13
|
+
theme_advanced_resizing : true,
|
14
|
+
theme_advanced_resize_horizontal : false,
|
15
|
+
pdw_toggle_on : 1,
|
16
|
+
pdw_toggle_toolbars : "2,3",
|
17
|
+
content_css : "/stylesheets/tinymce/custom_rich_editor.css"
|
20
18
|
});
|
19
|
+
|
21
20
|
$('.disabled-button').button({disabled: true});
|
22
|
-
// $('.yes_no :checkbox').iphoneStyle({
|
23
|
-
// checkedLabel: 'YES',
|
24
|
-
// uncheckedLabel: 'NO'
|
25
|
-
// });
|
26
21
|
|
27
22
|
$(".collapsible ol").hide();
|
28
23
|
$(".collapsible legend").click(function(){
|
29
24
|
$(this).nextAll("ol").slideToggle(500);
|
30
|
-
$(this).parent().toggleClass("open")
|
25
|
+
$(this).parent().toggleClass("open");
|
31
26
|
});
|
27
|
+
|
28
|
+
$(".tabs").tabs({fx: { height: 'toggle'}});
|
29
|
+
|
32
30
|
$(".collapsible legend").append(" <span class='expand'>Expand</span> <span class='close'>Close</span>");
|
33
31
|
$(".collapsible legend").css({"cursor":"pointer"});
|
34
32
|
$(".selected").last().addClass("last");
|
@@ -77,17 +77,6 @@ caption {background:#eee;}
|
|
77
77
|
.bottom {margin-bottom:0;padding-bottom:0;}
|
78
78
|
|
79
79
|
/* forms.css */
|
80
|
-
label {font-weight:bold;}
|
81
|
-
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
82
|
-
legend {font-weight:bold;font-size:1.2em;}
|
83
|
-
input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
|
84
|
-
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
|
85
|
-
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
|
86
|
-
input.text, input.title {width:300px;padding:5px;}
|
87
|
-
input.title {font-size:1.5em;}
|
88
|
-
textarea {width:390px;height:250px;padding:5px;}
|
89
|
-
form.inline {line-height:3;}
|
90
|
-
form.inline p {margin-bottom:0;}
|
91
80
|
.error, .notice, .success, .info {padding:0.8em;margin-bottom:1em;border:2px solid #ddd;}
|
92
81
|
.error {background:#fbe3e4;color:#8a1f11;border-color:#fbc2c4;}
|
93
82
|
.notice {background:#fff6bf;color:#514721;border-color:#ffd324;}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
/* @override http://localhost:3000/stylesheets/cable/buttons.css */
|
2
|
+
|
1
3
|
.pagination .current,
|
2
4
|
.pagination em,
|
3
5
|
.pagination a,
|
@@ -6,8 +8,9 @@
|
|
6
8
|
.formtastic input[type=button],
|
7
9
|
.formtastic input[type=submit],
|
8
10
|
.actions a,
|
9
|
-
.
|
10
|
-
|
11
|
+
a.add_fields,
|
12
|
+
a.remove_fields,
|
13
|
+
.user-session a{
|
11
14
|
display:inline-block;
|
12
15
|
font-size: 14px;
|
13
16
|
color: #ffffff;
|
@@ -23,6 +26,7 @@ form.formtastic input, form.formtastic textarea, form.formtastic select {
|
|
23
26
|
text-shadow: 0px -1px 0px rgba(000,000,000,0.4), 0px 1px 0px rgba(255,255,255,0.3);
|
24
27
|
padding: 4px 6px;
|
25
28
|
}
|
29
|
+
|
26
30
|
.formtastic input[type=file]{
|
27
31
|
background: white;
|
28
32
|
color: black;
|
@@ -39,11 +43,14 @@ form.formtastic input, form.formtastic textarea, form.formtastic select {
|
|
39
43
|
.pagination a:hover,
|
40
44
|
.previous_page:hover,
|
41
45
|
.actions a:hover,
|
46
|
+
a.remove_fields:hover,
|
47
|
+
a.add_fields:hover,
|
42
48
|
.user-session a:hover{
|
43
49
|
background:#333;
|
44
50
|
text-decoration:none;
|
45
51
|
cursor:pointer;
|
46
52
|
}
|
53
|
+
|
47
54
|
.formtastic input[type=button]:hover,
|
48
55
|
.formtastic input[type=submit]:hover{
|
49
56
|
background:#333;
|
@@ -1,5 +1,3 @@
|
|
1
|
-
/* @override http://localhost:3000/stylesheets/formtastic.css */
|
2
|
-
|
3
1
|
/* -------------------------------------------------------------------------------------------------
|
4
2
|
|
5
3
|
It's *strongly* suggested that you don't modify this file. Instead, load a new stylesheet after
|
@@ -32,28 +30,16 @@ form.formtastic ul.errors li { padding:0; border:none; display:list-item; }
|
|
32
30
|
|
33
31
|
/* FIELDSETS & LISTS
|
34
32
|
--------------------------------------------------------------------------------------------------*/
|
35
|
-
form.formtastic fieldset { }
|
33
|
+
form.formtastic fieldset { overflow:auto; } /* clearing contained floats */
|
36
34
|
form.formtastic fieldset.inputs { }
|
37
35
|
form.formtastic fieldset.buttons { padding-left:25%; }
|
38
36
|
form.formtastic fieldset ol { }
|
39
37
|
form.formtastic fieldset.buttons li { float:left; padding-right:0.5em; }
|
40
38
|
|
41
|
-
/* clearfixing the fieldsets */
|
42
|
-
form.formtastic fieldset { display: inline-block; }
|
43
|
-
form.formtastic fieldset:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
44
|
-
html[xmlns] form.formtastic fieldset { display: block; }
|
45
|
-
* html form.formtastic fieldset { height: 1%; }
|
46
|
-
|
47
|
-
|
48
39
|
/* INPUT LIs
|
49
40
|
--------------------------------------------------------------------------------------------------*/
|
50
|
-
form.formtastic fieldset > ol > li { margin-
|
51
|
-
|
52
|
-
/* clearfixing the li's */
|
53
|
-
form.formtastic fieldset > ol > li { display: inline-block; }
|
54
|
-
form.formtastic fieldset > ol > li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
55
|
-
html[xmlns] form.formtastic fieldset > ol > li { display: block; }
|
56
|
-
* html form.formtastic fieldset > ol > li { height: 1%; }
|
41
|
+
form.formtastic fieldset > ol > li { padding:0.5em 0; margin-top:-0.5em; margin-bottom:1em; } /* padding and negative margin juggling is for Firefox */
|
42
|
+
form.formtastic fieldset > ol > li { overflow:auto; } /* clearing contained floats */
|
57
43
|
|
58
44
|
form.formtastic fieldset > ol > li.required { }
|
59
45
|
form.formtastic fieldset > ol > li.optional { }
|
@@ -89,24 +75,34 @@ form.formtastic fieldset > ol > li ul.errors { color:#cc0000; margin:0.5em 0 0 2
|
|
89
75
|
form.formtastic fieldset > ol > li ul.errors li { padding:0; border:none; display:list-item; }
|
90
76
|
|
91
77
|
|
92
|
-
/* STRING &
|
78
|
+
/* STRING, NUMERIC, PASSWORD, EMAIL, URL, PHONE & SEARCH OVERRIDES
|
93
79
|
--------------------------------------------------------------------------------------------------*/
|
94
|
-
form.formtastic fieldset > ol > li.string input
|
95
|
-
form.formtastic fieldset > ol > li.password input
|
96
|
-
form.formtastic fieldset > ol > li.numeric input
|
80
|
+
form.formtastic fieldset > ol > li.string input,
|
81
|
+
form.formtastic fieldset > ol > li.password input,
|
82
|
+
form.formtastic fieldset > ol > li.numeric input,
|
83
|
+
form.formtastic fieldset > ol > li.email input,
|
84
|
+
form.formtastic fieldset > ol > li.url input,
|
85
|
+
form.formtastic fieldset > ol > li.phone input,
|
86
|
+
form.formtastic fieldset > ol > li.search input { width:72%; }
|
87
|
+
|
88
|
+
form.formtastic fieldset > ol > li.string input[size],
|
89
|
+
form.formtastic fieldset > ol > li.password input[size],
|
90
|
+
form.formtastic fieldset > ol > li.numeric input[size],
|
91
|
+
form.formtastic fieldset > ol > li.email input[size],
|
92
|
+
form.formtastic fieldset > ol > li.url input[size],
|
93
|
+
form.formtastic fieldset > ol > li.phone input[size],
|
94
|
+
form.formtastic fieldset > ol > li.search input[size] { width:auto; max-width:72%; }
|
97
95
|
|
98
96
|
|
99
97
|
/* TEXTAREA OVERRIDES
|
100
98
|
--------------------------------------------------------------------------------------------------*/
|
101
|
-
form.formtastic fieldset > ol > li.text textarea { width:
|
99
|
+
form.formtastic fieldset > ol > li.text textarea { width:72%; }
|
100
|
+
form.formtastic fieldset > ol > li.text textarea[cols] { width:auto; max-width:72%; }
|
102
101
|
|
103
102
|
|
104
103
|
/* HIDDEN OVERRIDES
|
105
|
-
The dual declarations are required because of our clearfix display hack on the LIs, which is more
|
106
|
-
specific than the more general rule below. TODO: Revist the clearing hack and this rule.
|
107
104
|
--------------------------------------------------------------------------------------------------*/
|
108
|
-
form.formtastic fieldset ol li.hidden
|
109
|
-
html[xmlns] form.formtastic fieldset ol li.hidden { display:none; }
|
105
|
+
form.formtastic fieldset ol li.hidden { display:none; }
|
110
106
|
|
111
107
|
/* BOOLEAN OVERRIDES
|
112
108
|
--------------------------------------------------------------------------------------------------*/
|
@@ -117,8 +113,9 @@ form.formtastic fieldset > ol > li.boolean label input { margin:0 0.5em 0 0.2em;
|
|
117
113
|
/* RADIO OVERRIDES
|
118
114
|
--------------------------------------------------------------------------------------------------*/
|
119
115
|
form.formtastic fieldset > ol > li.radio { }
|
120
|
-
form.formtastic fieldset > ol > li.radio fieldset
|
121
|
-
form.formtastic fieldset > ol > li.radio fieldset ol
|
116
|
+
form.formtastic fieldset > ol > li.radio fieldset { overflow:visible; }
|
117
|
+
form.formtastic fieldset > ol > li.radio fieldset ol { margin-bottom:-0.5em; }
|
118
|
+
form.formtastic fieldset > ol > li.radio fieldset ol li { margin:0.1em 0 0.5em 0; overflow:visible; }
|
122
119
|
form.formtastic fieldset > ol > li.radio fieldset ol li label { float:none; width:100%; }
|
123
120
|
form.formtastic fieldset > ol > li.radio fieldset ol li label input { margin-right:0.2em; }
|
124
121
|
|
@@ -126,13 +123,13 @@ form.formtastic fieldset > ol > li.radio fieldset ol li label input { margin-rig
|
|
126
123
|
/* CHECK BOXES (COLLECTION) OVERRIDES
|
127
124
|
--------------------------------------------------------------------------------------------------*/
|
128
125
|
form.formtastic fieldset > ol > li.check_boxes { }
|
129
|
-
form.formtastic fieldset > ol > li.check_boxes fieldset
|
130
|
-
form.formtastic fieldset > ol > li.check_boxes fieldset ol
|
126
|
+
form.formtastic fieldset > ol > li.check_boxes fieldset { overflow:visible; }
|
127
|
+
form.formtastic fieldset > ol > li.check_boxes fieldset ol { margin-bottom:-0.5em; }
|
128
|
+
form.formtastic fieldset > ol > li.check_boxes fieldset ol li { margin:0.1em 0 0.5em 0; overflow:visible; }
|
131
129
|
form.formtastic fieldset > ol > li.check_boxes fieldset ol li label { float:none; width:100%; }
|
132
130
|
form.formtastic fieldset > ol > li.check_boxes fieldset ol li label input { margin-right:0.2em; }
|
133
131
|
|
134
132
|
|
135
|
-
|
136
133
|
/* DATE & TIME OVERRIDES
|
137
134
|
--------------------------------------------------------------------------------------------------*/
|
138
135
|
form.formtastic fieldset > ol > li.date fieldset ol li,
|
@@ -1,63 +1,16 @@
|
|
1
1
|
/* @override http://localhost:3000/stylesheets/cable/formtastic_changes.css */
|
2
2
|
|
3
|
-
form.formtastic
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
background: #f9f9f9;
|
13
|
-
margin-bottom: 1em;
|
14
|
-
padding: 1em;
|
15
|
-
}
|
16
|
-
form.formtastic fieldset.buttons{
|
17
|
-
padding-left: 100px;
|
18
|
-
margin-bottom: 0;
|
19
|
-
}
|
20
|
-
form.formtastic fieldset.buttons li {
|
21
|
-
float:left;
|
22
|
-
padding-right:0.5em;
|
23
|
-
|
24
|
-
}
|
25
|
-
form.formtastic fieldset > ol > li label {
|
26
|
-
display:block;
|
27
|
-
width: 90px;
|
28
|
-
float:left;
|
29
|
-
padding-top:.2em;
|
30
|
-
font-weight: bold;
|
31
|
-
color: #222;
|
32
|
-
margin-right: 10px;
|
33
|
-
}
|
34
|
-
form.formtastic fieldset > ol > li.boolean label {
|
35
|
-
padding-left:100px;
|
36
|
-
width:auto;
|
37
|
-
}
|
38
|
-
form.formtastic fieldset > ol > li p.inline-hints {
|
39
|
-
color:#000;
|
40
|
-
margin: 0.5em 0 0 100px;
|
41
|
-
border-radius: 4px;
|
42
|
-
-moz-border-radius: 4px;
|
43
|
-
-webkit-border-radius: 4px;
|
44
|
-
clear: both;
|
45
|
-
padding: .25em 10px .25em 0;
|
3
|
+
form.formtastic fieldset > ol > li.string input,
|
4
|
+
form.formtastic fieldset > ol > li.password input,
|
5
|
+
form.formtastic fieldset > ol > li.numeric input,
|
6
|
+
form.formtastic fieldset > ol > li.email input,
|
7
|
+
form.formtastic fieldset > ol > li.url input,
|
8
|
+
form.formtastic fieldset > ol > li.phone input,
|
9
|
+
form.formtastic fieldset > ol > li.search input {
|
10
|
+
font-size: 1.25em;
|
11
|
+
padding: .25em;
|
46
12
|
}
|
47
13
|
|
48
14
|
|
49
15
|
|
50
|
-
form.formtastic fieldset
|
51
|
-
form.formtastic fieldset > ol > li.password input,
|
52
|
-
form.formtastic fieldset > ol > li.numeric input,
|
53
|
-
form.formtastic fieldset > ol > li.url input{
|
54
|
-
padding: .5em;
|
55
|
-
font-size: 14px;
|
56
|
-
min-width: 60%;
|
57
|
-
-moz-box-shadow: 0px 0px 4px #ccc inset;
|
58
|
-
-webkit-box-shadow: 0px 0px 4px #ccc inset;
|
59
|
-
box-shadow: 0px 0px 4px #ccc inset;
|
60
|
-
}
|
61
|
-
form.formtastic fieldset > ol > li { margin-bottom: .5em; border-bottom: 1px dotted #00; }
|
62
|
-
form.formtastic input, form.formtastic textarea, form.formtastic select { font-size:100%;
|
63
|
-
max-width: 300px;}
|
16
|
+
form.formtastic fieldset.buttons { padding-top:1em; }
|
@@ -14,6 +14,7 @@ tbody th{
|
|
14
14
|
border-right: 2px solid #ccc;
|
15
15
|
font-weight:bold;
|
16
16
|
font-size:1em;
|
17
|
+
width:150px;
|
17
18
|
}
|
18
19
|
|
19
20
|
|
@@ -31,6 +32,7 @@ tbody tr:last td{
|
|
31
32
|
th.actions,
|
32
33
|
td.actions{
|
33
34
|
text-align: right;
|
35
|
+
width:110px;
|
34
36
|
}
|
35
37
|
td.actions{
|
36
38
|
padding: 5px;
|
@@ -1,5 +1,6 @@
|
|
1
|
-
/* @override
|
2
|
-
|
1
|
+
/* @override
|
2
|
+
http://localhost:3000/stylesheets/cable.css
|
3
|
+
*/
|
3
4
|
|
4
5
|
@import url("/stylesheets/cable/base.css");
|
5
6
|
@import url("/stylesheets/cable/menu.css");
|
@@ -8,5 +9,4 @@
|
|
8
9
|
@import url("/stylesheets/cable/pagination.css");
|
9
10
|
@import url("/stylesheets/cable/buttons.css");
|
10
11
|
@import url("/stylesheets/cable/tables.css");
|
11
|
-
@import url("/stylesheets/cable/tags.css");
|
12
|
-
@import url("/stylesheets/cable/formtastic_changes.css");
|
12
|
+
@import url("/stylesheets/cable/tags.css");
|
@@ -0,0 +1 @@
|
|
1
|
+
.mceContentBody strong { color:#BF2E1A; }
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 43
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 8
|
10
|
+
version: 0.9.8
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Spencer Markowski
|
@@ -12,97 +17,137 @@ autorequire:
|
|
12
17
|
bindir: bin
|
13
18
|
cert_chain: []
|
14
19
|
|
15
|
-
date: 2011-
|
20
|
+
date: 2011-04-05 00:00:00 -04:00
|
16
21
|
default_executable:
|
17
22
|
dependencies:
|
18
23
|
- !ruby/object:Gem::Dependency
|
19
|
-
|
24
|
+
type: :runtime
|
20
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
21
26
|
none: false
|
22
27
|
requirements:
|
23
28
|
- - ~>
|
24
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 7
|
31
|
+
segments:
|
32
|
+
- 3
|
33
|
+
- 0
|
34
|
+
- 0
|
25
35
|
version: 3.0.0
|
26
|
-
|
27
|
-
prerelease: false
|
36
|
+
name: rails
|
28
37
|
version_requirements: *id001
|
38
|
+
prerelease: false
|
29
39
|
- !ruby/object:Gem::Dependency
|
30
|
-
|
40
|
+
type: :runtime
|
31
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
32
42
|
none: false
|
33
43
|
requirements:
|
34
44
|
- - ">="
|
35
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 3
|
47
|
+
segments:
|
48
|
+
- 0
|
36
49
|
version: "0"
|
37
|
-
|
38
|
-
prerelease: false
|
50
|
+
name: orm_adapter
|
39
51
|
version_requirements: *id002
|
52
|
+
prerelease: false
|
40
53
|
- !ruby/object:Gem::Dependency
|
41
|
-
|
54
|
+
type: :runtime
|
42
55
|
requirement: &id003 !ruby/object:Gem::Requirement
|
43
56
|
none: false
|
44
57
|
requirements:
|
45
58
|
- - ">="
|
46
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 0
|
47
63
|
version: "0"
|
48
|
-
|
49
|
-
prerelease: false
|
64
|
+
name: awesome_nested_set
|
50
65
|
version_requirements: *id003
|
66
|
+
prerelease: false
|
51
67
|
- !ruby/object:Gem::Dependency
|
52
|
-
|
68
|
+
type: :runtime
|
53
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
54
70
|
none: false
|
55
71
|
requirements:
|
56
72
|
- - ">="
|
57
73
|
- !ruby/object:Gem::Version
|
74
|
+
hash: 3
|
75
|
+
segments:
|
76
|
+
- 0
|
58
77
|
version: "0"
|
59
|
-
|
60
|
-
prerelease: false
|
78
|
+
name: formtastic
|
61
79
|
version_requirements: *id004
|
80
|
+
prerelease: false
|
62
81
|
- !ruby/object:Gem::Dependency
|
63
|
-
|
82
|
+
type: :runtime
|
64
83
|
requirement: &id005 !ruby/object:Gem::Requirement
|
65
84
|
none: false
|
66
85
|
requirements:
|
67
86
|
- - ">="
|
68
87
|
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
90
|
+
- 0
|
69
91
|
version: "0"
|
70
|
-
|
71
|
-
prerelease: false
|
92
|
+
name: simple-navigation
|
72
93
|
version_requirements: *id005
|
94
|
+
prerelease: false
|
73
95
|
- !ruby/object:Gem::Dependency
|
74
|
-
|
96
|
+
type: :runtime
|
75
97
|
requirement: &id006 !ruby/object:Gem::Requirement
|
76
98
|
none: false
|
77
99
|
requirements:
|
78
100
|
- - ">="
|
79
101
|
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
103
|
+
segments:
|
104
|
+
- 0
|
80
105
|
version: "0"
|
81
|
-
|
82
|
-
prerelease: false
|
106
|
+
name: jquery-rails
|
83
107
|
version_requirements: *id006
|
108
|
+
prerelease: false
|
84
109
|
- !ruby/object:Gem::Dependency
|
85
|
-
|
110
|
+
type: :runtime
|
86
111
|
requirement: &id007 !ruby/object:Gem::Requirement
|
87
112
|
none: false
|
88
113
|
requirements:
|
89
114
|
- - ">="
|
90
115
|
- !ruby/object:Gem::Version
|
116
|
+
hash: 3
|
117
|
+
segments:
|
118
|
+
- 0
|
91
119
|
version: "0"
|
92
|
-
|
93
|
-
prerelease: false
|
120
|
+
name: rainbow
|
94
121
|
version_requirements: *id007
|
122
|
+
prerelease: false
|
95
123
|
- !ruby/object:Gem::Dependency
|
96
|
-
|
124
|
+
type: :runtime
|
97
125
|
requirement: &id008 !ruby/object:Gem::Requirement
|
98
126
|
none: false
|
99
127
|
requirements:
|
100
128
|
- - ">="
|
101
129
|
- !ruby/object:Gem::Version
|
130
|
+
hash: 3
|
131
|
+
segments:
|
132
|
+
- 0
|
102
133
|
version: "0"
|
134
|
+
name: kaminari
|
135
|
+
version_requirements: *id008
|
136
|
+
prerelease: false
|
137
|
+
- !ruby/object:Gem::Dependency
|
103
138
|
type: :runtime
|
139
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
hash: 3
|
145
|
+
segments:
|
146
|
+
- 0
|
147
|
+
version: "0"
|
148
|
+
name: cocoon
|
149
|
+
version_requirements: *id009
|
104
150
|
prerelease: false
|
105
|
-
version_requirements: *id008
|
106
151
|
description:
|
107
152
|
email:
|
108
153
|
executables: []
|
@@ -179,8 +224,10 @@ files:
|
|
179
224
|
- lib/generators/cable/resource/resource_generator.rb
|
180
225
|
- lib/generators/cable/resource/templates/controller.rb
|
181
226
|
- lib/generators/cable/resource/templates/erb/scaffold/_form.html.erb
|
227
|
+
- lib/generators/cable/resource/templates/erb/scaffold/_model_row.html.erb
|
182
228
|
- lib/generators/cable/resource/templates/erb/scaffold/edit.html.erb
|
183
229
|
- lib/generators/cable/resource/templates/erb/scaffold/index.html.erb
|
230
|
+
- lib/generators/cable/resource/templates/erb/scaffold/index.js.erb
|
184
231
|
- lib/generators/cable/resource/templates/erb/scaffold/new.html.erb
|
185
232
|
- lib/generators/cable/resource/templates/erb/scaffold/show.html.erb
|
186
233
|
- lib/generators/cable/resource/templates/migration.rb
|
@@ -508,6 +555,7 @@ files:
|
|
508
555
|
- public/stylesheets/jquery/ui/images/ui-icons_222222_256x240.png
|
509
556
|
- public/stylesheets/jquery/ui/images/ui-icons_454545_256x240.png
|
510
557
|
- public/stylesheets/jquery/ui/jquery-ui-1.8.7.custom.css
|
558
|
+
- public/stylesheets/tinymce/custom_rich_editor.css
|
511
559
|
has_rdoc: true
|
512
560
|
homepage:
|
513
561
|
licenses: []
|
@@ -522,12 +570,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
522
570
|
requirements:
|
523
571
|
- - ">="
|
524
572
|
- !ruby/object:Gem::Version
|
573
|
+
hash: 3
|
574
|
+
segments:
|
575
|
+
- 0
|
525
576
|
version: "0"
|
526
577
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
527
578
|
none: false
|
528
579
|
requirements:
|
529
580
|
- - ">="
|
530
581
|
- !ruby/object:Gem::Version
|
582
|
+
hash: 3
|
583
|
+
segments:
|
584
|
+
- 0
|
531
585
|
version: "0"
|
532
586
|
requirements: []
|
533
587
|
|