widget_list 1.3.5 → 1.3.6

Sign up to get free protection for your applications and to get access to all the features.
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
- Change application.js to:
370
+
371
+ Change application.js to:
372
+
360
373
  ```ruby
361
374
  //= require widget_list
362
375
  ```
363
- ### #2 - Run `bundle exec rails s` to have widget_list create config/widget-list.yml (by default a sqlite3 memory database is created)
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,4 +1,4 @@
1
- <div style='font-family:<!--FONT-->;'>
1
+ <div style='<!--FONT-->'>
2
2
  <!--WRAP_START-->
3
3
  <!--HEADER-->
4
4
  <!--CUSTOM_CONTENT_TOP-->
@@ -1 +1 @@
1
- <li><span id="<!--LIST_NAME-->_next" onclick="<!--FUNCTION-->('<!--NEXT_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" style="cursor:pointer;background: transparent url(/assets/images/page-next.gif) no-repeat">&nbsp;</span></li>
1
+ <li><span id="<!--LIST_NAME-->_next" onclick="<!--FUNCTION-->('<!--NEXT_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" class="next-active">&nbsp;</span></li>
@@ -1 +1 @@
1
- <li><span id="<!--LIST_NAME-->_next" style="opacity:0.4;filter:alpha(opacity=40);background: transparent url(/assets/images/page-next.gif) no-repeat">&nbsp;</span></li>
1
+ <li><span id="<!--LIST_NAME-->_next" class="next-disabled">&nbsp;</span></li>
@@ -1 +1 @@
1
- <li><span id="<!--LIST_NAME-->_previous" onclick="<!--FUNCTION-->('<!--PREVIOUS_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" style="cursor:pointer;background: transparent url(/assets/images/page-back.gif) no-repeat">&nbsp;</span></li>
1
+ <li><span id="<!--LIST_NAME-->_previous" onclick="<!--FUNCTION-->('<!--PREVIOUS_URL-->','<!--LIST_NAME-->');<!--FUNCTION_ALL-->" class="previous-active">&nbsp;</span></li>
@@ -1 +1 @@
1
- <li><span id="<!--LIST_NAME-->_previous" style="opacity:0.4;filter:alpha(opacity=40);background: transparent url(/assets/images/page-back.gif) no-repeat">&nbsp;</span></li>
1
+ <li><span id="<!--LIST_NAME-->_previous" class="previous-disabled">&nbsp;</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.new
1046
- model.fields.keys.each { |field|
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
- @templateFill['<!--FONT-->'] = @items['fontFamily']
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' => searchUrl,
2527
- 'skip_queue' => false,
2528
- 'target' => @items['name'],
2529
- 'search_form' => @items['listSearchForm'],
2530
- 'onkeyup' => (! @items['searchOnkeyup'].empty?) ? WidgetList::Utils::fill({'<!--URL-->'=>searchUrl, '<!--TARGET-->' => @items['name'], '<!--FUNCTION_ALL-->' => @items['ajaxFunctionAll']}, @items['searchOnkeyup'] + '<!--FUNCTION_ALL-->') : ''
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
- page = buttonAttribs['page'].dup
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] } }) unless all_wildcard
3515
+ buttonAttribs.deep_merge!({ 'args' => { tagName => @results[tag.upcase][j] } })
3512
3516
  end
3513
3517
  else
3514
3518
 
@@ -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
  }
@@ -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 + '=' + URI.encode(URI.decode(v.to_s))
31
+ q << k.to_s + '=' + CGI.escape(URI.decode(v.to_s))
30
32
  end
31
33
  }
32
34
  q.join('&')
@@ -1,3 +1,3 @@
1
1
  module WidgetList
2
- VERSION = "1.3.5"
2
+ VERSION = "1.3.6"
3
3
  end
@@ -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'] = WidgetList::Utils::build_url(items['page'], items['args'])
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
@@ -341,7 +341,10 @@ function ListJumpMin(url, id, callback, post)
341
341
  {
342
342
  (callback)();
343
343
  }
344
- }, "json");
344
+ }, "json").fail(function() {
345
+ alert('An error occurred. No new results were fetched.');
346
+ ajaxStatus(id, 0);
347
+ });
345
348
  }
346
349
  catch(e)
347
350
  {
@@ -12,12 +12,10 @@
12
12
  height:3px;
13
13
  }
14
14
 
15
- table.widget_list
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 {margin:6px 0 0 6px;border:none;background:transparent;width:100%}
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 = ["message_me_on_github@dave.com"]
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
- prerelease: false
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
- date: 2013-09-28 00:00:00 -04:00
18
- default_executable:
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
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
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
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- - 7
44
- - 2
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
- version_requirements: *id002
48
- description: 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.
49
- email:
50
- - message_me_on_github@dave.com
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
- segments:
343
- - 0
344
- version: "0"
345
- required_rubygems_version: !ruby/object:Gem::Requirement
346
- requirements:
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: 1.3.6
341
+ rubygems_version: 2.2.2
356
342
  signing_key:
357
- specification_version: 3
358
- summary: In rails you have will_paginate and other gems like it using the ActiveRecord approach, but widget_list adds some awesome treats to standard boring pagers
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
-