ajax_scaffold_generator 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,3 +1,7 @@
1
+ *******************************************************************************************
2
+ ** For all documentation see the project website: http://ajaxscaffold.height1percent.com **
3
+ *******************************************************************************************
4
+
1
5
  Description:
2
6
  The ajax scaffold generator creates a controller to interact with a model.
3
7
  If the model does not exist, it creates the model as well. Unlike the
@@ -11,6 +11,13 @@ class <%= controller_class_name %>Controller < ApplicationController
11
11
  end
12
12
  <% end -%>
13
13
 
14
+ def return_to_main
15
+ # If you have multiple scaffolds on the same view then you will want to change this to
16
+ # to whatever controller/action shows all the views
17
+ # (ex: redirect_to :controller => 'AdminConsole', :action => 'index')
18
+ redirect_to :action => 'index'
19
+ end
20
+
14
21
  def list<%= suffix %>
15
22
  @<%= plural_name %> = <%= model_name %>.find :all
16
23
  render :layout => false
@@ -18,44 +25,54 @@ class <%= controller_class_name %>Controller < ApplicationController
18
25
 
19
26
  def new<%= suffix %>
20
27
  @<%= singular_name %> = <%= model_name %>.new
28
+
29
+ if request.xhr?
30
+ @temp_id = Time.new.to_i
31
+ @headers['<%= singular_name %>-id'] = @temp_id
32
+ @headers['Content-Type'] = 'text/html; charset=utf-8'
21
33
 
22
- @temp_id = Time.new.to_i
23
- @headers['<%= singular_name %>-id'] = @temp_id
24
- @headers['Content-Type'] = 'text/html; charset=utf-8'
34
+ render :layout => false
25
35
 
26
- render :layout => false
27
-
28
- # If you want to send an error message:
29
- # render :inline => "Error text goes here", :layout => false, :status => 500
36
+ # If you want to send an error message:
37
+ # render :inline => "Error text goes here", :layout => false, :status => 500
38
+ end
30
39
  end
31
40
 
32
41
  def create<%= suffix %>
33
42
  @<%= singular_name %> = <%= model_name %>.new(params[:<%= singular_name %>])
34
43
  if @<%= singular_name %>.save
35
- @headers['<%= singular_name %>-id'] = @<%= singular_name %>.id
36
- @headers['Content-Type'] = 'text/html; charset=utf-8'
37
- render :partial => '<%= singular_name %><%= suffix %>', :layout => false, :locals => { :hidden => true }
44
+ if request.xhr?
45
+ @headers['<%= singular_name %>-id'] = @<%= singular_name %>.id
46
+ @headers['Content-Type'] = 'text/html; charset=utf-8'
47
+ render :partial => '<%= singular_name %><%= suffix %>', :layout => false, :locals => { :hidden => true }
48
+ else
49
+ return_to_main
50
+ end
38
51
  else
39
- render :partial => 'form_errors', :layout => false, :status => 500
52
+ render :partial => 'form_errors', :layout => false, :status => 500 if request.xhr?
53
+ render :action => 'new' if not request.xhr?
40
54
  end
41
55
  end
42
56
 
43
57
  def edit<%= suffix %>
44
58
  @<%= singular_name %> = <%= model_name %>.find(params[:id])
45
- render :layout => false
59
+ render :layout => false if request.xhr?
46
60
  end
47
61
 
48
62
  def update
49
63
  @<%= singular_name %> = <%= model_name %>.find(params[:id])
50
64
  if @<%= singular_name %>.update_attributes(params[:<%= singular_name %>])
51
- render :partial => '<%= singular_name %><%= suffix %>', :layout => false, :locals => { :hidden => true }
65
+ render :partial => '<%= singular_name %><%= suffix %>', :layout => false, :locals => { :hidden => true } if request.xhr?
66
+ return_to_main if not request.xhr?
52
67
  else
53
- render :partial => 'form_errors', :layout => false, :status => 500
68
+ render :partial => 'form_errors', :layout => false, :status => 500 if request.xhr?
69
+ render :action => 'edit' if not request.xhr?
54
70
  end
55
71
  end
56
72
 
57
73
  def destroy<%= suffix %>
58
74
  <%= model_name %>.find(params[:id]).destroy
59
- render :nothing => true
75
+ render :nothing => true if request.xhr?
76
+ return_to_main if not request.xhr?
60
77
  end
61
78
  end
@@ -1,4 +1,6 @@
1
- <tr id="view-<%= singular_name %>-<%%= <%= singular_name %>.id %>" <%%= "style=\"display: none;\"" if hidden %>>
1
+ <%% # The following is used when the browser doesn't have javascript enabled %>
2
+ <%% classAttr = cycle("", "class=\"even\"") %>
3
+ <tr <%%= classAttr %> id="view-<%= singular_name %>-<%%= <%= singular_name %>.id %>" <%%= "style=\"display: none;\"" if hidden %>>
2
4
  <%% for column in <%= model_name %>.content_columns %>
3
5
  <td><%%=h <%= singular_name %>.send(column.name) %>&nbsp;</td>
4
6
  <%% end %>
@@ -6,20 +8,20 @@
6
8
  <div>
7
9
  <%%= loading_indicator_tag '<%= singular_name %>', "edit-#{<%= singular_name %>.id}" %>
8
10
  <%%= link_to_remote "Edit",
9
- :url => { :controller => '<%= controller_name %>', :action => 'edit', :id => <%= singular_name %> },
10
- :loading => "AjaxScaffold.editOnLoading(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
11
- :success => "AjaxScaffold.editOnSuccess(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
12
- :failure => "AjaxScaffold.editOnFailure(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
13
- :complete => "AjaxScaffold.editOnComplete(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
14
- :post => true; %>
11
+ { :url => { :controller => '<%= controller_name %>', :action => 'edit', :id => <%= singular_name %> },
12
+ :loading => "AjaxScaffold.editOnLoading(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
13
+ :success => "AjaxScaffold.editOnSuccess(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
14
+ :failure => "AjaxScaffold.editOnFailure(request,'<%= singular_name %>', #{<%= singular_name %>.id});",
15
+ :post => true },
16
+ { :href => url_for( :controller => '<%= controller_name %>', :action => 'edit', :id => <%= singular_name %> ) } %>
15
17
  <%%= link_to_remote "Delete",
16
- :url => { :controller => '<%= controller_name %>',:action => 'destroy', :id => <%= singular_name %> },
17
- :confirm => 'Are you sure?',
18
- :loading => "AjaxScaffold.deleteOnLoading('<%= singular_name %>', #{<%= singular_name %>.id});",
19
- :success => "AjaxScaffold.deleteOnSuccess('<%= singular_name %>', #{<%= singular_name %>.id});",
20
- :failure => "AjaxScaffold.deleteOnFailure('<%= singular_name %>', #{<%= singular_name %>.id});",
21
- :complete => "AjaxScaffold.deleteOnComplete('<%= singular_name %>', #{<%= singular_name %>.id});",
22
- :post => true; %>
18
+ { :url => { :controller => '<%= controller_name %>',:action => 'destroy', :id => <%= singular_name %> },
19
+ :confirm => 'Are you sure?',
20
+ :loading => "AjaxScaffold.deleteOnLoading('<%= singular_name %>', #{<%= singular_name %>.id});",
21
+ :success => "AjaxScaffold.deleteOnSuccess('<%= singular_name %>', #{<%= singular_name %>.id});",
22
+ :failure => "AjaxScaffold.deleteOnFailure('<%= singular_name %>', #{<%= singular_name %>.id});",
23
+ :post => true },
24
+ { :href => url_for(:controller => '<%= controller_name %>', :action => 'destroy', :id => <%= singular_name %>) } %>
23
25
  </div>
24
26
  </td>
25
- </tr>
27
+ </tr>
data/templates/script.js CHANGED
@@ -228,6 +228,7 @@ var AjaxScaffold = {
228
228
  },
229
229
  newOnSuccess: function(request, type) {
230
230
  var createForm = request.responseText;
231
+
231
232
  var id = this.getId(request,type);
232
233
 
233
234
  new Insertion.Top(this.getTableBodyElement(type), createForm);
@@ -240,14 +241,8 @@ var AjaxScaffold = {
240
241
  TableBodyUtil.highlight(createElement,this.getTableBodyElement(type));
241
242
  Form.focusFirstElement(this.getFormElement('create',type,id));
242
243
  },
243
- newOnComplete: function(request, type) {
244
-
245
- },
246
- getNewIndicator: function(type) {
247
- return $(type + "-new-loading-indicator");
248
- },
249
244
 
250
-
245
+
251
246
  createOnLoading: function(request,type,id) {
252
247
  Element.show(this.getIndicator('create',type,id));
253
248
  },
@@ -330,7 +325,8 @@ var AjaxScaffold = {
330
325
  Element.hide(viewElement);
331
326
  Element.hide(this.getIndicator('edit',type,id));
332
327
  Element.show(editElement);
333
- new Effect.Highlight(editElement);
328
+
329
+ new TableEffect.Highlight(editElement);
334
330
  Form.focusFirstElement(formElement);
335
331
  },
336
332
 
@@ -358,7 +354,7 @@ var AjaxScaffold = {
358
354
  new Insertion.Bottom(this.getTableBodyElement(type), view);
359
355
  var viewElement = this.getViewElement(type,id);
360
356
  new TableRow.MoveBefore(editElement, viewElement);
361
-
357
+
362
358
  Element.remove(editElement);
363
359
  Element.show(viewElement);
364
360
 
@@ -388,7 +384,9 @@ var AjaxScaffold = {
388
384
 
389
385
 
390
386
 
391
-
387
+ getNewIndicator: function(type) {
388
+ return $(type + "-new-loading-indicator");
389
+ },
392
390
  getIndicator: function(scope, type,id) {
393
391
  return $(type + '-' + scope + '-' + id + "-loading-indicator");
394
392
  },
data/templates/style.css CHANGED
@@ -1,33 +1,39 @@
1
- .list-wrapper form,
2
- .list-wrapper table,
3
- .list-wrapper p,
4
- .list-wrapper div,
5
- .list-wrapper fieldset {
1
+ .ajax-scaffold-wrapper form,
2
+ .ajax-scaffold-wrapper table,
3
+ .ajax-scaffold-wrapper p,
4
+ .ajax-scaffold-wrapper div,
5
+ .ajax-scaffold-wrapper fieldset,
6
+ .ajax-scaffold form,
7
+ .ajax-scaffold table,
8
+ .ajax-scaffold p,
9
+ .ajax-scaffold div,
10
+ .ajax-scaffold fieldset {
6
11
  margin: 0;
7
12
  padding: 0;
8
13
  }
9
14
 
10
- table.list a {
15
+ .ajax-scaffold a {
11
16
  color: #0066CC;
17
+ text-decoration: none;
12
18
  }
13
19
 
14
- .list-wrapper {
20
+ .ajax-scaffold-wrapper {
15
21
  margin: 5px 0;
16
22
  }
17
23
 
18
- table.list {
24
+ .ajax-scaffold {
19
25
  width: 100%;
20
26
  }
21
27
 
22
28
  /* Header Styling
23
29
  ======================== */
24
30
 
25
- .list-header {
31
+ .ajax-scaffold-header {
26
32
  position: relative;
27
33
  background: #005CB8;
28
34
  }
29
35
 
30
- .list-header div.actions a {
36
+ .ajax-scaffold-header div.actions a {
31
37
  color: #fff;
32
38
  background: url(/images/add.gif) 1px 50% no-repeat;
33
39
  font-size: 13px;
@@ -37,11 +43,11 @@ text-decoration: none;
37
43
  padding: 1px 2px 1px 19px;
38
44
  }
39
45
 
40
- .list-header div.actions a:hover {
46
+ .ajax-scaffold-header div.actions a:hover {
41
47
  background: #378CDF url(/images/add.gif) 1px 50% no-repeat;
42
48
  }
43
49
 
44
- .list-header h2 {
50
+ .ajax-scaffold-header h2 {
45
51
  color: #fff;
46
52
  padding: 3px 5px;
47
53
  margin: 0;
@@ -50,7 +56,7 @@ font-weight: normal;
50
56
  font-family: Verdana, sans-serif;
51
57
  }
52
58
 
53
- .list-header .actions {
59
+ .ajax-scaffold-header .actions {
54
60
  position: absolute;
55
61
  right: 5px;
56
62
  bottom: 2px;
@@ -59,12 +65,11 @@ bottom: 2px;
59
65
  /* Table Column Headers
60
66
  ============================= */
61
67
 
62
-
63
- table.list tr.header {
68
+ .ajax-scaffold tr.header {
64
69
  background: #C5DBF7;
65
70
  }
66
71
 
67
- table.list th {
72
+ .ajax-scaffold th {
68
73
  font-size: 11px;
69
74
  padding: 2px;
70
75
  color: #fff;
@@ -78,7 +83,7 @@ padding-left: 5px;
78
83
  /* Table Body Styling
79
84
  ============================= */
80
85
 
81
- table.list td {
86
+ .ajax-scaffold td {
82
87
  padding: 5px 4px;
83
88
  border-bottom: solid 1px #C5DBF7;
84
89
  color: #333;
@@ -87,23 +92,20 @@ font-size: 11px;
87
92
  background-color: #E6F2FF;
88
93
  }
89
94
 
90
- table.list tr.even td {
95
+ .ajax-scaffold tr.even td {
91
96
  background-color: #fff;
92
97
  }
93
98
 
94
-
95
- table.list .edit td,
96
- table.list .create td {
99
+ .ajax-scaffold .edit td,
100
+ .ajax-scaffold .create td {
97
101
  padding: 0;
98
102
  padding: 4px;
99
103
  }
100
104
 
101
- table.list td.action {
102
- padding: 0;
103
- padding-right: 2px;
104
- }
105
+ /* Table Actions (Edit, Delete) Styling
106
+ ============================= */
105
107
 
106
- table.list td a {
108
+ .ajax-scaffold td a {
107
109
  font-family: Verdana, sans-serif;
108
110
  font-size: 11px;
109
111
  font-weight: bold;
@@ -112,40 +114,51 @@ padding: 2px;
112
114
  line-height: 18px;
113
115
  }
114
116
 
115
- table.list td a:hover {
117
+ /* The following fixes some very weird
118
+ layout issue in IE where the edit link
119
+ is too close to the delete link after
120
+ the introduction of the taconite JS library
121
+ .ajax-scaffold .actions a {
122
+ display: block;
123
+ float: right;
124
+ padding: 0 2px;
125
+ margin-left: 3px;
126
+ }
127
+ */
128
+
129
+ .ajax-scaffold td a:hover {
116
130
  background: #ff8;
117
131
  }
118
132
 
119
- table.list .edit td,
120
- table.list .create td {
133
+ .ajax-scaffold .edit td,
134
+ .ajax-scaffold .create td {
121
135
  background: #DAFFCD;
122
136
  }
123
137
 
124
- table.list .edit td,
125
- table.list .create td {
138
+ .ajax-scaffold .edit td,
139
+ .ajax-scaffold .create td {
126
140
  border-top: solid 2px #fff;
127
141
  border-bottom: solid 2px #fff;
128
142
  }
129
143
 
130
- table.list .actions div {
144
+ .ajax-scaffold .actions div {
131
145
  width: 95px;
132
- right: 0;
133
146
  text-align: right;
134
147
  float: right;
135
148
  padding-right: 2px;
136
149
  }
137
150
 
138
- /* List Footer Styling
151
+ /* ajax-scaffold Footer Styling
139
152
  ========================== */
140
153
 
141
- .list-wrapper .list-footer {
154
+ .ajax-scaffold-wrapper .ajax-scaffold-footer {
142
155
  text-align: right;
143
156
  background: #005CB8;
144
157
  padding: 2px 0;
145
158
  border-bottom: none;
146
159
  }
147
160
 
148
- table.list tfoot a {
161
+ .ajax-scaffold tfoot a {
149
162
  color: #fff;
150
163
  font-size: 12px;
151
164
  font-weight: bold;
@@ -153,20 +166,20 @@ letter-spacing: 0;
153
166
  font-family: Arial, sans-serif;
154
167
  }
155
168
 
156
- table.list tfoot a:hover {
169
+ .ajax-scaffold tfoot a:hover {
157
170
  color: #0066CC;
158
171
  }
159
172
 
160
173
  /* Messages
161
174
  ========================= */
162
175
 
163
- table.list .empty-message td {
176
+ .ajax-scaffold .empty-message td {
164
177
  background: #e8e8e8;
165
178
  text-align: center;
166
179
  color: #666;
167
180
  }
168
181
 
169
- table.list .error-message td {
182
+ .ajax-scaffold .error-message td {
170
183
  border-bottom: solid 1px #fff;
171
184
  background: #f66;
172
185
  color: #333;
@@ -174,30 +187,35 @@ font-size: 11px;
174
187
  font-weight: bold;
175
188
  }
176
189
 
177
- table.list .error-message p {
190
+ .ajax-scaffold .error-message p {
178
191
  padding-left: 19px;
179
192
  background: url(/images/error.gif) 0 0 no-repeat;
180
193
  }
181
194
 
182
- table.list .error-message td.actions {
195
+ .ajax-scaffold .error-message td.actions {
183
196
  background: #f66;
184
197
  text-align: right;
185
198
  }
186
199
 
187
- table.list .error-message td.actions a {
200
+ .ajax-scaffold .error-message td.actions a {
188
201
  color: #333;
189
202
  }
190
203
 
191
204
  /* Error Styling
192
205
  ========================== */
193
206
 
194
- table.list #errorExplanation {
207
+ .ajax-scaffold #errorExplanation {
195
208
  background: #fcc;
196
209
  margin: 2px 7px;
197
210
  border: solid 1px #f66;
211
+ float: left;
212
+ }
213
+
214
+ .ajax-scaffold fieldset {
215
+ clear: both;
198
216
  }
199
217
 
200
- table.list #errorExplanation h2 {
218
+ .ajax-scaffold #errorExplanation h2 {
201
219
  padding: 2px 5px 3px 20px;
202
220
  color: #333;
203
221
  font-size: 11px;
@@ -207,51 +225,49 @@ font-family: Verdana;
207
225
  background: #f66 url(/images/error.gif) 2px 1px no-repeat;
208
226
  }
209
227
 
210
- table.list #errorExplanation ul {
228
+ .ajax-scaffold #errorExplanation ul {
211
229
  margin: 0;
212
230
  padding: 2px 2px 4px 25px;
213
231
  }
214
232
 
215
- table.list #errorExplanation p {
233
+ .ajax-scaffold #errorExplanation p {
216
234
  font-size: 11px;
217
235
  padding: 2px 5px;
218
236
  font-family: Verdana;
219
237
  margin: 0;
220
238
  }
221
239
 
222
- table.list #errorExplanation ul li {
240
+ .ajax-scaffold #errorExplanation ul li {
223
241
  font-size: 11px;
224
242
  margin: 0;
225
243
  font-family: Verdana;
226
244
  padding: 0;
227
245
  }
228
246
 
229
- table.list .fieldWithErrors input {
247
+ .ajax-scaffold .fieldWithErrors input {
230
248
  border: solid 1px #f00;
231
249
  }
232
250
 
233
251
  /* Loading Indicators
234
252
  ============================== */
235
253
 
236
- .list-wrapper .loading-indicator {
254
+ .ajax-scaffold-wrapper .loading-indicator {
237
255
  vertical-align: bottom;
238
256
  margin: 0;
239
257
  }
240
258
 
241
- .list-wrapper .list-header .loading-indicator,
242
- .list-wrapper .edit .loading-indicator,
243
- .list-wrapper .create .loading-indicator {
259
+ .ajax-scaffold-wrapper .ajax-scaffold-header .loading-indicator,
260
+ .ajax-scaffold-wrapper .edit .loading-indicator,
261
+ .ajax-scaffold-wrapper .create .loading-indicator {
244
262
  vertical-align: bottom;
245
263
  margin-bottom: 3px;
246
264
  }
247
265
 
248
-
249
-
250
-
251
266
  /* Form Styling
252
267
  ============================== */
253
268
 
254
- .list-wrapper .submit {
269
+ .ajax-scaffold-wrapper .submit,
270
+ .ajax-scaffold .submit {
255
271
  font-weight: bold;
256
272
  font-size: 14px;
257
273
  font-family: Arial, sans-serif;
@@ -260,55 +276,58 @@ margin: 0;
260
276
  margin-top: 5px;
261
277
  }
262
278
 
263
- .list-wrapper fieldset {
279
+ .ajax-scaffold-wrapper fieldset,
280
+ .ajax-scaffold fieldset {
264
281
  border: none;
265
282
  }
266
283
 
267
- table.list label.required{
284
+ .ajax-scaffold label.required{
268
285
  font-weight: bold;
269
286
  }
270
287
 
271
- table.list label.example {
288
+ .ajax-scaffold label.example {
272
289
  font-size: 11px;
273
290
  font-family: arial;
274
291
  color: #888;
275
292
  }
276
293
 
277
- table.list h4 {
294
+ .ajax-scaffold h4 {
278
295
  padding: 2px;
279
296
  margin: 0;
297
+ font-weight: bold;
298
+ text-transform: none;
280
299
  color: #1F7F00;
281
300
  font-size: 16px;
282
301
  letter-spacing: -1px;
283
302
  font-family: Georgia, Arial, sans-serif;
284
303
  }
285
304
 
286
- table.list .edit a,
287
- table.list .create a {
305
+ .ajax-scaffold .edit a,
306
+ .ajax-scaffold .create a {
288
307
  font-size: 14px;
289
308
  font-weight: bold;
290
309
  font-family: Arial, sans-serif;
291
310
  letter-spacing: 0;
292
311
  }
293
312
 
294
- table.list p {
313
+ .ajax-scaffold p {
295
314
  clear: both;
296
315
  }
297
316
 
298
- table.list div.row {
317
+ .ajax-scaffold div.row {
299
318
  clear: both;
300
319
  float: none;
301
320
  padding: 2px;
302
321
  margin-left: 5px;
303
322
  }
304
323
 
305
- table.list div.form-element {
324
+ .ajax-scaffold div.form-element {
306
325
  float: left;
307
326
  margin-right: 10px;
308
327
  margin-bottom: 2px;
309
328
  }
310
329
 
311
- table.list label {
330
+ .ajax-scaffold label {
312
331
  display: block;
313
332
  font-family: Verdana, sans-serif;
314
333
  color: #555;
@@ -316,20 +335,20 @@ font-size: 11px;
316
335
  padding-bottom: 1px;
317
336
  }
318
337
 
319
- table.list input,
320
- table.list select {
338
+ .ajax-scaffold input,
339
+ .ajax-scaffold select {
321
340
  font-size: 16px;
322
341
  font-weight: bold;
323
342
  font-family: Arial, sans-serif;
324
343
  letter-spacing: -1px;
325
344
  }
326
345
 
327
- table.list .form-element input {
346
+ .ajax-scaffold .form-element input {
328
347
  padding: 1px;
329
348
  border: solid 1px #1F7F00;
330
349
  }
331
350
 
332
- table.list textarea {
351
+ .ajax-scaffold textarea {
333
352
  height: 65px;
334
353
  font-family: Arial, sans-serif;
335
354
  font-size: 12px;
@@ -340,6 +359,6 @@ border: solid 1px #1F7F00;
340
359
  /* IE hacks
341
360
  ==================================== */
342
361
 
343
- * html .list-header {
362
+ * html .ajax-scaffold-header {
344
363
  height: 1%;
345
364
  }
@@ -1,22 +1,36 @@
1
- <tr id="<%%= "edit-<%= singular_name %>-#{@<%= singular_name %>.id}" %>" class="edit" style="display: none;">
2
- <td colspan="<%%= num_columns %>">
3
- <%%= form_remote_tag :url => { :controller => '<%= controller_name %>', :action => 'update', :id => @<%= singular_name %> },
4
- :loading => "AjaxScaffold.updateOnLoading(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
5
- :success => "AjaxScaffold.updateOnSuccess(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
6
- :failure => "AjaxScaffold.updateOnFailure(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
7
- :complete => "AjaxScaffold.updateOnComplete(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
8
- :html => { :id => "edit-<%= singular_name %>-#{@<%= singular_name %>.id}-form" } %>
9
- <h4>Edit <%= Inflector.titleize(singular_name) %></h4>
10
-
11
- <div id="<%%= "update-<%= singular_name %>-#{@<%= singular_name %>.id}-errors" %>" style="display: none;" ></div>
12
-
13
- <%%= render :partial => 'form' %>
14
-
15
- <p>
16
- <%%= submit_tag "Update", :class => "submit" %>
17
- <%%= link_to_function "Cancel", "AjaxScaffold.updateOnCancel('<%= singular_name %>',#{@<%= singular_name %>.id});" %>
18
- <%%= loading_indicator_tag '<%= singular_name %>', "update-#{@<%= singular_name %>.id}" %>
19
- </p>
20
- <%%= end_form_tag %>
21
- </td>
22
- </tr>
1
+ <%% if not request.xhr? %>
2
+ <table class="ajax-scaffold" cellpadding="0" cellspacing="0">
3
+ <tbody>
4
+ <%% end %>
5
+ <tr id="<%%= "edit-<%= singular_name %>-#{@<%= singular_name %>.id}" %>" class="edit" <%%= "style=\"display: none;\"" if request.xhr? %> >
6
+ <td colspan="<%%= num_columns %>">
7
+ <%%= form_remote_tag :url => { :controller => '<%= controller_name %>', :action => 'update', :id => @<%= singular_name %> },
8
+ :loading => "AjaxScaffold.updateOnLoading(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
9
+ :success => "AjaxScaffold.updateOnSuccess(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
10
+ :failure => "AjaxScaffold.updateOnFailure(request,'<%= singular_name %>',#{@<%= singular_name %>.id});",
11
+ :html => { :action => url_for(:controller => '<%= controller_name %>', :action => 'update', :id => @<%= singular_name %>),
12
+ :id => "edit-<%= singular_name %>-#{@<%= singular_name %>.id}-form" } %>
13
+ <h4>Edit <%= Inflector.titleize(singular_name) %></h4>
14
+
15
+ <%% # Its actually okay to leave both of these elements (ex: form_errors will only generate HTML when in fallback mode) %>
16
+ <%% if request.xhr? %>
17
+ <div id="<%%= "update-<%= singular_name %>-#{@<%= singular_name %>.id}-errors" %>" style="display: none;" ></div>
18
+ <%% else %>
19
+ <%%= render :partial => 'form_errors' %>
20
+ <%% end %>
21
+
22
+ <%%= render :partial => 'form' %>
23
+
24
+ <p>
25
+ <%%= submit_tag "Update", :class => "submit" %>
26
+ <%%= link_to_function "Cancel", "AjaxScaffold.updateOnCancel('<%= singular_name %>',#{@<%= singular_name %>.id});",
27
+ :href => url_for(:controller => '<%= controller_name %>', :action => 'return_to_main') %>
28
+ <%%= loading_indicator_tag '<%= singular_name %>', "update-#{@<%= singular_name %>.id}" %>
29
+ </p>
30
+ <%%= end_form_tag %>
31
+ </td>
32
+ </tr>
33
+ <%% if not request.xhr? %>
34
+ </tbody>
35
+ </table>
36
+ <%% end %>
@@ -1,21 +1,21 @@
1
- <div id="<%= singular_name %>-list-wrapper" class="list-wrapper">
2
- <div id="<%= singular_name %>-list-header" class="list-header">
1
+ <div id="<%= singular_name %>-list-wrapper" class="ajax-scaffold-wrapper">
2
+ <div id="<%= singular_name %>-list-header" class="ajax-scaffold-header">
3
3
  <h2><%= Inflector.titleize(plural_name) %></h2>
4
4
 
5
5
  <div class="actions">
6
6
  <%%= loading_indicator_tag '<%= singular_name %>', "new" %>
7
7
  <%%= link_to_remote "Create New",
8
- :url => { :controller => '<%= controller_name %>', :action => 'new' },
9
- :loading => "AjaxScaffold.newOnLoading(request,'<%= singular_name %>');",
10
- :success => "AjaxScaffold.newOnSuccess(request,'<%= singular_name %>');",
11
- :failure => "AjaxScaffold.newOnFailure(request,'<%= singular_name %>');",
12
- :complete => "AjaxScaffold.newOnComplete(request,'<%= singular_name %>');",
13
- :class => "create" %>
8
+ { :url => { :controller => '<%= controller_name %>', :action => 'new' },
9
+ :loading => "AjaxScaffold.newOnLoading(request,'<%= singular_name %>');",
10
+ :success => "AjaxScaffold.newOnSuccess(request,'<%= singular_name %>');",
11
+ :failure => "AjaxScaffold.newOnFailure(request,'<%= singular_name %>');" },
12
+ { :href => url_for(:controller => '<%= controller_name %>', :action => 'new'),
13
+ :class => "create" } %>
14
14
 
15
15
  </div>
16
16
 
17
17
  </div>
18
- <table id="<%= singular_name %>-list" class="list" cellpadding="0" cellspacing="0">
18
+ <table id="<%= singular_name %>-list" class="ajax-scaffold" cellpadding="0" cellspacing="0">
19
19
  <thead>
20
20
  <tr class="header">
21
21
  <%% for column in <%= model_name %>.content_columns %>
@@ -40,11 +40,12 @@
40
40
  <tbody id="<%= singular_name %>-list-body">
41
41
  <%% if !@<%= plural_name %>.empty? %>
42
42
  <%%= render :partial => '<%= singular_name %>', :collection => @<%= plural_name %>, :locals => { :hidden => false } %>
43
- <%% end %>
44
- <!-- Do not remove the following TR, it is needed to load up the even row color when enableHighlighting is turned on -->
43
+ <%% else %>
44
+ <%% # Do not remove the following TR, it is needed to load up the even row color when enableHighlighting is turned on and the list is empty %>
45
45
  <tr class="even ignore" style="display: none;">
46
46
  <td colspan="<%%= num_columns %>"></td>
47
47
  </tr>
48
+ <%% end %>
48
49
  </tbody>
49
50
  </table>
50
51
  </div>
@@ -55,4 +56,4 @@ TableBodyUtil.enableHighlighting(AjaxScaffold.getTableBodyElement('<%= singular_
55
56
  TableBodyUtil.paintStripes(AjaxScaffold.getTableBodyElement('<%= singular_name %>'));
56
57
  <%% end %>
57
58
  Rico.Corner.round('<%= singular_name %>-list-wrapper', {color: '#005CB8', bgColor: '#fff', compact: true});
58
- </script>
59
+ </script>
@@ -1,23 +1,33 @@
1
- <tr id="create-<%= singular_name %>-<%%= @temp_id %>" class="create" style="display: none;">
2
- <td colspan="<%%= num_columns %>">
3
- <%%= form_remote_tag :url => { :controller => '<%= controller_name %>', :action => 'create' },
4
- :loading => "AjaxScaffold.createOnLoading(request,'<%= singular_name %>',#{@temp_id});",
5
- :success => "AjaxScaffold.createOnSuccess(request,'<%= singular_name %>',#{@temp_id});",
6
- :complete => "AjaxScaffold.createOnComplete(request,'<%= singular_name %>',#{@temp_id});",
7
- :failure => "AjaxScaffold.createOnFailure(request,'<%= singular_name %>',#{@temp_id});",
8
- :html => { :id => "create-<%= singular_name %>-#{@temp_id}-form" } %>
9
-
10
- <h4>New <%= Inflector.titleize(singular_name) %></h4>
11
-
12
- <div id="<%%= "create-<%= singular_name %>-#{@temp_id}-errors" %>" style="display: none;" ></div>
13
-
14
- <%%= render :partial => 'form' %>
15
-
16
- <p>
17
- <%%= submit_tag "Create", :class => "submit" %>
18
- <%%= link_to_function "Cancel", "AjaxScaffold.createOnCancel('<%= singular_name %>',#{@temp_id});" %>
19
- <%%= loading_indicator_tag '<%= singular_name %>', "create-#{@temp_id}" %>
20
- </p>
21
- <%%= end_form_tag %>
22
- </td>
23
- </tr>
1
+ <%% if not request.xhr? %>
2
+ <table class="ajax-scaffold" cellpadding="0" cellspacing="0">
3
+ <tbody>
4
+ <%% end %>
5
+ <tr id="create-<%= singular_name %>-<%%= @temp_id %>" class="create" <%%= "style=\"display: none;\"" if request.xhr? %>>
6
+ <td colspan="<%%= num_columns %>">
7
+ <%%= form_remote_tag :url => { :controller => '<%= controller_name %>', :action => 'create' },
8
+ :loading => "AjaxScaffold.createOnLoading(request,'<%= singular_name %>',#{@temp_id});",
9
+ :success => "AjaxScaffold.createOnSuccess(request,'<%= singular_name %>',#{@temp_id});",
10
+ :failure => "AjaxScaffold.createOnFailure(request,'<%= singular_name %>',#{@temp_id});",
11
+ :html => { :action => url_for(:controller => '<%= controller_name %>', :action => 'create'),
12
+ :id => "create-<%= singular_name %>-#{@temp_id}-form" } %>
13
+
14
+ <h4>New <%= Inflector.titleize(singular_name) %></h4>
15
+
16
+ <%% # Its actually okay to leave both of these elements (ex: form_errors will only generate HTML when in fallback mode) %>
17
+ <%% if request.xhr? %>
18
+ <div id="<%%= "create-<%= singular_name %>-#{@temp_id}-errors" %>" style="display: none;" ></div>
19
+ <%% else %>
20
+ <%%= render :partial => 'form_errors' %>
21
+ <%% end %>
22
+
23
+ <%%= render :partial => 'form' %>
24
+
25
+ <p>
26
+ <%%= submit_tag "Create", :class => "submit" %>
27
+ <%%= link_to_function "Cancel", "AjaxScaffold.createOnCancel('<%= singular_name %>',#{@temp_id});",
28
+ :href => url_for(:controller => '<%= controller_name %>', :action => 'return_to_main') %>
29
+ <%%= loading_indicator_tag '<%= singular_name %>', "create-#{@temp_id}" %>
30
+ </p>
31
+ <%%= end_form_tag %>
32
+ </td>
33
+ </tr>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: ajax_scaffold_generator
5
5
  version: !ruby/object:Gem::Version
6
- version: 2.1.0
7
- date: 2006-02-23 00:00:00 -05:00
6
+ version: 2.2.0
7
+ date: 2006-03-03 00:00:00 -05:00
8
8
  summary: Ajax scaffold generator is a rails generator for ajaxified scaffolds
9
9
  require_paths:
10
10
  - lib