widget_list 1.3.5 → 1.3.6
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.
- checksums.yaml +15 -0
- data/README.md +24 -4
- data/app/views/widget_list/administration/_output.html.erb +1 -1
- data/app/views/widget_list/list_partials/_outer_shell.html.erb +1 -1
- data/app/views/widget_list/list_partials/_pagination_next_active.html.erb +1 -1
- data/app/views/widget_list/list_partials/_pagination_next_disabled.html.erb +1 -1
- data/app/views/widget_list/list_partials/_pagination_previous_active.html.erb +1 -1
- data/app/views/widget_list/list_partials/_pagination_previous_disabled.html.erb +1 -1
- data/lib/widget_list.rb +21 -17
- data/lib/widget_list/tpl.rb +1 -1
- data/lib/widget_list/utils.rb +3 -1
- data/lib/widget_list/version.rb +1 -1
- data/lib/widget_list/widgets.rb +11 -4
- data/vendor/assets/javascripts/widget_list.js +4 -1
- data/vendor/assets/stylesheets/widget_list.css +47 -28
- data/widget_list.gemspec +3 -1
- metadata +52 -66
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODA4YTI4ZTkxNzFjZTdkZDJhNmRiNTBkYmFhMjk1MTY2ZWViZDI0NQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
M2NkOTVmNzJlNGNmMzkwNDQ4MGYwMmNkMThhZDM1YTNhYjY2ZWYyMQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YjcwNDliYWRiNTYyNTNlOWFlOTIyZGIxNWMzZDMzNDY3ZDljOWNjNjE1ZWI2
|
10
|
+
ZGM5M2U4NzBjNzk2YjBkZTRkM2ExNDFiZGZhZDViNThiNDRmMDdjMTg3NzUx
|
11
|
+
NzgwYTdkNjFiZGY5YjRmMzU0N2JkYzk3MzdjZjk5ZWZjYjYwYjk=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MTI3NDM5YmYzOTgyOTZkYzk5YTFhM2NkMTRiYjg3MWRmODIxNjBjYWNkMzUz
|
14
|
+
OGIxZGQyMjlmZTY5OWNhZGI0Nzk0ZjEyZDIzYjU4NTA4Y2E1MTAxNjllODMy
|
15
|
+
NDI3YWJlOTY0Y2VmMTYwOGM3NjAwYzE5M2MyNWQ2Y2Q4MzA1MGQ=
|
data/README.md
CHANGED
@@ -9,6 +9,17 @@
|
|
9
9
|
https://www.youtube.com/watch?v=A6mZa8Ge2Rk
|
10
10
|
|
11
11
|
|
12
|
+
****
|
13
|
+
|
14
|
+
## Slides and video from Barcamp 2013
|
15
|
+
|
16
|
+
****
|
17
|
+
|
18
|
+
http://youtu.be/K4pe4ESIbc0
|
19
|
+
|
20
|
+
https://docs.google.com/presentation/d/1gnybf8f7afRM8w5UjTMoV82-0S5HftPewn4pAuIybk8/edit?usp=sharing
|
21
|
+
|
22
|
+
|
12
23
|
****
|
13
24
|
|
14
25
|
## Introduction
|
@@ -166,7 +177,7 @@ widget_list features and configurations primarily work by a single large hash pa
|
|
166
177
|
|
167
178
|
`listDescription` - This adds a grey header box. It is useful for describing the main query `default=''`
|
168
179
|
|
169
|
-
`pageId` - Base path for requests (typically you never need to change this) `default=$_SERVER['PATH_INFO']`
|
180
|
+
`pageId` - Base path for requests (typically you never need to change this) `default=$_SERVER['SCRIPT_NAME'] + $_SERVER['PATH_INFO']`
|
170
181
|
|
171
182
|
`view` - A sub-select query to your database (ALWAYS ALIASED) `default=''`
|
172
183
|
|
@@ -356,11 +367,20 @@ Style a row based on the value of the column.
|
|
356
367
|
*= require widget_list
|
357
368
|
*= require widgets
|
358
369
|
```
|
359
|
-
|
370
|
+
|
371
|
+
Change application.js to:
|
372
|
+
|
360
373
|
```ruby
|
361
374
|
//= require widget_list
|
362
375
|
```
|
363
|
-
|
376
|
+
|
377
|
+
Compile the new assets:
|
378
|
+
|
379
|
+
```
|
380
|
+
rake assets:precompile
|
381
|
+
```
|
382
|
+
|
383
|
+
### #2 - Run `bundle exec rails s` to have widget_list create config/widget-list.yml which will point to your active record database.yml
|
364
384
|
|
365
385
|
Configure your connection settings for your primary or secondary widget_list connections.
|
366
386
|
|
@@ -734,4 +754,4 @@ See the License for the specific language governing permissions and
|
|
734
754
|
limitations under the License.
|
735
755
|
|
736
756
|
[1]: https://github.com/davidrenne/widget_list_example/blob/master/app/helpers/widget_list_helper.rb
|
737
|
-
[2]: https://github.com/davidrenne/widget_list_theme_blue_sky_basin
|
757
|
+
[2]: https://github.com/davidrenne/widget_list_theme_blue_sky_basin
|
@@ -498,7 +498,7 @@
|
|
498
498
|
if(jQuery(obj).val() != '') {
|
499
499
|
jQuery.post(jQuery('#widget_list_administration').attr('action'), 'ajax=1&model=' + jQuery(obj).val(), function(response)
|
500
500
|
{
|
501
|
-
jQuery('#name').val(jQuery(obj).val().toLowerCase() + '_listing');
|
501
|
+
jQuery('#name,#desiredAction').val(jQuery(obj).val().toLowerCase() + '_listing');
|
502
502
|
jQuery('#field_table').html(response['fields']);
|
503
503
|
jQuery('#hidden_field_table').html(response['fields_hidden']);
|
504
504
|
jQuery('#checkboxField').html(response['checked_fields']);
|
@@ -1 +1 @@
|
|
1
|
-
<li><span id="<!--LIST_NAME-->_next" onclick="<!--FUNCTION-->('<!--NEXT_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->"
|
1
|
+
<li><span id="<!--LIST_NAME-->_next" onclick="<!--FUNCTION-->('<!--NEXT_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" class="next-active"> </span></li>
|
@@ -1 +1 @@
|
|
1
|
-
<li><span id="<!--LIST_NAME-->_next"
|
1
|
+
<li><span id="<!--LIST_NAME-->_next" class="next-disabled"> </span></li>
|
@@ -1 +1 @@
|
|
1
|
-
<li><span id="<!--LIST_NAME-->_previous" onclick="<!--FUNCTION-->('<!--PREVIOUS_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->"
|
1
|
+
<li><span id="<!--LIST_NAME-->_previous" onclick="<!--FUNCTION-->('<!--PREVIOUS_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" class="previous-active"> </span></li>
|
@@ -1 +1 @@
|
|
1
|
-
<li><span id="<!--LIST_NAME-->_previous"
|
1
|
+
<li><span id="<!--LIST_NAME-->_previous" class="previous-disabled"> </span></li>
|
data/lib/widget_list.rb
CHANGED
@@ -99,7 +99,7 @@ module WidgetList
|
|
99
99
|
#
|
100
100
|
# BASE
|
101
101
|
#
|
102
|
-
@fill['<!--POST_URL-->'] = $_SERVER['PATH_INFO']
|
102
|
+
@fill['<!--POST_URL-->'] = $_SERVER['SCRIPT_NAME'] + $_SERVER['PATH_INFO']
|
103
103
|
@fill['<!--BUTTONS-->'] = WidgetList::Widgets::widget_button('Step One - Start ->', {'id' => 'start' , 'onclick' => "ShowStart();" , 'innerClass' => "primary" } ) +
|
104
104
|
WidgetList::Widgets::widget_button('Step Two - Fields ->', {'id' => 'fields' , 'onclick' => "ShowFields();" , 'innerClass' => "primary disabled" } ) +
|
105
105
|
WidgetList::Widgets::widget_button('Step Three - Rows ->', {'id' => 'rows' , 'onclick' => "ShowRows();" , 'innerClass' => "primary disabled" } ) +
|
@@ -1042,11 +1042,11 @@ module WidgetList
|
|
1042
1042
|
controller = ($_REQUEST.key?('desiredController') ? $_REQUEST['desiredController'] : $_REQUEST['controller'] )
|
1043
1043
|
|
1044
1044
|
if $_REQUEST.key?('ajax')
|
1045
|
-
model = model_name.constantize
|
1046
|
-
model.
|
1047
|
-
fields[field] = field.gsub(/_/,' _').camelize
|
1048
|
-
all_fields[field] = field.gsub(/_/,' _').camelize
|
1049
|
-
fields_function[field] = 'CNT(' + field + ') or NVL(' + field + ') or TO_DATE(' + field + ') etc...'
|
1045
|
+
model = model_name.constantize
|
1046
|
+
model.columns.each { |field|
|
1047
|
+
fields[field.name] = field.name.gsub(/_/,' _').camelize
|
1048
|
+
all_fields[field.name] = field.name.gsub(/_/,' _').camelize
|
1049
|
+
fields_function[field.name] = 'CNT(' + field.name + ') or NVL(' + field.name + ') or TO_DATE(' + field.name + ') etc...'
|
1050
1050
|
}
|
1051
1051
|
footer_buttons['Add New ' + model_name] = {}
|
1052
1052
|
footer_buttons['Add New ' + model_name]['url'] = '/' + controller + '/add/'
|
@@ -1920,7 +1920,7 @@ module WidgetList
|
|
1920
1920
|
'database' => 'primary', #
|
1921
1921
|
'title' => '',
|
1922
1922
|
'listDescription' => '',
|
1923
|
-
'pageId' => $_SERVER['PATH_INFO'],
|
1923
|
+
'pageId' => $_SERVER['SCRIPT_NAME'] + $_SERVER['PATH_INFO'],
|
1924
1924
|
'view' => '',
|
1925
1925
|
'data' => {},
|
1926
1926
|
'bindVars' => [],
|
@@ -2034,7 +2034,7 @@ module WidgetList
|
|
2034
2034
|
#
|
2035
2035
|
# Font
|
2036
2036
|
#
|
2037
|
-
'fontFamily' => '"Times New Roman", Times, serif',
|
2037
|
+
'fontFamily' => false, #'"Times New Roman", Times, serif',
|
2038
2038
|
'headerFooterFontSize' => '14px',
|
2039
2039
|
'dataFontSize' => '14px',
|
2040
2040
|
'titleFontSize' => '24px',
|
@@ -2434,7 +2434,9 @@ module WidgetList
|
|
2434
2434
|
@templateFill['<!--SHADOW_SPREAD-->'] = get_shadow_spread_value()
|
2435
2435
|
@templateFill['<!--SHADOW_COLOR-->'] = @items['shadowColor']
|
2436
2436
|
@templateFill['<!--BORDER_HEAD_FOOT_TOP-->'] = @items['borderHeadFoot'] ? 'border-top:' + @items['headFootBorderStyle'] + ';' : ''
|
2437
|
-
|
2437
|
+
if @items['fontFamily']
|
2438
|
+
@templateFill['<!--FONT-->'] = 'font-family:' + @items['fontFamily'] + ';'
|
2439
|
+
end
|
2438
2440
|
@templateFill['<!--FONT_HEADER-->'] = @items['headerFooterFontSize']
|
2439
2441
|
|
2440
2442
|
|
@@ -2523,11 +2525,11 @@ module WidgetList
|
|
2523
2525
|
list_search['name'] = 'list_search_name_' + @items['name']
|
2524
2526
|
list_search['class'] = 'inputOuter widget-search-outer ' + @items['name'].downcase + '-search'
|
2525
2527
|
list_search['search_ahead'] = {
|
2526
|
-
'url'
|
2527
|
-
'skip_queue'
|
2528
|
-
'target'
|
2529
|
-
'search_form'
|
2530
|
-
'onkeyup'
|
2528
|
+
'url' => searchUrl,
|
2529
|
+
'skip_queue' => false,
|
2530
|
+
'target' => @items['name'],
|
2531
|
+
'search_form' => @items['listSearchForm'],
|
2532
|
+
'onkeyup' => (! @items['searchOnkeyup'].empty?) ? WidgetList::Utils::fill({'<!--URL-->'=>searchUrl, '<!--TARGET-->' => @items['name'], '<!--FUNCTION_ALL-->' => @items['ajaxFunctionAll']}, @items['searchOnkeyup'] + '<!--FUNCTION_ALL-->') : ''
|
2531
2533
|
}
|
2532
2534
|
|
2533
2535
|
fillRansack = {}
|
@@ -3483,8 +3485,10 @@ module WidgetList
|
|
3483
3485
|
function = @items['linkFunction']
|
3484
3486
|
parameters = ''
|
3485
3487
|
renderButton = true
|
3486
|
-
|
3487
|
-
|
3488
|
+
page = ''
|
3489
|
+
if buttonAttribs.key?('page')
|
3490
|
+
page = buttonAttribs['page'].dup
|
3491
|
+
end
|
3488
3492
|
if buttonAttribs.key?('tags')
|
3489
3493
|
tags = buttonAttribs['tags'].dup
|
3490
3494
|
all_wildcard = false
|
@@ -3508,7 +3512,7 @@ module WidgetList
|
|
3508
3512
|
#
|
3509
3513
|
# Will build ?tagname=XXXX based on your hash passed to your page
|
3510
3514
|
#
|
3511
|
-
buttonAttribs.deep_merge!({ 'args' => { tagName => @results[tag.upcase][j] } })
|
3515
|
+
buttonAttribs.deep_merge!({ 'args' => { tagName => @results[tag.upcase][j] } })
|
3512
3516
|
end
|
3513
3517
|
else
|
3514
3518
|
|
data/lib/widget_list/tpl.rb
CHANGED
@@ -146,7 +146,7 @@ $G_TEMPLATE.deep_merge!({'widget' =>
|
|
146
146
|
{'default' =>
|
147
147
|
'
|
148
148
|
<!--FRM_SUBMIT-->
|
149
|
-
<a class="<!--BUTTON_CLASS-->" style="<!--BUTTON_STYLE-->" onclick="<!--BUTTON_ONCLICK-->" onmouseover="<!--MOUSEOVER-->" onmouseout="<!--MOUSEOUT-->" name="<!--NAME-->" id="<!--ID-->"
|
149
|
+
<a class="<!--BUTTON_CLASS-->" style="<!--BUTTON_STYLE-->" onclick="<!--BUTTON_ONCLICK-->" onmouseover="<!--MOUSEOVER-->" onmouseout="<!--MOUSEOUT-->" name="<!--NAME-->" id="<!--ID-->" <!--ATTRS-->>
|
150
150
|
<!--BUTTON_LABEL-->
|
151
151
|
</a>'
|
152
152
|
}
|
data/lib/widget_list/utils.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
1
3
|
module WidgetList
|
2
4
|
|
3
5
|
class Utils
|
@@ -26,7 +28,7 @@ module WidgetList
|
|
26
28
|
if v.class.name == 'Hash'
|
27
29
|
q << {k => v}.to_params
|
28
30
|
else
|
29
|
-
q << k.to_s + '=' +
|
31
|
+
q << k.to_s + '=' + CGI.escape(URI.decode(v.to_s))
|
30
32
|
end
|
31
33
|
}
|
32
34
|
q.join('&')
|
data/lib/widget_list/version.rb
CHANGED
data/lib/widget_list/widgets.rb
CHANGED
@@ -107,7 +107,7 @@ module WidgetList
|
|
107
107
|
#
|
108
108
|
# Select box attributes
|
109
109
|
#
|
110
|
-
items['attribs'] =
|
110
|
+
items['attribs'] = []
|
111
111
|
items['size'] = 1
|
112
112
|
items['disabled'] = false
|
113
113
|
items['noDataMsg'] = 'No Data'
|
@@ -616,6 +616,7 @@ module WidgetList
|
|
616
616
|
'name' => '',
|
617
617
|
'id' => '',
|
618
618
|
'url' => '',
|
619
|
+
'attribs' => [],
|
619
620
|
'link' => '', #alias of url
|
620
621
|
'href' => '', #alias of url
|
621
622
|
'page' => '',
|
@@ -624,7 +625,7 @@ module WidgetList
|
|
624
625
|
'frmSubmit' => '', #this option adds hidden frmbutton
|
625
626
|
'submit' => '',
|
626
627
|
'args' => {},
|
627
|
-
'class' => 'btn', #Always stays the same
|
628
|
+
'class' => 'wl-btn', #Always stays the same
|
628
629
|
'innerClass' => 'info', #.primary(blue) .info(light-blue) .success(green) .danger(red) .disabled(light grey) .default(grey)
|
629
630
|
'passive' => false,
|
630
631
|
'function' => 'ButtonLinkPost',
|
@@ -653,7 +654,7 @@ module WidgetList
|
|
653
654
|
end
|
654
655
|
|
655
656
|
if items['url'].empty? && !items['page'].empty?
|
656
|
-
items['url'] =
|
657
|
+
items['url'] = items['page']
|
657
658
|
end
|
658
659
|
|
659
660
|
if !items['href'].empty? && items['onclick'].empty?
|
@@ -690,6 +691,7 @@ module WidgetList
|
|
690
691
|
'<!--BUTTON_ONCLICK-->' => items['onclick'].gsub(/\"/,"'"),
|
691
692
|
'<!--BUTTON_LABEL-->' => items['label'],
|
692
693
|
'<!--NAME-->' => items['name'],
|
694
|
+
'<!--ATTRS-->' => items['attribs'].join(' '),
|
693
695
|
'<!--ID-->' => items['id'],
|
694
696
|
'<!--BUTTON_STYLE-->' => items['style'],
|
695
697
|
'<!--BUTTON_CLASS_INNER-->' => items['innerClass'],
|
@@ -754,4 +756,9 @@ module WidgetList
|
|
754
756
|
output_final
|
755
757
|
end
|
756
758
|
end
|
757
|
-
end
|
759
|
+
end
|
760
|
+
|
761
|
+
# require 'widget_list/utils'
|
762
|
+
# require 'widget_list/hash'
|
763
|
+
# require 'widget_list/tpl'
|
764
|
+
# puts WidgetList::Widgets.test_all
|
@@ -12,12 +12,10 @@
|
|
12
12
|
height:3px;
|
13
13
|
}
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
border: 1px solid #CCCCCC;
|
15
|
+
input.info-input:focus {
|
16
|
+
outline-width: 0;
|
18
17
|
}
|
19
18
|
|
20
|
-
|
21
19
|
table.widget_list tbody tr td span
|
22
20
|
{
|
23
21
|
width:auto;
|
@@ -392,29 +390,29 @@ table.searchBox td.label
|
|
392
390
|
padding:0px;
|
393
391
|
}
|
394
392
|
|
395
|
-
.btn.danger,
|
393
|
+
.wl-btn.danger,
|
396
394
|
.alert-message.danger,
|
397
|
-
.btn.danger:hover,
|
395
|
+
.wl-btn.danger:hover,
|
398
396
|
.alert-message.danger:hover,
|
399
|
-
.btn.error,
|
397
|
+
.wl-btn.error,
|
400
398
|
.alert-message.error,
|
401
|
-
.btn.error:hover,
|
399
|
+
.wl-btn.error:hover,
|
402
400
|
.alert-message.error:hover,
|
403
|
-
.btn.success,
|
401
|
+
.wl-btn.success,
|
404
402
|
.alert-message.success,
|
405
|
-
.btn.success:hover,
|
403
|
+
.wl-btn.success:hover,
|
406
404
|
.alert-message.success:hover,
|
407
|
-
.btn.info,
|
405
|
+
.wl-btn.info,
|
408
406
|
.alert-message.info,
|
409
|
-
.btn.info:hover,
|
407
|
+
.wl-btn.info:hover,
|
410
408
|
.alert-message.info:hover
|
411
409
|
{
|
412
410
|
color: #ffffff;
|
413
411
|
}
|
414
412
|
|
415
|
-
.btn.danger,
|
413
|
+
.wl-btn.danger,
|
416
414
|
.alert-message.danger,
|
417
|
-
.btn.error,
|
415
|
+
.wl-btn.error,
|
418
416
|
.alert-message.error
|
419
417
|
{
|
420
418
|
background-color: #c43c35;
|
@@ -432,7 +430,7 @@ table.searchBox td.label
|
|
432
430
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
433
431
|
}
|
434
432
|
|
435
|
-
.btn.success, .alert-message.success
|
433
|
+
.wl-btn.success, .alert-message.success
|
436
434
|
{
|
437
435
|
background-color: #91b32b;
|
438
436
|
background-repeat: repeat-x;
|
@@ -450,7 +448,7 @@ table.searchBox td.label
|
|
450
448
|
}
|
451
449
|
|
452
450
|
|
453
|
-
.btn.info, .alert-message.info
|
451
|
+
.wl-btn.info, .alert-message.info
|
454
452
|
{
|
455
453
|
background-color: #339bb9;
|
456
454
|
background-repeat: repeat-x;
|
@@ -467,7 +465,7 @@ table.searchBox td.label
|
|
467
465
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
468
466
|
}
|
469
467
|
|
470
|
-
a.btn
|
468
|
+
a.wl-btn
|
471
469
|
{
|
472
470
|
cursor: pointer;
|
473
471
|
display: inline-block;
|
@@ -502,7 +500,7 @@ a.btn
|
|
502
500
|
}
|
503
501
|
|
504
502
|
|
505
|
-
.btn:hover
|
503
|
+
.wl-btn:hover
|
506
504
|
{
|
507
505
|
background-position: 0 -15px;
|
508
506
|
color: #333;
|
@@ -510,7 +508,7 @@ a.btn
|
|
510
508
|
}
|
511
509
|
|
512
510
|
|
513
|
-
.btn.primary
|
511
|
+
.wl-btn.primary
|
514
512
|
{
|
515
513
|
color: #fff;
|
516
514
|
background-color: #0064cd;
|
@@ -528,14 +526,14 @@ a.btn
|
|
528
526
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
529
527
|
}
|
530
528
|
|
531
|
-
.btn:active
|
529
|
+
.wl-btn:active
|
532
530
|
{
|
533
531
|
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
534
532
|
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
535
533
|
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
536
534
|
}
|
537
535
|
|
538
|
-
.btn.disabled
|
536
|
+
.wl-btn.disabled
|
539
537
|
{
|
540
538
|
cursor: default;
|
541
539
|
background-image: none;
|
@@ -550,7 +548,7 @@ a.btn
|
|
550
548
|
}
|
551
549
|
|
552
550
|
|
553
|
-
.btn[disabled]
|
551
|
+
.wl-btn[disabled]
|
554
552
|
{
|
555
553
|
cursor: default;
|
556
554
|
background-image: none;
|
@@ -564,7 +562,7 @@ a.btn
|
|
564
562
|
box-shadow: none;
|
565
563
|
}
|
566
564
|
|
567
|
-
.btn.large
|
565
|
+
.wl-btn.large
|
568
566
|
{
|
569
567
|
font-size: 16px;
|
570
568
|
line-height: normal;
|
@@ -575,14 +573,14 @@ a.btn
|
|
575
573
|
}
|
576
574
|
|
577
575
|
|
578
|
-
.btn.small
|
576
|
+
.wl-btn.small
|
579
577
|
{
|
580
578
|
padding: 4px 9px 4px;
|
581
579
|
font-size: 11px;
|
582
580
|
font-weight: normal !important;
|
583
581
|
}
|
584
582
|
|
585
|
-
button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner
|
583
|
+
button.wl-btn::-moz-focus-inner, input[type=submit].wl-btn::-moz-focus-inner
|
586
584
|
{
|
587
585
|
padding: 0;
|
588
586
|
border: 0;
|
@@ -606,7 +604,7 @@ div.inputOuter
|
|
606
604
|
|
607
605
|
|
608
606
|
div.inputOuter .inputInner {position:relative;background: transparent url('../assets/images/input_text_left.png') no-repeat scroll top left;border: none;height: 27px;line-height: 27px;padding-left: 6px;width: auto;padding-right: 7px;}
|
609
|
-
div.inputOuter .inputInner input {
|
607
|
+
div.inputOuter .inputInner input { border:none;background:transparent;width:100%}
|
610
608
|
div.inputOuter .inputInner input.search-ahead {width:97%}
|
611
609
|
|
612
610
|
/**
|
@@ -676,8 +674,6 @@ div.inputOuter .inputInner input.search-ahead-advanced {width: 90% !important;}
|
|
676
674
|
float:left;
|
677
675
|
text-align:left;
|
678
676
|
width:100%;
|
679
|
-
margin:0px;
|
680
|
-
padding:0px;
|
681
677
|
}
|
682
678
|
|
683
679
|
.pagination div
|
@@ -811,3 +807,26 @@ div#advanced-search-container ul.advanced-search-container-inline input.info-inp
|
|
811
807
|
*+html ul#pagination li div {display:inline}
|
812
808
|
*+html ul#pagination li div.select-outer {background: url("../assets/images/input_text_right.png") no-repeat scroll right 2px transparent;}
|
813
809
|
*+html ul#pagination li div.select-outer div.select-inner select {margin-top: -4px !important;}
|
810
|
+
|
811
|
+
|
812
|
+
.next-active {
|
813
|
+
cursor:pointer;
|
814
|
+
background: transparent url("../assets/images/page-next.gif") no-repeat;
|
815
|
+
}
|
816
|
+
|
817
|
+
.next-disabled {
|
818
|
+
opacity:0.4;
|
819
|
+
filter:alpha(opacity=40);
|
820
|
+
background: transparent url("../assets/images/page-next.gif") no-repeat;
|
821
|
+
}
|
822
|
+
|
823
|
+
.previous-active {
|
824
|
+
cursor:pointer;
|
825
|
+
background: transparent url("../assets/images/page-back.gif") no-repeat;
|
826
|
+
}
|
827
|
+
|
828
|
+
.previous-disabled {
|
829
|
+
opacity:0.4;
|
830
|
+
filter:alpha(opacity=40);
|
831
|
+
background: transparent url("../assets/images/page-back.gif") no-repeat;
|
832
|
+
}
|
data/widget_list.gemspec
CHANGED
@@ -6,12 +6,14 @@ require 'widget_list/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
|
8
8
|
gem.name = "widget_list"
|
9
|
+
|
10
|
+
gem.licenses = ['MIT']
|
9
11
|
|
10
12
|
gem.version = WidgetList::VERSION
|
11
13
|
|
12
14
|
gem.authors = ["David Renne"]
|
13
15
|
|
14
|
-
gem.email = ["
|
16
|
+
gem.email = ["widgetlist@davidrenne.com"]
|
15
17
|
|
16
18
|
gem.description = %q{An Advanced and flexible ajax data grid. Supports several databases where data is pulled from either using Sequel ORM (optional even though is a dependency), Active Record Models or Raw SQL.}
|
17
19
|
|
metadata
CHANGED
@@ -1,60 +1,52 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: widget_list
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 1
|
7
|
-
- 3
|
8
|
-
- 5
|
9
|
-
version: 1.3.5
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.6
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- David Renne
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-10-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: sequel
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 3
|
29
|
-
- 42
|
30
|
-
- 0
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
31
19
|
version: 3.42.0
|
32
20
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: ransack
|
36
21
|
prerelease: false
|
37
|
-
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.42.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ransack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
45
33
|
version: 0.7.2
|
46
34
|
type: :runtime
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
-
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.7.2
|
41
|
+
description: An Advanced and flexible ajax data grid. Supports several databases where
|
42
|
+
data is pulled from either using Sequel ORM (optional even though is a dependency),
|
43
|
+
Active Record Models or Raw SQL.
|
44
|
+
email:
|
45
|
+
- widgetlist@davidrenne.com
|
51
46
|
executables: []
|
52
|
-
|
53
47
|
extensions: []
|
54
|
-
|
55
48
|
extra_rdoc_files: []
|
56
|
-
|
57
|
-
files:
|
49
|
+
files:
|
58
50
|
- .gitignore
|
59
51
|
- .idea/.name
|
60
52
|
- .idea/encodings.xml
|
@@ -326,35 +318,29 @@ files:
|
|
326
318
|
- vendor/assets/stylesheets/widget_list.css
|
327
319
|
- vendor/assets/stylesheets/widgets.css
|
328
320
|
- widget_list.gemspec
|
329
|
-
has_rdoc: true
|
330
321
|
homepage: https://github.com/davidrenne/widget_list
|
331
|
-
licenses:
|
332
|
-
|
322
|
+
licenses:
|
323
|
+
- MIT
|
324
|
+
metadata: {}
|
333
325
|
post_install_message:
|
334
326
|
rdoc_options: []
|
335
|
-
|
336
|
-
require_paths:
|
327
|
+
require_paths:
|
337
328
|
- lib
|
338
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
339
|
-
requirements:
|
340
|
-
- -
|
341
|
-
- !ruby/object:Gem::Version
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
- !ruby/object:Gem::Version
|
349
|
-
segments:
|
350
|
-
- 0
|
351
|
-
version: "0"
|
329
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
330
|
+
requirements:
|
331
|
+
- - ! '>='
|
332
|
+
- !ruby/object:Gem::Version
|
333
|
+
version: '0'
|
334
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
335
|
+
requirements:
|
336
|
+
- - ! '>='
|
337
|
+
- !ruby/object:Gem::Version
|
338
|
+
version: '0'
|
352
339
|
requirements: []
|
353
|
-
|
354
340
|
rubyforge_project:
|
355
|
-
rubygems_version:
|
341
|
+
rubygems_version: 2.2.2
|
356
342
|
signing_key:
|
357
|
-
specification_version:
|
358
|
-
summary: In rails you have will_paginate and other gems like it using the ActiveRecord
|
343
|
+
specification_version: 4
|
344
|
+
summary: In rails you have will_paginate and other gems like it using the ActiveRecord
|
345
|
+
approach, but widget_list adds some awesome treats to standard boring pagers
|
359
346
|
test_files: []
|
360
|
-
|