toolbox 0.1.0
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/Rakefile +57 -0
- data/lib/dirs.rb +9 -0
- data/lib/toolbox/config.rb +211 -0
- data/lib/toolbox/default_controller.rb +393 -0
- data/lib/toolbox/helpers.rb +11 -0
- data/lib/toolbox/rendering.rb +413 -0
- data/lib/toolbox/searching.rb +85 -0
- data/lib/toolbox/session_params.rb +63 -0
- data/lib/toolbox/sorting.rb +74 -0
- data/lib/toolbox/version.rb +4 -0
- data/lib/toolbox.rb +29 -0
- data/locale/de/LC_MESSAGES/toolbox.mo +0 -0
- data/public/images/add.png +0 -0
- data/public/images/arrow_down.gif +0 -0
- data/public/images/arrow_up.gif +0 -0
- data/public/images/close.png +0 -0
- data/public/images/edit.gif +0 -0
- data/public/images/email.png +0 -0
- data/public/images/page.png +0 -0
- data/public/images/page_acrobat.png +0 -0
- data/public/images/page_add.png +0 -0
- data/public/images/page_copy.png +0 -0
- data/public/images/page_delete.png +0 -0
- data/public/images/page_edit.png +0 -0
- data/public/images/page_excel.png +0 -0
- data/public/images/page_list.png +0 -0
- data/public/images/page_save.png +0 -0
- data/public/images/page_word.png +0 -0
- data/public/images/remove.png +0 -0
- data/public/images/show.gif +0 -0
- data/public/images/spinner.gif +0 -0
- data/public/javascripts/popup.js +498 -0
- data/public/javascripts/toolbox.js +18 -0
- data/public/stylesheets/context_menu.css +168 -0
- data/public/stylesheets/popup.css +30 -0
- data/public/stylesheets/toolbox.css +107 -0
- data/view/toolbox/_collection.html.erb +24 -0
- data/view/toolbox/_collection_header.html.erb +7 -0
- data/view/toolbox/_context_menu.html.erb +17 -0
- data/view/toolbox/_dialogs.html.erb +6 -0
- data/view/toolbox/_form.html.erb +30 -0
- data/view/toolbox/_form_collection_row.html.erb +18 -0
- data/view/toolbox/_form_fieldset.html.erb +30 -0
- data/view/toolbox/_form_fieldset_row.html.erb +19 -0
- data/view/toolbox/_list.html.erb +25 -0
- data/view/toolbox/_list_row.html.erb +10 -0
- data/view/toolbox/_menu.html.erb +7 -0
- data/view/toolbox/_search_field.html.erb +8 -0
- data/view/toolbox/_show.html.erb +12 -0
- data/view/toolbox/_show_collection_row.html.erb +6 -0
- data/view/toolbox/_show_fieldset.html.erb +21 -0
- data/view/toolbox/edit.html.erb +5 -0
- data/view/toolbox/index.html.erb +3 -0
- data/view/toolbox/new.html.erb +9 -0
- data/view/toolbox/show.html.erb +39 -0
- metadata +178 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
/*
|
2
|
+
popup.js
|
3
|
+
*/
|
4
|
+
div.popup {
|
5
|
+
max-width: 600px;
|
6
|
+
border: 1px solid red;
|
7
|
+
padding: 5px;
|
8
|
+
background-color: white;
|
9
|
+
/* The following properties should not be changed */
|
10
|
+
position: absolute;
|
11
|
+
}
|
12
|
+
|
13
|
+
#popup_overlay {
|
14
|
+
background-color: black;
|
15
|
+
/* The following properties should not be changed */
|
16
|
+
position: absolute;
|
17
|
+
top: 0;
|
18
|
+
left: 0;
|
19
|
+
width: 100%;
|
20
|
+
height: 500px;
|
21
|
+
}
|
22
|
+
|
23
|
+
span.popup_link, a.popup_link {
|
24
|
+
cursor: pointer;
|
25
|
+
border-bottom: 1px dotted;
|
26
|
+
}
|
27
|
+
|
28
|
+
.popup_draghandle {
|
29
|
+
cursor: move;
|
30
|
+
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
|
2
|
+
td.record, td.record-title {
|
3
|
+
padding: 3px 4px;
|
4
|
+
background-color: #fff;
|
5
|
+
/*border-bottom: solid 1px #cc341f;
|
6
|
+
border-left: solid 1px #cc341f;*/
|
7
|
+
}
|
8
|
+
|
9
|
+
tr:hover td.hover {
|
10
|
+
background-color: lightblue; /*#cc341f;*/
|
11
|
+
color: black;
|
12
|
+
cursor: pointer;
|
13
|
+
/*border-left: solid 1px white;*/
|
14
|
+
}
|
15
|
+
|
16
|
+
td.even-record {
|
17
|
+
background-color: #ccc;
|
18
|
+
}
|
19
|
+
|
20
|
+
td.record-title {
|
21
|
+
background-color: #fff;
|
22
|
+
border-bottom: solid 2px #cc341f;
|
23
|
+
}
|
24
|
+
|
25
|
+
a.sort-asc:after {
|
26
|
+
content: url(/images/toolbox/arrow_up.gif);
|
27
|
+
}
|
28
|
+
|
29
|
+
a.sort-desc:after {
|
30
|
+
content: url(/images/toolbox/arrow_down.gif);
|
31
|
+
}
|
32
|
+
|
33
|
+
a.sort-none:after {
|
34
|
+
content: url(/images/clear.gif);
|
35
|
+
width: 16px;
|
36
|
+
height: 7px;
|
37
|
+
}
|
38
|
+
|
39
|
+
fieldset {
|
40
|
+
float: left;
|
41
|
+
}
|
42
|
+
|
43
|
+
.error {
|
44
|
+
background-color: red;
|
45
|
+
}
|
46
|
+
|
47
|
+
div.show_value {
|
48
|
+
float: left;
|
49
|
+
}
|
50
|
+
|
51
|
+
div.show_value ul {
|
52
|
+
margin:0;
|
53
|
+
padding:0;
|
54
|
+
width:100%;
|
55
|
+
list-style-type:none;
|
56
|
+
}
|
57
|
+
|
58
|
+
div.show_value ul li {
|
59
|
+
margin: 0;
|
60
|
+
}
|
61
|
+
|
62
|
+
div.toolbar
|
63
|
+
{
|
64
|
+
clear: left;
|
65
|
+
padding-top: 5px;
|
66
|
+
}
|
67
|
+
|
68
|
+
div.searchfield {
|
69
|
+
float: right;
|
70
|
+
}
|
71
|
+
|
72
|
+
form {
|
73
|
+
display: inline;
|
74
|
+
}
|
75
|
+
|
76
|
+
form.inplaceeditor-form input {
|
77
|
+
margin-right: 10px;
|
78
|
+
}
|
79
|
+
|
80
|
+
div.auto_complete {
|
81
|
+
width: 350px;
|
82
|
+
background: #fff;
|
83
|
+
}
|
84
|
+
|
85
|
+
div.auto_complete ul {
|
86
|
+
border:1px solid #888;
|
87
|
+
margin:0;
|
88
|
+
padding:0;
|
89
|
+
width:100%;
|
90
|
+
list-style-type:none;
|
91
|
+
}
|
92
|
+
|
93
|
+
div.auto_complete ul li {
|
94
|
+
margin:0;
|
95
|
+
padding:3px;
|
96
|
+
}
|
97
|
+
|
98
|
+
div.auto_complete ul li.selected {
|
99
|
+
background-color: #ffb;
|
100
|
+
}
|
101
|
+
|
102
|
+
div.auto_complete ul strong.highlight {
|
103
|
+
color: #800;
|
104
|
+
margin:0;
|
105
|
+
padding:0;
|
106
|
+
}
|
107
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%
|
2
|
+
no_form = local_assigns[:form].nil?
|
3
|
+
rec = collection # just for more readable code
|
4
|
+
collection = rec.send(widgetset.collection_config.model_method) if widgetset.collection_config.model_method.is_a?(Symbol)
|
5
|
+
collection = widgetset.collection_config.model_method.call(rec) if widgetset.collection_config.model_method.is_a?(Proc)
|
6
|
+
locals = {:parent => rec, :widgetset => widgetset, :renderers => renderers}
|
7
|
+
id = widgetset.collection_config.object_id.to_s + '_' + dom_id(rec)
|
8
|
+
unless no_form and collection.empty? and widgetset.collection_config.hide_empty
|
9
|
+
field_set_tag widgetset.label do %>
|
10
|
+
<table id="<%= id %>">
|
11
|
+
<%= render :partial => 'toolbox/collection_header', :locals => locals %>
|
12
|
+
<%= render :partial => no_form ? 'toolbox/show_collection_row' : 'toolbox/form_collection_row', :collection => collection, :locals => locals %>
|
13
|
+
</table>
|
14
|
+
<% unless no_form %>
|
15
|
+
<%=
|
16
|
+
|
17
|
+
link_to_function image_tag('toolbox/add.png', :border => 0) do |page|
|
18
|
+
page.insert_html :bottom, id, :partial => 'toolbox/form_collection_row', :object => widgetset.collection_config.type.new, :locals => locals.merge({:auto_id => true})
|
19
|
+
end
|
20
|
+
%>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
<% end %>
|
24
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%
|
2
|
+
rec = context_menu
|
3
|
+
renderer = widget_list.widgets.map { |a| Toolbox::ActionRenderer.new self, a }
|
4
|
+
%>
|
5
|
+
<ul>
|
6
|
+
<li style="color: darkgray; text-align:center;"><%= s_(rec.class.name.underscore.humanize.downcase) %></li>
|
7
|
+
<li class="separator"></li>
|
8
|
+
<% renderer.each do |r|
|
9
|
+
a = r.render_action rec, context
|
10
|
+
if a.is_a? String
|
11
|
+
%>
|
12
|
+
<li><%= a %></li>
|
13
|
+
<% else %>
|
14
|
+
<li class="<%= a.to_s %>"></li>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<div id="dialog_id" class="popup" style="display:none"></div>
|
2
|
+
<%= javascript_tag "new Popup('dialog_id', null, {modal:true, disable_auto_hide: true, duration: 0.2});" %>
|
3
|
+
|
4
|
+
<div id="context_menu_id" class="menu desktop" style="display:none">
|
5
|
+
</div>
|
6
|
+
<%= javascript_tag "new Popup('context_menu_id', null, {menu:true, position:'auto', duration: 0.2});" %>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<% # Aufruf: render :partial => "toolbox/form", :object => @article, :locals => { :fsets => ..., :options => ... } %>
|
2
|
+
<%
|
3
|
+
rec = form # just for more readable code
|
4
|
+
dialog = false unless dialog
|
5
|
+
form_method = dialog ? :remote_form_for : :form_for
|
6
|
+
|
7
|
+
%>
|
8
|
+
<% send(form_method, rec, {:html => { :multipart => true}}) do |frm| %>
|
9
|
+
<%= frm.error_messages %>
|
10
|
+
<% widgetsets.each do |widgetset|
|
11
|
+
renderers = widgetset.widget_list.widgets.map { |w| Toolbox::ControlRenderer.new(self, w, dialog) }
|
12
|
+
if widgetset.condition == nil || widgetset.condition.call(rec)
|
13
|
+
partial = widgetset.partial || (widgetset.collection_config ? 'toolbox/collection': 'toolbox/form_fieldset')
|
14
|
+
%>
|
15
|
+
<%= render :partial => partial,
|
16
|
+
:object => rec,
|
17
|
+
:locals => {:form => frm, :widgetset => widgetset, :renderers => renderers} %>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
20
|
+
<div class="toolbar">
|
21
|
+
<%= frm.submit(rec.new_record?() ? Toolbox::Messages.create : Toolbox::Messages.save, :name => :save) %>
|
22
|
+
<% if dialog %>
|
23
|
+
<%= button_to_function Toolbox::Messages.cancel, "$('dialog_id').popup.hide()" %>
|
24
|
+
<% else %>
|
25
|
+
<%= frm.submit Toolbox::Messages.cancel, :name => :cancel %>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%
|
2
|
+
rec = form_collection_row # just for more readable code
|
3
|
+
parent_object_name = ActionController::RecordIdentifier.singular_class_name(parent)
|
4
|
+
collection_attribute_name = Toolbox::Helpers.collection_attribute_name(widgetset.collection_config, rec)
|
5
|
+
prefix = "#{parent_object_name}[#{collection_attribute_name}][]"
|
6
|
+
has_error = parent.errors.on(widgetset.collection_config.model_method)
|
7
|
+
%>
|
8
|
+
<% fields_for prefix, rec do |frm| %>
|
9
|
+
<tr>
|
10
|
+
<% renderers.each do |control_renderer| %>
|
11
|
+
<td><%= control_renderer.render_control(frm, rec, has_error) %></td>
|
12
|
+
<% end %>
|
13
|
+
<td>
|
14
|
+
<%= link_to_function image_tag('toolbox/remove.png', :border => 0), "$(this).up('tr').remove()" %>
|
15
|
+
</td>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<% # renders a fieldset with a normal label: value structure %>
|
2
|
+
<%
|
3
|
+
locals = {:renderers => renderers }
|
4
|
+
if widgetset.aggregation_config
|
5
|
+
parent = form_fieldset
|
6
|
+
rec = parent.send(widgetset.aggregation_config.model_method) if widgetset.aggregation_config.model_method.is_a?(Symbol)
|
7
|
+
rec = widgetset.aggregation_config.model_method.call(rec) if widgetset.aggregation_config.model_method.is_a?(Proc)
|
8
|
+
rec = widgetset.aggregation_config.type.new unless rec
|
9
|
+
parent_object_name = ActionController::RecordIdentifier.singular_class_name(parent)
|
10
|
+
prefix = "#{parent_object_name}[#{widgetset.aggregation_config.model_method.to_s}_attributes]"
|
11
|
+
has_error = parent.errors.on(widgetset.aggregation_config.model_method)
|
12
|
+
locals[:has_error] = has_error
|
13
|
+
else
|
14
|
+
rec = form_fieldset # just for more readable code
|
15
|
+
end
|
16
|
+
|
17
|
+
field_set_tag widgetset.label do
|
18
|
+
%>
|
19
|
+
<table border="0">
|
20
|
+
<% if widgetset.aggregation_config %>
|
21
|
+
<% fields_for prefix, rec do |frm| %>
|
22
|
+
<%= render :partial => 'toolbox/form_fieldset_row', :object => rec, :locals => locals.merge(:frm => frm) %>
|
23
|
+
<% end %>
|
24
|
+
<% else %>
|
25
|
+
<%= render :partial => 'toolbox/form_fieldset_row', :object => rec, :locals => locals.merge(:frm => form) %>
|
26
|
+
<% end %>
|
27
|
+
</table>
|
28
|
+
<%= footer if defined? footer %>
|
29
|
+
<% end %>
|
30
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%
|
2
|
+
rec =form_fieldset_row
|
3
|
+
renderers.each do |renderer|
|
4
|
+
has_error = rec.errors.on(renderer.widget_config.name) unless defined? has_error
|
5
|
+
if renderer.widget_config.type == :hidden
|
6
|
+
%>
|
7
|
+
<%= renderer.render_control(frm, rec, has_error) %>
|
8
|
+
<% else %>
|
9
|
+
<tr>
|
10
|
+
<td>
|
11
|
+
<% unless renderer.widget_config.suppress_label%>
|
12
|
+
<%= renderer.widget_config.label if renderer.widget_config.label %>
|
13
|
+
<%= frm.label renderer.widget_config.name unless renderer.widget_config.label %>
|
14
|
+
<% end %>
|
15
|
+
</td>
|
16
|
+
<td ><%= renderer.render_control(frm, rec, has_error) %></td>
|
17
|
+
</tr>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%
|
2
|
+
# render(:partial => "toolbox/list", :object => @recs,
|
3
|
+
# :locals => { :field_list => ..., # column configuration
|
4
|
+
# :prefix => ... # optional
|
5
|
+
# })
|
6
|
+
|
7
|
+
%>
|
8
|
+
<%
|
9
|
+
recs = list # just for more readable code
|
10
|
+
prefix = nil unless prefix
|
11
|
+
field_renderers = widget_list.widgets.map { |f| Toolbox::FieldRenderer.new self, f }
|
12
|
+
%>
|
13
|
+
<p><%= will_paginate recs, :param_name => (prefix ? "#{prefix}-page".to_sym : :page) %></p>
|
14
|
+
<table>
|
15
|
+
<tr>
|
16
|
+
<% field_renderers.each do |field_renderer| %>
|
17
|
+
<th class="record-title"><%= field_renderer.sort_link(params, prefix) %></th>
|
18
|
+
<% end %>
|
19
|
+
<th></th>
|
20
|
+
</tr>
|
21
|
+
<%= render :partial => 'toolbox/list_row', :collection => recs, :locals => {:field_renderers => field_renderers} %>
|
22
|
+
</table>
|
23
|
+
<%= Toolbox::Messages.nothing_found if recs.length == 0 %>
|
24
|
+
<p><%= will_paginate recs, :param_name => (prefix ? "#{prefix}-page".to_sym : :page) %></p>
|
25
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% classAttr = cycle("", "even-record") -%>
|
2
|
+
<% rec = list_row %>
|
3
|
+
<tr id="<%= dom_id(rec) %>">
|
4
|
+
<% field_renderers.each do |field_renderer| %>
|
5
|
+
<td class="record <%= classAttr %>" onclick="window.location.href='<%= polymorphic_url(rec) %>';">
|
6
|
+
<%= field_renderer.render_value(rec) %>
|
7
|
+
</td>
|
8
|
+
<% end %>
|
9
|
+
<td><%= context_menu_link rec %></td>
|
10
|
+
</tr>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%
|
2
|
+
rec = get_record
|
3
|
+
actions = controller.menu_config rec, nil
|
4
|
+
renderer = actions.widgets.map { |a| Toolbox::ActionRenderer.new self, a }
|
5
|
+
links = renderer.map {|r| r.render_action rec, nil, params[:action] }.select {|l| l }
|
6
|
+
%>
|
7
|
+
<div class="submenu"><%= links.join ' | ' %></div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% obj_class = controller.controller_name.singularize %>
|
2
|
+
<div class="searchfield">
|
3
|
+
<% form_tag({:action => 'index'},{:method => 'get'}) do %>
|
4
|
+
Suche hier: <input type="text" size="30" name="query" value="<%= h params[:query]%>">
|
5
|
+
<%= submit_tag _('Search'), :title => search_field_hint(controller.search_fields) %>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
8
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% rec = show %>
|
2
|
+
<% widgetsets.each do |widgetset|
|
3
|
+
renderers = widgetset.widget_list.widgets.map { |w| Toolbox::FieldRenderer.new(self, w) }
|
4
|
+
if widgetset.condition == nil || widgetset.condition.call(rec)
|
5
|
+
partial = widgetset.partial || (widgetset.collection_config ? 'toolbox/collection': 'toolbox/show_fieldset')
|
6
|
+
%>
|
7
|
+
<%= render :partial => partial,
|
8
|
+
:object => rec,
|
9
|
+
:locals => { :widgetset => widgetset, :renderers => renderers} %>
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|
12
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<%
|
2
|
+
rec = show_fieldset
|
3
|
+
field_set_tag widgetset.label do %>
|
4
|
+
<table border="0">
|
5
|
+
<%
|
6
|
+
renderers.each do |renderer|
|
7
|
+
value = renderer.render_value(rec)
|
8
|
+
label = renderer.label
|
9
|
+
# value is nil if the hide empty option is set. ' ' would be returned else
|
10
|
+
if value
|
11
|
+
%>
|
12
|
+
<tr>
|
13
|
+
<td><%= content_tag(:label, label + ':', :class => 'show_label') if label %></td>
|
14
|
+
<td><%= content_tag(:div, value, :class => 'show_value') %></td>
|
15
|
+
</tr>
|
16
|
+
<%
|
17
|
+
end
|
18
|
+
end
|
19
|
+
%>
|
20
|
+
</table>
|
21
|
+
<% end %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<%
|
2
|
+
model_name = controller.model_name
|
3
|
+
rec = get_record
|
4
|
+
%>
|
5
|
+
<h1><%= _('Create new %{object}') % { :object => s_(model_name.humanize.downcase)} %></h1>
|
6
|
+
|
7
|
+
<%= render :partial => "toolbox/form",
|
8
|
+
:object => rec,
|
9
|
+
:locals => {:widgetsets => controller.edit_config(rec).controlsets } %>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<%
|
2
|
+
rec = get_record
|
3
|
+
%>
|
4
|
+
<%=
|
5
|
+
begin
|
6
|
+
render :partial =>"#{controller.controller_name}/show_header", :object => rec
|
7
|
+
rescue ActionView::MissingTemplate
|
8
|
+
end
|
9
|
+
%>
|
10
|
+
<%= render :partial => 'toolbox/show', :object => rec, :locals => { :widgetsets => @show_config.fieldsets} %>
|
11
|
+
|
12
|
+
<% if @embedded_list
|
13
|
+
sub_menu = []
|
14
|
+
@show_config.embedded_lists.each do |embedded_list|
|
15
|
+
sub_menu << link_to_if(embedded_list.prefix != @embedded_list.prefix,
|
16
|
+
"#{embedded_list.label} (#{rec.send(embedded_list.collection_config.model_method).count})",
|
17
|
+
params.merge(:list => embedded_list.prefix))
|
18
|
+
end
|
19
|
+
|
20
|
+
pag_options = {}
|
21
|
+
pag_options[:page] = params["#{@embedded_list.prefix}-page".to_sym]
|
22
|
+
pag_options[:order] = Toolbox::Sorting.order_by params, @embedded_list.widget_list.widgets, @embedded_list.prefix
|
23
|
+
pag_options[:include] = @embedded_list.include_assoc if @embedded_list.include_assoc
|
24
|
+
data = rec.send(@embedded_list.collection_config.model_method).paginate(pag_options)
|
25
|
+
%>
|
26
|
+
<div style="clear: left; padding-top: 10px"><%= sub_menu.join ' | ' %>
|
27
|
+
<%= render :partial => "toolbox/list", :object => data, :locals => {:widget_list => @embedded_list.widget_list, :prefix => @embedded_list.prefix} %>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<%=
|
32
|
+
begin
|
33
|
+
render :partial =>"#{controller.controller_name}/show_footer", :object => rec
|
34
|
+
rescue ActionView::MissingTemplate
|
35
|
+
end
|
36
|
+
%>
|
37
|
+
|
38
|
+
<div style="clear: left"><%= "#{s_("#{rec.class.name}|Created at")} #{rec.created_at.to_s(:local_datetime)} (#{rec.creator}), #{s_("#{rec.class.name}|Updated at")} #{rec.updated_at.to_s(:local_datetime)} (#{rec.updater})" %></div>
|
39
|
+
|
metadata
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: toolbox
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Nyffenegger
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-01-29 00:00:00 +01:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: activesupport
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.1.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: actionpack
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.1.1
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: actionpack
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.1.1
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: gettext
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.1.0
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mislav-will_paginate
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 2.3.3
|
64
|
+
version:
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: calendar_date_select
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.15.0
|
74
|
+
version:
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: fastercsv
|
77
|
+
type: :runtime
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 1.4.0
|
84
|
+
version:
|
85
|
+
description: This toolbox goes in the direction of the django admin interface.
|
86
|
+
email: vidl@sunrise.ch
|
87
|
+
executables: []
|
88
|
+
|
89
|
+
extensions: []
|
90
|
+
|
91
|
+
extra_rdoc_files: []
|
92
|
+
|
93
|
+
files:
|
94
|
+
- Rakefile
|
95
|
+
- lib/dirs.rb
|
96
|
+
- lib/toolbox/config.rb
|
97
|
+
- lib/toolbox/default_controller.rb
|
98
|
+
- lib/toolbox/helpers.rb
|
99
|
+
- lib/toolbox/rendering.rb
|
100
|
+
- lib/toolbox/searching.rb
|
101
|
+
- lib/toolbox/session_params.rb
|
102
|
+
- lib/toolbox/sorting.rb
|
103
|
+
- lib/toolbox/version.rb
|
104
|
+
- lib/toolbox.rb
|
105
|
+
- locale/de/LC_MESSAGES/toolbox.mo
|
106
|
+
- view/toolbox/_collection.html.erb
|
107
|
+
- view/toolbox/_collection_header.html.erb
|
108
|
+
- view/toolbox/_context_menu.html.erb
|
109
|
+
- view/toolbox/_dialogs.html.erb
|
110
|
+
- view/toolbox/_form.html.erb
|
111
|
+
- view/toolbox/_form_collection_row.html.erb
|
112
|
+
- view/toolbox/_form_fieldset.html.erb
|
113
|
+
- view/toolbox/_form_fieldset_row.html.erb
|
114
|
+
- view/toolbox/_list.html.erb
|
115
|
+
- view/toolbox/_list_row.html.erb
|
116
|
+
- view/toolbox/_menu.html.erb
|
117
|
+
- view/toolbox/_search_field.html.erb
|
118
|
+
- view/toolbox/_show.html.erb
|
119
|
+
- view/toolbox/_show_collection_row.html.erb
|
120
|
+
- view/toolbox/_show_fieldset.html.erb
|
121
|
+
- view/toolbox/edit.html.erb
|
122
|
+
- view/toolbox/index.html.erb
|
123
|
+
- view/toolbox/new.html.erb
|
124
|
+
- view/toolbox/show.html.erb
|
125
|
+
- public/images/add.png
|
126
|
+
- public/images/arrow_down.gif
|
127
|
+
- public/images/arrow_up.gif
|
128
|
+
- public/images/close.png
|
129
|
+
- public/images/edit.gif
|
130
|
+
- public/images/email.png
|
131
|
+
- public/images/page.png
|
132
|
+
- public/images/page_acrobat.png
|
133
|
+
- public/images/page_add.png
|
134
|
+
- public/images/page_copy.png
|
135
|
+
- public/images/page_delete.png
|
136
|
+
- public/images/page_edit.png
|
137
|
+
- public/images/page_excel.png
|
138
|
+
- public/images/page_list.png
|
139
|
+
- public/images/page_save.png
|
140
|
+
- public/images/page_word.png
|
141
|
+
- public/images/remove.png
|
142
|
+
- public/images/show.gif
|
143
|
+
- public/images/spinner.gif
|
144
|
+
- public/javascripts/popup.js
|
145
|
+
- public/javascripts/toolbox.js
|
146
|
+
- public/stylesheets/context_menu.css
|
147
|
+
- public/stylesheets/popup.css
|
148
|
+
- public/stylesheets/toolbox.css
|
149
|
+
has_rdoc: true
|
150
|
+
homepage: http://github.com/vidl/toolbox
|
151
|
+
licenses: []
|
152
|
+
|
153
|
+
post_install_message:
|
154
|
+
rdoc_options: []
|
155
|
+
|
156
|
+
require_paths:
|
157
|
+
- lib
|
158
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: "0"
|
163
|
+
version:
|
164
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: "0"
|
169
|
+
version:
|
170
|
+
requirements: []
|
171
|
+
|
172
|
+
rubyforge_project: toolbox
|
173
|
+
rubygems_version: 1.3.5
|
174
|
+
signing_key:
|
175
|
+
specification_version: 3
|
176
|
+
summary: Davids toolbox to speedup development with rails (mainly view).
|
177
|
+
test_files: []
|
178
|
+
|