bowtie 0.2.5 → 0.3

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/README.rdoc CHANGED
@@ -10,6 +10,10 @@ Reads the information on your models and creates a nice panel in which you can v
10
10
 
11
11
  $ sudo gem install bowtie
12
12
 
13
+ = Important
14
+
15
+ From version 0.3, Bowtie is meant to be used from DataMapper 1.0.0 on. For previous versions please install with -v=0.2.5.
16
+
13
17
  = Configuration
14
18
 
15
19
  Mount Bowtie wherever you want by editing your config.ru file, optionally including the admin/pass combination for the panel.
data/bowtie.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |s|
3
3
  s.name = %q{bowtie}
4
- s.version = "0.2.5"
4
+ s.version = "0.3"
5
5
 
6
6
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
7
7
  s.authors = ["Tomás Pollak"]
@@ -21,7 +21,7 @@ class Class
21
21
  end
22
22
 
23
23
  def searchable_fields
24
- self.properties.map{|a| a.name if a.type == String}.compact
24
+ self.properties.map{|a| a.name if a.class == DataMapper::Property::String}.compact
25
25
  end
26
26
 
27
27
  def subtypes
@@ -1,5 +1,5 @@
1
1
  /*
2
- CSS for Bowtie
2
+ CSS for Bowtie Datamapper Admin
3
3
  By Tomas Pollak - Fork Limited
4
4
  http://usefork.com
5
5
  ----------------------------------------- */
@@ -54,11 +54,38 @@ h2 { margin:10px 0; font-size:130%;}
54
54
  /* header, navigation
55
55
  -------------------------------------------------------------*/
56
56
 
57
- #header { background:#000; padding: 8px 5% 0 5%; border-bottom:1px solid #444;border-bottom:5px solid #528e00;}
58
- #header h1 { color:#333; font-size: 3em; font-weight:bold; margin: 10px 0;}
59
- #header h1 a{ color: #fff; text-decoration: none}
60
- #header ul li { display:inline;}
61
- #header ul li a { color:#fff; text-decoration:none; margin-right:10px; display:inline-block; padding:8px; -webkit-border-top-right-radius:6px; -webkit-border-top-left-radius:6px; }
57
+ #header {
58
+ background:#000;
59
+ padding: 8px 5% 0 5%;
60
+ border-bottom:1px solid #444;
61
+ border-bottom:5px solid #528e00;
62
+ }
63
+ #header h1 {
64
+ color:#333;
65
+ font-size: 3em;
66
+ font-weight:bold;
67
+ margin: 10px 0;
68
+ }
69
+ #header h1 a{
70
+ color: #fff;
71
+ text-decoration: none
72
+ }
73
+ #header ul li {
74
+ display:inline;
75
+ }
76
+
77
+ #header ul li a {
78
+ color:#fff;
79
+ text-decoration:none;
80
+ margin-right:10px;
81
+ display:inline-block;
82
+ padding:8px;
83
+ -webkit-border-top-right-radius:6px;
84
+ -webkit-border-top-left-radius:6px;
85
+ -moz-border-top-right-radius: 6px;
86
+ -moz-border-top-left-radius: 6px;
87
+ }
88
+
62
89
  #header ul li a:hover { background:#333;}
63
90
  #header ul li.current a { background: #528e00; font-weight:bold; color:#fff;}
64
91
 
@@ -141,8 +168,13 @@ table td{
141
168
 
142
169
  }
143
170
 
144
- table tr td.no-data { text-align:center; padding:40px 0; color:#999; font-style:italic; font-size:130%;}
145
-
171
+ table tr td.no-data {
172
+ text-align:center;
173
+ padding:40px 0;
174
+ color:#999;
175
+ font-style:italic;
176
+ font-size:130%;
177
+ }
146
178
 
147
179
  table .center{
148
180
  text-align: center;
@@ -155,15 +187,20 @@ table .check-column{
155
187
  text-align: center;
156
188
  }
157
189
 
158
- table .good{
159
- color: green;
190
+ table tr.good{
191
+ /* background: green;*/
160
192
  }
161
193
 
162
- table .bad, table .error{
163
- color: #a00;
194
+ table tr.bad td, table .error{
195
+ /* background-color: #fbf5dc;*/
196
+ background-color: #FFEFEF;
164
197
  }
165
198
 
166
- table td.rel, th.rel {
199
+ table th.rel{
200
+ background: #999;
201
+ color: #fff
202
+ }
203
+ table td.rel {
167
204
  background: #fafafa;
168
205
  }
169
206
 
@@ -182,13 +219,21 @@ input:focus{
182
219
  }
183
220
 
184
221
  form.destroy button{
185
- font-size: 1em;
186
222
  color: #666;
187
223
  padding: 2px 5px;
224
+ }
225
+
226
+ .big.destroy button{
227
+ font-size: 1em;
188
228
  margin-bottom: 20px;
189
229
  color: #a00;
190
230
  }
191
231
 
232
+ .destroy button:hover{
233
+ cursor: pointer;
234
+ color: #000;
235
+ }
236
+
192
237
  form.resource small{
193
238
  color: #ccc;
194
239
  }
@@ -240,10 +285,6 @@ form .submit input{
240
285
  .pager .disabled{
241
286
  display: none;
242
287
  }
243
- .pager .current{
244
- color: #666;
245
- margin: 0 3px;
246
- }
247
288
  .pager a{
248
289
  border: 1px solid;
249
290
  padding: 3px 5px;
@@ -256,6 +297,11 @@ form .submit input{
256
297
  .pager a:hover{
257
298
  color: #000;
258
299
  }
300
+ .pager .active a{
301
+ color: #fff;
302
+ background: #528e00;
303
+ border-color: #528e00;
304
+ }
259
305
 
260
306
 
261
307
  /* footer
@@ -4,7 +4,7 @@
4
4
  name = @p.name.to_s
5
5
  value = @resource.send(@p.name).to_s
6
6
 
7
- case @p.type.to_s
7
+ case @p.class.to_s.gsub("DataMapper::Property::",'')
8
8
  when "Array", /Class/ # weird how datamapper names enum classes
9
9
  html += '<select class="array" name="resource['+name+']">'
10
10
  @resource.model.options_for_subtype(name.to_sym).each do |option|
@@ -8,7 +8,7 @@
8
8
  <% unless [:created_at, :id].include?(p.name) %>
9
9
  <% @p = p %>
10
10
  <tr>
11
- <td class="left-col"><%= p.name.to_s.titleize %> <small>(<%= p.type.to_s %>)</small></td>
11
+ <td class="left-col"><%= p.name.to_s.titleize %> <small>(<%= p.class.name.to_s.gsub("DataMapper::Property::",'') %>)</small></td>
12
12
  <td class="right-col"><%= partial(:field) %></td>
13
13
  </tr>
14
14
  <% end %>
@@ -7,11 +7,11 @@
7
7
 
8
8
  <% if @resources.any? %>
9
9
 
10
- <%= @resources.pager.to_html(@env['REQUEST_URI'].gsub(/\?.*/,'')) if @resources.respond_to?(:pager) %>
10
+ <%= @resources.pager.to_html(@env['REQUEST_URI']) if @resources.respond_to?(:pager) %>
11
11
 
12
12
  <%= partial(:table) %>
13
13
 
14
- <%= @resources.pager.to_html(@env['REQUEST_URI'].gsub(/\?.*/,'')) if @resources.respond_to?(:pager) %>
14
+ <%= @resources.pager.to_html(@env['REQUEST_URI']) if @resources.respond_to?(:pager) %>
15
15
 
16
16
  <% else %>
17
17
 
@@ -1,4 +1,4 @@
1
- <tr id="resource-<%= @r.key.first.to_s %>" class="<%= @r.ok? ? 'good' : 'bad' if @r.respond_to? 'ok?' %>">
1
+ <tr id="resource-<%= @r.key.first.to_s %>" class="<%= @r.ok? ? 'good' : 'bad' if @r.respond_to?('ok?') %>">
2
2
  <td class="<%= @model.key.first.name.to_s %>-col"><a href="<%= url_for(@r) %>"><%= @r.key.first.to_s %></a></td>
3
3
  <% @r.attributes.each do |a| %>
4
4
  <% next if a[0] == @model.key.first.name %>
@@ -15,9 +15,9 @@
15
15
  <% end %>
16
16
  <% end %>
17
17
  <% end %>
18
- <td><a href="<%= url_for(@r) %>">Show/Edit</a></td>
18
+ <td><a href="<%= url_for(@r) %>">View</a></td>
19
19
  <td>
20
- <form method="post" action="<%= model_path(@r.model) %>/<%= @r.id %>" onsubmit="return confirm('Are you sure?');">
20
+ <form class="destroy" method="post" action="<%= model_path(@r.model) %>/<%= @r.id %>" onsubmit="return confirm('Are you sure?');">
21
21
  <input type="hidden" name="_method" value="delete" />
22
22
  <button type="submit">Destroy</button>
23
23
  </form>
@@ -1,7 +1,7 @@
1
1
  <% model = params[:model] %>
2
2
  <form id="search" action="<%= base_path %>/search" method="get">
3
3
  <% params.each do |k, v| %>
4
- <% next if ['splat', 'q'].include?(k) or v.blank? %>
4
+ <% next if ['splat', 'q', 'page'].include?(k) or v.blank? %>
5
5
  <input type="hidden" name="<%= k %>" value="<%= v %>" />
6
6
  <% end %>
7
7
  <input type="text" name="q" value="Find <%= model %>:" onfocus="if(this.value=='Find <%= model %>:')this.value='';" onblur="if(this.value=='')this.value='Find <%= model %>:';"/>
@@ -1,6 +1,6 @@
1
1
  <h1><%= @title || @model.name + ':' + @resource.id.to_s %></h1>
2
2
 
3
- <form class="destroy" method="post" action="<%= model_path(@resource.model) %>/<%= @resource.id %>" onsubmit="return confirm('Are you sure?');">
3
+ <form class="big destroy" method="post" action="<%= model_path(@resource.model) %>/<%= @resource.id %>" onsubmit="return confirm('Are you sure?');">
4
4
  <input type="hidden" name="_method" value="delete" />
5
5
  <button type="submit">Destroy</button>
6
6
  </form>
metadata CHANGED
@@ -4,9 +4,8 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 2
8
- - 5
9
- version: 0.2.5
7
+ - 3
8
+ version: "0.3"
10
9
  platform: ruby
11
10
  authors:
12
11
  - "Tom\xC3\xA1s Pollak"