widget_list 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/README.md +26 -2
  2. data/app/views/widget_list/_condition_fields.html.erb +0 -0
  3. data/app/views/widget_list/_ransack_fields.html.erb +0 -0
  4. data/app/views/widget_list/_ransack_widget_list_advanced_search.html.erb +0 -0
  5. data/app/views/widget_list/administration/_field_row.html.erb +11 -0
  6. data/app/views/widget_list/administration/_output.html.erb +856 -0
  7. data/app/views/widget_list/administration/_output_save.html.erb +2 -0
  8. data/app/views/widget_list/list_partials/_col.html.erb +0 -0
  9. data/app/views/widget_list/list_partials/_list_description.html.erb +0 -0
  10. data/app/views/widget_list/list_partials/_no_sort_column.html.erb +0 -0
  11. data/app/views/widget_list/list_partials/_pagination_jump_active.html.erb +0 -0
  12. data/app/views/widget_list/list_partials/_pagination_jump_unactive.html.erb +0 -0
  13. data/app/views/widget_list/list_partials/_pagination_next_active.html.erb +0 -0
  14. data/app/views/widget_list/list_partials/_pagination_next_disabled.html.erb +0 -0
  15. data/app/views/widget_list/list_partials/_pagination_previous_active.html.erb +0 -0
  16. data/app/views/widget_list/list_partials/_pagination_previous_disabled.html.erb +0 -0
  17. data/app/views/widget_list/list_partials/_pagination_wrapper.html.erb +0 -0
  18. data/app/views/widget_list/list_partials/_row.html.erb +0 -0
  19. data/app/views/widget_list/list_partials/_sequence.html.erb +0 -0
  20. data/app/views/widget_list/list_partials/_sort_column.html.erb +0 -0
  21. data/lib/extensions/action_controller_base.rb +33 -33
  22. data/lib/widget_list.rb +3664 -2783
  23. data/lib/widget_list/engine.rb +8 -8
  24. data/lib/widget_list/hash.rb +113 -113
  25. data/lib/widget_list/md5.rb +18 -18
  26. data/lib/widget_list/railtie.rb +42 -42
  27. data/lib/widget_list/sequel.rb +218 -218
  28. data/lib/widget_list/string.rb +41 -41
  29. data/lib/widget_list/tpl.rb +185 -185
  30. data/lib/widget_list/utils.rb +92 -92
  31. data/lib/widget_list/version.rb +3 -3
  32. data/lib/widget_list/widgets.rb +756 -756
  33. metadata +5 -2
data/README.md CHANGED
@@ -125,9 +125,9 @@ widget_list features and configurations primarily work by a single large hash pa
125
125
 
126
126
  `data` - A "sequel" formatted resultset like would be returned from _select() method. Instead of running a SQL query, you can pass an array to populate the list `default={}`
127
127
 
128
- `collClass` - Your custom <td> class for all <td>'s `default=''`
128
+ `collClass` - Your custom td class for all td's `default=''`
129
129
 
130
- `align` - <td> align attribute for all <td>'s `default=''`
130
+ `align` - td align attribute for all td's `default=''`
131
131
 
132
132
  `fields` - The visible fields shown in the current list. KEY=column name VALUE= displayed column header `default={}`
133
133
 
@@ -221,10 +221,34 @@ widget_list features and configurations primarily work by a single large hash pa
221
221
 
222
222
  `borderedColumns` - Add a right border to each column. `default=false`
223
223
 
224
+ `borderedRows` - Style the border of each row. `default=false`
225
+
226
+ `borderRowStyle` - Border style of each row. `default='1px solid #CCCCCC'`
227
+
228
+ `borderHeadFoot` - Style the border of header (bottom) and footer (top). `default=false`
229
+
230
+ `headFootBorderStyle` - Border style of header (bottom) and footer (top). `default='1px solid #CCCCCC'`
231
+
224
232
  `borderColumnStyle` - Style of row if you use this above feature. `default='1px solid #CCCCCC'`
233
+
234
+ `bordersEverywhere?` - If true, use borderEverywhere for all four borders you can pass separately `default=false`
235
+
236
+ `borderEverywhere` - The catch all style of borders for headers, rows, outer table border and columns. `default='1px solid #CCCCCC'`
225
237
 
238
+ `defaultButtonClass` - As you have seen in many screenshots, there are several buttons. This controls the innerClass of those drawn from the list. See lib/widget_list/widgets.rb `default='info'`
239
+
240
+ `useBoxShadow` - Show shadow or not on list `default=true`
241
+
242
+ `shadowInset` - Number or string with '11Px' for an 11PX Inset `default=10`
243
+
244
+ `shadowSpread` - Number or string with '11Px' for an 11PX spread `default=20`
245
+
246
+ `shadowColor` - Color of bottom right shadow `default='shadowColor'`
247
+
226
248
  `rowClass` - Class added to all rows `default=''`
227
249
 
250
+ `rowFontColor` - Font color of all data rows that dont have a rowStylesByStatus color: passed to it `default='black'`
251
+
228
252
  `rowColorByStatus` - {'rowColorByStatus' =>
229
253
  {'active'=>
230
254
  {'No' => '#EBEBEB' }
File without changes
File without changes
@@ -0,0 +1,11 @@
1
+ <tr>
2
+ <td>
3
+ <!--FIELD-->:&#160;<input type="text" style="width:350px" class="<!--SUBJECT-->_keys" onblur="jQuery(this).attr('value',jQuery(this).val().trim());<!--ONBLUR1-->" name="<!--SUBJECT-->[key][]" id="<!--SUBJECT-->[key][]" value="<!--FIELD_VALUE-->"/>
4
+ </td>
5
+ <td>
6
+ <!--DESC-->:&#160;<input <!--DISABLED--> type="text" style="width:350px" class="<!--SUBJECT-->_descriptions" onblur="jQuery(this).attr('value',jQuery(this).val().trim());<!--ONBLUR2-->" name="<!--SUBJECT-->[description][]" id="<!--SUBJECT-->[description][]" value="<!--FIELD_DESC-->"/>
7
+ </td>
8
+ <td>
9
+ <!--REMOVE_FIELD_BUTTON-->
10
+ </td>
11
+ </tr>
@@ -0,0 +1,856 @@
1
+ <style type="text/css">
2
+ input[type="text"] {
3
+ font-size:25px;
4
+ height:33px;
5
+ left:0;
6
+ line-height:33px;
7
+ padding:8px 8px 7px;
8
+ top:0;
9
+ width:600px;
10
+ }
11
+ select {
12
+ font-size:25px;
13
+ height:50px;
14
+ left:0;
15
+ line-height:33px;
16
+ top:0;
17
+ width:600px;
18
+ }
19
+
20
+ .buttons_drill_down_name_button {
21
+ margin-right: 70px;
22
+ }
23
+
24
+ .buttons_data_to_pass_from_view_button {
25
+ margin-right: 120px;
26
+ }
27
+ </style>
28
+
29
+ <script type="text/javascript">
30
+ var all = '.start,.fields,.rows,.search,.footer,.misc_submit';
31
+ var all_btns = '#start,#fields,#rows,#search,#footer,#misc_submit';
32
+ jQuery(document).ready(function () {
33
+ if (jQuery('#view').val() != '') {
34
+ jQuery(all_btns).removeClass('disabled');
35
+ }
36
+ if (jQuery('#preview').attr('src') == '') {
37
+ jQuery('#preview').hide();
38
+ } else {
39
+ jQuery('#preview').show();
40
+ }
41
+
42
+ });
43
+
44
+ function VerifyOK(func_name) {
45
+ var ok = true;
46
+ if (jQuery('#view').val() == '') {
47
+ ok = false;
48
+ alert('Please select a Model to use as your base widget_list');
49
+ }
50
+ else if (jQuery('#rowLimit').val() != '10' && jQuery('#rowLimit').val() != '20' && jQuery('#rowLimit').val() != '50' && jQuery('#rowLimit').val() != '100' && jQuery('#rowLimit').val() != '500' && jQuery('#rowLimit').val() != '1000') {
51
+ ok = false;
52
+ alert('Invalid Row Limit, please see help button.');
53
+ }
54
+ return ok;
55
+ }
56
+
57
+ function ClickTab(which_class,func_name) {
58
+ if (VerifyOK(func_name)) {
59
+ jQuery('.search_dependent').hide(0,function() {
60
+ jQuery(all).hide(0,function() {
61
+ jQuery(which_class).fadeIn(0,function() {
62
+ if (func_name == 'ShowSearch') {
63
+ ShowSearchOptions(function() {
64
+ ShowGroupingOptions();
65
+ ShowExportOptions();
66
+
67
+ });
68
+ }
69
+ if (func_name == 'ShowFields') {
70
+ ShowHiddenOptions();
71
+ ShowFunctionOptions();
72
+ }
73
+ if (func_name == 'ShowSubmit') {
74
+ ShowCheckboxOptions();
75
+ }
76
+ if (func_name == 'ShowRows') {
77
+ ShowButtonOptions();
78
+ ShowDrillDownOptions();
79
+ }
80
+ if (func_name == 'ShowFooter') {
81
+ ShowFooterOptions();
82
+ }
83
+ });
84
+ });
85
+ });
86
+ SaveChanges();
87
+ }
88
+ }
89
+
90
+ function ShowStart() {
91
+ ClickTab('.start',arguments.callee.name);
92
+ }
93
+
94
+ function ShowFields() {
95
+ ClickTab('.fields',arguments.callee.name);
96
+ }
97
+
98
+ function ShowRows() {
99
+ ClickTab('.rows',arguments.callee.name);
100
+ }
101
+
102
+ function ShowSearch() {
103
+ ClickTab('.search',arguments.callee.name);
104
+ }
105
+
106
+ function ShowFooter() {
107
+ ClickTab('.footer',arguments.callee.name);
108
+ }
109
+
110
+ function ShowSubmit() {
111
+ ClickTab('.misc_submit',arguments.callee.name);
112
+ }
113
+
114
+ function ReplaceColumnsToLinked(obj) {
115
+ found = false;
116
+ var className = obj.className;
117
+ jQuery(obj).css('background-color','white');
118
+ jQuery('.fields_keys, .fields_hidden_keys, .fields_function_keys').each(
119
+ function(key, value) {
120
+ if(jQuery(value).val() == jQuery(obj).val().trim() && jQuery(obj).val().search(/_linked/i) == -1) {
121
+ found = true;
122
+ var id_original = jQuery(obj).val().trim();
123
+ jQuery(value).val(jQuery(obj).val().trim() + '_linked');
124
+ jQuery(obj).val(jQuery(obj).val().trim() + '_linked');
125
+ jQuery(obj).attr('value',jQuery(this).val().trim());
126
+ if (className == 'drill_downs_data_to_pass_from_view') {
127
+ jQuery('.drill_downs_column_to_show[value="col_name"]').each(
128
+ function(key1, value1) {
129
+ jQuery(value1).val(jQuery(obj).val().trim());
130
+ jQuery(value1).attr('value',jQuery(value1).val().trim());
131
+ return false;
132
+ }
133
+ )
134
+ } else {
135
+ jQuery('.drill_downs_data_to_pass_from_view[value="col_name"]').each(
136
+ function(key1, value1) {
137
+ jQuery(value1).val(jQuery(obj).val().trim());
138
+ jQuery(value1).attr('value',jQuery(value1).val().trim());
139
+ return false;
140
+ }
141
+ )
142
+ }
143
+
144
+ jQuery('.drill_downs_drill_down_name[value="filter_col_name"]').each(
145
+ function(key1, value1) {
146
+ jQuery(value1).val('filter_by_' + id_original);
147
+ jQuery(value1).attr('value','filter_by_' + id_original);
148
+ return false;
149
+ }
150
+ )
151
+
152
+
153
+ jQuery('#showHidden').attr('checked',true);
154
+ AddHiddenField();
155
+ jQuery('.fields_hidden_keys[value=""]').each(
156
+ function(key1, value1) {
157
+ jQuery(value1).val(id_original);
158
+ jQuery(value1).attr('value',id_original);
159
+ return false;
160
+ }
161
+ );
162
+ }
163
+ }
164
+ );
165
+
166
+ if (!found && jQuery(obj).val().search(/_linked/i) == -1) {
167
+ alert('Invalid Field Name defined. Please change the value');
168
+ jQuery(obj).css('background-color','red');
169
+ }
170
+ }
171
+
172
+ function InvalidField(obj) {
173
+ found = false;
174
+ jQuery(obj).css('background-color','white');
175
+ jQuery('.fields_keys, .fields_hidden_keys, .fields_function_keys').each(
176
+ function(key, value) {
177
+ if(jQuery(value).val() == jQuery(obj).val().trim()) {
178
+ found = true;
179
+ }
180
+ }
181
+ );
182
+
183
+ if (!found) {
184
+ alert('Invalid Field Name defined. Please change the value');
185
+ jQuery(obj).css('background-color','red');
186
+ }
187
+ }
188
+
189
+ function GoodClass(obj) {
190
+ found = false;
191
+ jQuery(obj).css('background-color','white');
192
+ if (jQuery(obj).val() == 'primary' || jQuery(obj).val() == 'info' || jQuery(obj).val() == 'success' || jQuery(obj).val() == 'danger' || jQuery(obj).val() == 'disabled' || jQuery(obj).val() == 'default') {
193
+ found = true;
194
+ }
195
+ if (!found) {
196
+ alert('Invalid Class Name. Click Help icon for more information.');
197
+ jQuery(obj).css('background-color','red');
198
+ }
199
+ }
200
+
201
+
202
+ function ShowSearchOptions(callback) {
203
+ if (jQuery('#showSearch').is(':checked')) {
204
+ jQuery('.search_dependent').show();
205
+ } else {
206
+ jQuery('.search_dependent').hide();
207
+ }
208
+ if (typeof(callback) == 'function') {
209
+ (callback)();
210
+ }
211
+ }
212
+
213
+ function ShowGroupingOptions() {
214
+ if (jQuery('#useGrouping').is(':checked') && jQuery('#showSearch').is(':checked')) {
215
+ jQuery('.grouping_dependent').show();
216
+ } else {
217
+ jQuery('.grouping_dependent').hide();
218
+ }
219
+ }
220
+
221
+ function ShowRansackOptions() {
222
+ if (jQuery('#useRansack').is(':checked') && jQuery('#showSearch').is(':checked')) {
223
+ jQuery('.ransack_dependent').show();
224
+ } else {
225
+ jQuery('.ransack_dependent').hide();
226
+ }
227
+ }
228
+
229
+ function ShowFooterOptions() {
230
+ if (jQuery('#footerOn').is(':checked')) {
231
+ jQuery('.footer_dependent').show();
232
+ } else {
233
+ jQuery('.footer_dependent').hide();
234
+ }
235
+ }
236
+
237
+ function ShowExportOptions() {
238
+ if (jQuery('#showExport').is(':checked') && jQuery('#showSearch').is(':checked')) {
239
+ jQuery('.export_dependent').show();
240
+ } else {
241
+ jQuery('.export_dependent').hide();
242
+ }
243
+ }
244
+
245
+ function ShowHiddenOptions() {
246
+ if (jQuery('#showHidden').is(':checked')) {
247
+ if (jQuery('.fields_hidden_keys').length == 0) {
248
+ AddHiddenField();
249
+ }
250
+ jQuery('.hidden_fields_dependent').show();
251
+ } else {
252
+ jQuery('.hidden_fields_dependent').hide();
253
+ }
254
+ }
255
+
256
+ function ShowButtonOptions() {
257
+ if (jQuery('#rowButtonsOn').is(':checked')) {
258
+ jQuery('.button_dependent').show();
259
+ } else {
260
+ jQuery('.button_dependent').hide();
261
+ }
262
+ }
263
+ function ShowDrillDownOptions() {
264
+ if (jQuery('#drillDownsOn').is(':checked')) {
265
+ if (jQuery('.drill_downs_data_to_pass_from_view').length == 0) {
266
+ AddDrillDown();
267
+ }
268
+ jQuery('.drill_down_dependent').show();
269
+ } else {
270
+ jQuery('.drill_down_dependent').hide();
271
+ }
272
+ }
273
+
274
+ function ShowFunctionOptions() {
275
+ if (jQuery('#fieldFunctionOn').is(':checked')) {
276
+ if (jQuery('.fields_function_keys').length == 0) {
277
+ AddFieldFunction();
278
+ }
279
+ jQuery('.function_dependent').show();
280
+ } else {
281
+ jQuery('.function_dependent').hide();
282
+ }
283
+ }
284
+
285
+ function ShowCheckboxOptions() {
286
+ if (jQuery('#checkboxEnabled').is(':checked')) {
287
+ jQuery('.checkbox_dependent').show();
288
+ } else {
289
+ jQuery('.checkbox_dependent').hide();
290
+ }
291
+ }
292
+
293
+ function AddGroupingItem() {
294
+ jQuery('#grouping_items').html(jQuery('#grouping_items').html() + jQuery('#grouping_items_default').html());
295
+ }
296
+
297
+ function AddField() {
298
+ jQuery('#field_table').html(jQuery('#field_table').html() + jQuery('#default_field_template').html());
299
+ }
300
+
301
+ function AddGroupBy() {
302
+ jQuery('#grouping_table').html(jQuery('#grouping_table').html() + jQuery('#default_grouping_template').html());
303
+ }
304
+
305
+ function AddButton() {
306
+ jQuery('#button_table').html(jQuery('#button_table').html() + jQuery('#default_button_template').html());
307
+ }
308
+
309
+ function AddDrillDown() {
310
+ jQuery('#drill_down_table').html(jQuery('#drill_down_table').html() + jQuery('#default_drill_down_template').html());
311
+ }
312
+
313
+ function AddFooterButton() {
314
+ jQuery('#footer_table').html(jQuery('#footer_table').html() + jQuery('#default_footer_template').html());
315
+ }
316
+
317
+ function AddHiddenField() {
318
+ jQuery('#hidden_field_table').html(jQuery('#hidden_field_table').html() + jQuery('#default_hidden_field_template').html());
319
+ }
320
+
321
+ function AddFieldFunction() {
322
+ jQuery('#field_function_table').html(jQuery('#field_function_table').html() + jQuery('#default_field_function_template').html());
323
+ }
324
+
325
+ function RemoveField(obj) {
326
+ jQuery(obj).closest('tr').remove();
327
+ }
328
+
329
+ function ChangeViewModel(obj) {
330
+ jQuery(all_btns).addClass('disabled');
331
+ if(jQuery(obj).val() != '') {
332
+ jQuery.post(jQuery('#widget_list_administration').attr('action'), 'ajax=1&model=' + jQuery(obj).val(), function(response)
333
+ {
334
+ jQuery('#field_table').html(response['fields']);
335
+ jQuery('#hidden_field_table').html(response['fields_hidden']);
336
+ jQuery('#checkboxField').html(response['checked_fields']);
337
+ jQuery('#footer_table').html(response['footer_buttons']);
338
+ jQuery('#grouping_table').html(response['group_by']);
339
+ SaveChanges();
340
+ if (jQuery(obj).val() != '') {
341
+ jQuery(all_btns).removeClass('disabled');
342
+ }
343
+
344
+
345
+ jQuery(all_btns).removeClass('disabled');
346
+ jQuery('#title').val(jQuery(obj).val() + 's');
347
+ jQuery('#listDescription').val('Showing All ' + jQuery(obj).val() + 's');
348
+
349
+ if (jQuery(obj).val() != '' && jQuery('#noDataMessage').val() == '') {
350
+ jQuery('#noDataMessage').val('No ' + jQuery(obj).val() + 's Found Within Your Criteria');
351
+ }
352
+
353
+ if (jQuery(obj).val() != '' && jQuery('#showExport').is(':checked')) {
354
+ jQuery('#exportButtonTitle').val('Export All ' + jQuery(obj).val() + 's');
355
+ }
356
+ }, "json");
357
+ }
358
+ }
359
+
360
+ function SaveChanges() {
361
+ jQuery(all_btns).addClass('disabled');
362
+ jQuery.post(jQuery('#widget_list_administration').attr('action'), 'ajax=1&save=1&' + jQuery('#widget_list_administration').serialize(), function(response)
363
+ {
364
+ jQuery(all_btns).removeClass('disabled');
365
+ jQuery('#preview').show();
366
+ jQuery('#preview').attr('src',jQuery('#widget_list_administration').attr('action') + '?iframe=1');
367
+ jQuery('#preview').css('width','100%');
368
+ jQuery('#preview').css('height','500px');
369
+ }, "json");
370
+ }
371
+
372
+ function Submit() {
373
+ if (VerifyOK('')) {
374
+ jQuery('#widget_list_administration').submit();
375
+ }
376
+ }
377
+ </script>
378
+ <form action="<!--POST_URL-->" method="post" id="widget_list_administration">
379
+ <h1 style="font-size:24;"><!--TITLE--></h1><div class="horizontal_rule"></div>
380
+ <h3>Get started quickly by selecting the features you need for this list</h3>
381
+ <table>
382
+ <!--BUTTON SECTION-->
383
+ <tr id="sections">
384
+ <td colspan="3">
385
+ <h3><!--BUTTONS--></h3>
386
+ </td>
387
+ </tr>
388
+
389
+ <!--START SECTION-->
390
+ <tr class="start">
391
+ <td>
392
+ <h3>Internal Name:</h3>
393
+ </td>
394
+ <td>
395
+ <input type="text" name="name" value="<!--NAME_VALUE-->"/>
396
+ </td>
397
+ <td>
398
+ &#160;
399
+ </td>
400
+ </tr>
401
+ <tr class="start">
402
+ <td>
403
+ <h3>Model:</h3>
404
+ </td>
405
+ <td>
406
+ <select name="view" id="view" onchange="ChangeViewModel(this)">
407
+ <!--VIEW_OPTIONS-->
408
+ </select>
409
+ </td>
410
+ <td>
411
+ &#160;
412
+ </td>
413
+ </tr>
414
+ <tr class="start">
415
+ <td>
416
+ <h3>Title:</h3>
417
+ </td>
418
+ <td>
419
+ <input type="text" name="title" id="title" value="<!--TITLE_VALUE-->"/>
420
+ </td>
421
+ <td>
422
+ <!--TITLE_HELP_BUTTON-->
423
+ </td>
424
+ </tr>
425
+
426
+ <tr class="start">
427
+ <td>
428
+ <h3>Initial Description:</h3>
429
+ </td>
430
+ <td>
431
+ <input type="text" name="listDescription" id="listDescription" value="<!--DESC_VALUE-->"/>
432
+ </td>
433
+ <td>
434
+ <!--DESC_HELP_BUTTON-->
435
+ </td>
436
+ </tr>
437
+
438
+ <!--FIELDS SECTION-->
439
+ <tr class="fields" style="display:none;">
440
+ <td>
441
+ <h3>Allow Sorting?:</h3>
442
+ </td>
443
+ <td>
444
+ <input type="checkbox" name="useSort" id="useSort" value="1" <!--SORTING_CHECKED-->/>
445
+ </td>
446
+ <td>
447
+ &#160;
448
+ </td>
449
+ </tr>
450
+
451
+ <tr class="fields" style="display:none;">
452
+ <td>
453
+ <h3>No Data Message:</h3>
454
+ </td>
455
+ <td>
456
+ <input type="text" name="noDataMessage" id="noDataMessage" value="<!--NO_DATA_VALUE-->"/>
457
+ </td>
458
+ <td>
459
+ &#160;
460
+ </td>
461
+ </tr>
462
+
463
+ <tr class="fields" style="display:none;">
464
+ <td colspan="3">
465
+ <h1>Field Selection:</h1>
466
+ <script type="text/plain" id="default_field_template">
467
+ <!--FIELD_TEMPLATE-->
468
+ </script>
469
+ <table style="margin-left:150px;" id="field_table">
470
+ <!--ALL_FIELDS-->
471
+ </table>
472
+ <table style="margin-left:150px;">
473
+ <tr>
474
+ <td colspan="3">
475
+ <!--ADD_FIELD_BUTTON-->
476
+ </td>
477
+ </tr>
478
+ </table>
479
+ </td>
480
+ </tr>
481
+
482
+ <tr class="fields" style="display:none;">
483
+ <td style="width:300px;">
484
+ <h3>Hidden Fields?:</h3>
485
+ </td>
486
+ <td>
487
+ <input type="checkbox" name="showHidden" onchange="ShowHiddenOptions();" id="showHidden" value="1" <!--SHOW_HIDDEN_CHECKED-->/>
488
+ </td>
489
+ <td>
490
+ <!--HIDDEN_HELP_BUTTON-->
491
+ </td>
492
+ </tr>
493
+
494
+ <tr class="fields hidden_fields_dependent" style="display:none;">
495
+
496
+ <td colspan="3">
497
+ <h1 style="margin-left: 75px;">Hidden Field Selection:</h1>
498
+ <script type="text/plain" id="default_hidden_field_template">
499
+ <!--HIDDEN_FIELD_TEMPLATE-->
500
+ </script>
501
+ <table style="margin-left:150px;" id="hidden_field_table">
502
+ <!--ALL_HIDDEN_FIELDS-->
503
+ </table>
504
+ <table style="margin-left:150px;">
505
+ <tr>
506
+ <td colspan="3">
507
+ <!--ADD_HIDDEN_FIELD_BUTTON-->
508
+ </td>
509
+ </tr>
510
+ </table>
511
+ </td>
512
+ </tr>
513
+
514
+ <tr class="fields" style="display:none;">
515
+ <td style="width:300px;">
516
+ <h3>Field Function?:</h3>
517
+ </td>
518
+ <td>
519
+ <input type="checkbox" name="fieldFunctionOn" onchange="ShowFunctionOptions();" id="fieldFunctionOn" value="1" <!--SHOW_FUNCTION_CHECKED-->/>
520
+ </td>
521
+ <td>
522
+ <!--FUNC_HELP_BUTTON-->
523
+ </td>
524
+ </tr>
525
+
526
+ <tr class="fields function_dependent" style="display:none;">
527
+ <td colspan="3">
528
+ <h1 style="margin-left: 75px;">Field Functions To Wrap Around Fields:</h1>
529
+ <script type="text/plain" id="default_field_function_template">
530
+ <!--FIELD_FUNCTION_TEMPLATE-->
531
+ </script>
532
+ <table style="margin-left:150px;" id="field_function_table">
533
+ <!--ALL_FIELD_FUNCTIONS-->
534
+ </table>
535
+ <table style="margin-left:150px;">
536
+ <tr>
537
+ <td colspan="3">
538
+ <!--ADD_FIELD_FUNCTION_BUTTON-->
539
+ </td>
540
+ </tr>
541
+ </table>
542
+ </td>
543
+ </tr>
544
+
545
+ <!--ROWS SECTION-->
546
+ <tr class="rows" style="display:none;">
547
+ <td>
548
+ <h3>Row Limit</h3>
549
+ </td>
550
+ <td>
551
+ <input type="text" name="rowLimit" id="rowLimit" value="<!--ROW_LIMIT_VALUE-->"/>
552
+ </td>
553
+ <td>
554
+ <!--ROW_HELP_BUTTON-->
555
+ </td>
556
+ </tr>
557
+
558
+
559
+
560
+ <tr class="rows" style="display:none;">
561
+ <td style="width:300px;">
562
+ <h3>Row Buttons?:</h3>
563
+ </td>
564
+ <td>
565
+ <input type="checkbox" name="rowButtonsOn" onchange="ShowButtonOptions();" id="rowButtonsOn" value="1" <!--BUTTONS_ON_CHECKED-->/>
566
+ </td>
567
+ <td>
568
+ <!--BUTTON_HELP_BUTTON-->
569
+ </td>
570
+ </tr>
571
+
572
+ <tr class="rows button_dependent" style="display:none;">
573
+ <td colspan="3">
574
+ <table style="margin-left:75px;">
575
+ <tr>
576
+ <td>
577
+ <h3>Row Button Column Name</h3>
578
+ </td>
579
+ <td>
580
+ <input type="text" name="rowButtonsName" id="rowButtonsName" value="<!--BUTTON_NAME_VALUE-->"/>
581
+ </td>
582
+ <td>
583
+ &#160;
584
+ </td>
585
+ </tr>
586
+ </table>
587
+ </td>
588
+ </tr>
589
+
590
+ <tr class="rows button_dependent" style="display:none;">
591
+ <td colspan="3">
592
+ <h1 style="margin-left:75px;">Buttons:</h1>
593
+ <script type="text/plain" id="default_button_template">
594
+ <!--THE_BUTTON_TEMPLATE-->
595
+ </script>
596
+ <table style="margin-left:150px;" id="button_table">
597
+ <!--ALL_BUTTONS-->
598
+ </table>
599
+ <table style="margin-left:150px;">
600
+ <tr>
601
+ <td colspan="3">
602
+ <!--ADD_THE_BUTTON_BUTTON-->
603
+ </td>
604
+ </tr>
605
+ </table>
606
+ </td>
607
+ </tr>
608
+
609
+
610
+
611
+
612
+ <tr class="rows" style="display:none;">
613
+ <td style="width:300px;">
614
+ <h3>Drill Down Columns?:</h3>
615
+ </td>
616
+ <td>
617
+ <input type="checkbox" name="drillDownsOn" onchange="ShowDrillDownOptions();" id="drillDownsOn" value="1" <!--DRILL_DOWN_CHECKED-->/>
618
+ </td>
619
+ <td>
620
+ <!--DRILL_DOWN_HELP_BUTTON-->
621
+ </td>
622
+ </tr>
623
+
624
+ <tr class="rows drill_down_dependent" style="display:none;">
625
+ <td colspan="3">
626
+ <script type="text/plain" id="default_drill_down_template">
627
+ <!--THE_DRILL_DOWN_TEMPLATE-->
628
+ </script>
629
+ <table style="margin-left:150px;" id="drill_down_table">
630
+ <!--ALL_DRILL_DOWNS-->
631
+ </table>
632
+ <table style="margin-left:150px;">
633
+ <tr>
634
+ <td colspan="3">
635
+ <!--ADD_DRILL_DOWN_BUTTON-->
636
+ </td>
637
+ </tr>
638
+ </table>
639
+ </td>
640
+ </tr>
641
+
642
+
643
+ <!--SEARCH SECTION-->
644
+ <tr class="search" style="display:none;">
645
+ <td style="width:300px;">
646
+ <h3>Show Search?:</h3>
647
+ </td>
648
+ <td>
649
+ <input type="checkbox" name="showSearch" onchange="ShowSearchOptions(function() {ShowGroupingOptions();})" id="showSearch" value="1" <!--SHOW_SEARCH_CHECKED-->/>
650
+ </td>
651
+ <td>
652
+ &#160;
653
+ </td>
654
+ </tr>
655
+
656
+ <tr class="search search_dependent" style="display:none;">
657
+ <td style="width:300px;">
658
+ <h3>Show Export Button?:</h3>
659
+ </td>
660
+ <td>
661
+ <input type="checkbox" name="showExport" onchange="ShowExportOptions();" id="showExport" value="1" <!--SHOW_EXPORT_CHECKED-->/>
662
+ </td>
663
+ <td>
664
+ &#160;
665
+ </td>
666
+ </tr>
667
+
668
+ <tr class="search search_dependent export_dependent" style="display:none;">
669
+ <td colspan="3">
670
+ <table style="margin-left:75px;">
671
+ <tr>
672
+ <td>
673
+ <h3>Export Button Title:</h3>
674
+ </td>
675
+ <td>
676
+ <input type="text" name="exportButtonTitle" id="exportButtonTitle" value="<!--EXPORT_VALUE-->"/>
677
+ </td>
678
+ <td>
679
+ &#160;
680
+ </td>
681
+ </tr>
682
+ </table>
683
+ </td>
684
+ </tr>
685
+
686
+ <tr class="search search_dependent" style="display:none;">
687
+ <td>
688
+ <h3>Search Description/Title:</h3>
689
+ </td>
690
+ <td>
691
+ <input type="text" name="searchTitle" id="searchTitle" value="<!--SEARCH_TITLE-->"/>
692
+ </td>
693
+ <td>
694
+ <!--SEARCH_TITLE_BUTTON-->
695
+ </td>
696
+ </tr>
697
+
698
+ <tr class="search search_dependent" style="display:none;">
699
+ <td>
700
+ <h3>Use Ransack Advanced Search?:</h3>
701
+ </td>
702
+ <td>
703
+ <input type="checkbox" name="useRansack" onchange="ShowRansackOptions()" id="useRansack" value="1" <!--USE_RANSACK-->/>
704
+ </td>
705
+ <td>
706
+ <!--RANSACK_HELP_BUTTON-->
707
+ </td>
708
+ </tr>
709
+
710
+ <tr class="search search_dependent ransack_dependent" style="display:none;">
711
+ <td colspan="3">
712
+ <table style="margin-left:75px;">
713
+ <tr>
714
+ <td>
715
+ <h3>Customized Ransack Form?:</h3>
716
+ </td>
717
+ <td>
718
+ <input type="checkbox" name="ransackAdvancedForm" id="ransackAdvancedForm" value="1" <!--USE_RANSACK_ADV-->/>
719
+ </td>
720
+ <td>
721
+ <!--ADV_RANSACK_HELP_BUTTON-->
722
+ </td>
723
+ </tr>
724
+ </table>
725
+ </td>
726
+ </tr>
727
+
728
+ <tr class="search search_dependent" style="display:none;">
729
+ <td>
730
+ <h3>Use Grouping?:</h3>
731
+ </td>
732
+ <td>
733
+ <input type="checkbox" name="useGrouping" onchange="ShowGroupingOptions()" id="useGrouping" value="1" <!--USE_GROUPING-->/>
734
+ </td>
735
+ <td>
736
+ <!--GROUP_BY_HELP_BUTTON-->
737
+ </td>
738
+ </tr>
739
+
740
+ <tr class="search search_dependent grouping_dependent" style="display:none;">
741
+ <td colspan="3">
742
+ <h1 style="margin-left: 75px;">Custom Items To Group By:</h1>
743
+ <table>
744
+ <tr>
745
+ <td>
746
+ <script type="text/plain" id="default_grouping_template">
747
+ <!--DEFAULT_GROUPING-->
748
+ </script>
749
+ <table style="margin-left:150px;" id="grouping_table">
750
+ <!--GROUPING_ITEMS-->
751
+ </table>
752
+ <table style="margin-left:150px;">
753
+ <tr>
754
+ <td colspan="3">
755
+ <!--ADD_GROUP_BY_BUTTON-->
756
+ </td>
757
+ </tr>
758
+ </table>
759
+ </td>
760
+ </tr>
761
+ </table>
762
+
763
+ <table style="margin-left:150px;">
764
+ <tr>
765
+ <td colspan="3">
766
+ <!--ADD_GROUPING_BUTTON-->
767
+ </td>
768
+ </tr>
769
+ </table>
770
+ </td>
771
+ </tr>
772
+
773
+ <!--FOOTER SECTION-->
774
+ <tr class="footer" style="display:none;">
775
+ <td style="width:300px;">
776
+ <h3>Build Customized Footer?:</h3>
777
+ </td>
778
+ <td>
779
+ <input type="checkbox" name="footerOn" onchange="ShowFooterOptions();" id="footerOn" value="1" <!--FOOTER_CHECKED-->/>
780
+ </td>
781
+ <td>
782
+
783
+ </td>
784
+ </tr>
785
+ <tr class="footer footer_dependent" style="display:none;">
786
+ <td colspan="3">
787
+ <h1 style="margin-left:75px;">Footer Buttons:</h1>
788
+ <script type="text/plain" id="default_footer_template">
789
+ <!--FOOTER_BUTTON_TEMPLATE-->
790
+ </script>
791
+ <table style="margin-left:150px;" id="footer_table">
792
+ <!--ALL_FOOTER_BUTTONS-->
793
+ </table>
794
+ <table style="margin-left:150px;">
795
+ <tr>
796
+ <td colspan="3">
797
+ <!--ADD_THE_FOOTER_BUTTON-->
798
+ </td>
799
+ </tr>
800
+ </table>
801
+ </td>
802
+ </tr>
803
+
804
+ <!--MISC & SUBMIT SECTION-->
805
+
806
+ <tr class="misc_submit" style="display:none;">
807
+ <td style="width:300px;">
808
+ <h3>Add Row Checkbox?:</h3>
809
+ </td>
810
+ <td>
811
+ <input type="checkbox" name="checkboxEnabled" onchange="ShowCheckboxOptions();" id="checkboxEnabled" value="1" <!--SHOW_CHECKBOX_CHECKED-->/>
812
+ </td>
813
+ <td>
814
+ &#160;
815
+ </td>
816
+ </tr>
817
+
818
+ <tr class="misc_submit checkbox_dependent" style="display:none;">
819
+ <td colspan="3">
820
+ <table style="margin-left:75px;">
821
+ <tr>
822
+ <td>
823
+ <h3>Checkbox Value:</h3>
824
+ </td>
825
+ <td>
826
+ <select name="checkboxField" id="checkboxField">
827
+ <!--CHECKBOX_SELECTED_FIELDS-->
828
+ </select>
829
+ </td>
830
+ <td>
831
+ <!--CHECK_HELP_BUTTON-->
832
+ </td>
833
+ </tr>
834
+ </table>
835
+ </td>
836
+ </tr>
837
+ <tr class="misc_submit" style="display:none;" >
838
+ <td>
839
+ <h3>Submit:</h3>
840
+ </td>
841
+ <td>
842
+ <!--SUBMIT_WIDGET_LIST-->
843
+ </td>
844
+ <td>
845
+ &#160;
846
+ </td>
847
+ </tr>
848
+
849
+ <tr>
850
+ <td colspan="3">
851
+ <iframe src="" id="preview"></iframe>
852
+ </td>
853
+ </tr>
854
+
855
+ </table>
856
+ </form>