cable 0.9.6 → 0.9.8
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/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
|
|