widget_list 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/widget_list.rb CHANGED
@@ -188,18 +188,30 @@ module WidgetList
188
188
  @current_db_selection = @items['database']
189
189
 
190
190
  if get_database.db_type == 'oracle'
191
+
191
192
  @items.deep_merge!({'statement' =>
192
- {'select'=>
193
+ {'count'=>
193
194
  {'view' =>
194
195
  '
195
- SELECT <!--FIELDS_PLAIN--> FROM ( SELECT a.*, DENSE_RANK() over (<!--ORDERBY-->) rn FROM ( SELECT ' + ( (!get_view().include?('(')) ? '<!--SOURCE-->' : get_view().strip.split(" ").last ) + '.* FROM <!--SOURCE--> ) a <!--WHERE--> <!--ORDERBY--> ) <!--LIMIT--> ' + ((!@active_record_model) ? '<!--GROUPBY-->' : '') + '
196
- '
196
+ SELECT count(1) total FROM <!--VIEW--> ' + ((@items['groupBy'].empty? && !@active_record_model) ? '<!--WHERE--> <!--GROUPBY-->' : '' )
197
+ }
198
+ }
199
+ })
200
+ @items.deep_merge!({'statement' =>
201
+ {'select'=>
202
+ {'view' =>
203
+ 'SELECT <!--FIELDS_PLAIN--> FROM ( SELECT a.*, DENSE_RANK() over (<!--ORDERBY-->) rn FROM ( SELECT ' + ( (!get_view().include?('(')) ? '<!--SOURCE-->' : get_view().strip.split(" ").last ) + '.* FROM <!--SOURCE--> ) a ' + ((@items['groupBy'].empty?) ? '<!--WHERE-->' : '') + ' <!--ORDERBY--> ) <!--LIMIT--> ' + ((!@active_record_model) ? '<!--GROUPBY-->' : '')
197
204
  }
198
205
  }
199
206
  })
200
207
 
201
208
  end
202
209
 
210
+
211
+ if $_REQUEST.key?('searchClear')
212
+ clear_search_session()
213
+ end
214
+
203
215
  begin
204
216
  @isJumpingList = false
205
217
 
@@ -246,10 +258,6 @@ module WidgetList
246
258
 
247
259
  @items['groupByClick'] = WidgetList::Utils::fill({'<!--NAME-->' => @items['name']}, @items['groupByClickDefault'] + @items['groupByClick'])
248
260
 
249
- if $_REQUEST.key?('searchClear')
250
- clear_search_session()
251
- end
252
-
253
261
  if @items['searchClear'] || @items['searchClearAll']
254
262
  clear_search_session(@items.key?('searchClearAll'))
255
263
  end
@@ -649,8 +657,7 @@ module WidgetList
649
657
 
650
658
  def tick_field()
651
659
  case get_database.db_type
652
- when 'postgres'
653
- when 'oracle'
660
+ when 'postgres','oracle'
654
661
  ''
655
662
  else
656
663
  '`'
@@ -771,6 +778,22 @@ module WidgetList
771
778
  $_SESSION.delete('ROW_LIMIT')
772
779
  end
773
780
 
781
+ if $_REQUEST.key?('LIST_FILTER_ALL')
782
+ $_REQUEST.delete('LIST_FILTER_ALL')
783
+ end
784
+
785
+ if $_REQUEST.key?('LIST_COL_SORT')
786
+ $_REQUEST.delete('LIST_COL_SORT')
787
+ end
788
+
789
+ if $_REQUEST.key?('LIST_COL_SORT_ORDER')
790
+ $_REQUEST.delete('LIST_COL_SORT_ORDER')
791
+ end
792
+
793
+ if $_REQUEST.key?('LIST_SEQUENCE')
794
+ $_REQUEST.delete('LIST_SEQUENCE')
795
+ end
796
+
774
797
  end
775
798
 
776
799
  def clear_sql_session(all=false)
@@ -2234,21 +2257,28 @@ module WidgetList
2234
2257
  end
2235
2258
 
2236
2259
  if !@items['LIST_COL_SORT'].empty? || ($_SESSION.key?('LIST_COL_SORT') && $_SESSION['LIST_COL_SORT'].class.name == 'Hash' && $_SESSION['LIST_COL_SORT'].key?(@sqlHash))
2260
+ pieces['<!--ORDERBY-->'] += ' ORDER BY '
2261
+ foundColumn = false
2237
2262
  if ! @items['LIST_COL_SORT'].empty?
2238
- pieces['<!--ORDERBY-->'] += ' ORDER BY ' + tick_field() + @items['LIST_COL_SORT'] + tick_field() + " " + @items['LIST_COL_SORT_ORDER']
2263
+ foundColumn = true
2264
+ pieces['<!--ORDERBY-->'] += tick_field() + strip_aliases(@items['LIST_COL_SORT']) + tick_field() + " " + @items['LIST_COL_SORT_ORDER']
2239
2265
  else
2240
2266
  $_SESSION['LIST_COL_SORT'][@sqlHash].each_with_index { |order,void|
2241
- pieces['<!--ORDERBY-->'] += ' ORDER BY ' + tick_field() + order[0] + tick_field() + " " + order[1]
2267
+ if @items['fields'].key?(order[0])
2268
+ foundColumn = true
2269
+ pieces['<!--ORDERBY-->'] += tick_field() + strip_aliases(order[0]) + tick_field() + " " + strip_aliases(order[1])
2270
+ end
2242
2271
  } if $_SESSION.key?('LIST_COL_SORT') && $_SESSION['LIST_COL_SORT'].class.name == 'Hash' && $_SESSION['LIST_COL_SORT'].key?(@sqlHash)
2243
2272
  end
2244
2273
 
2245
2274
  # Add base order by
2246
2275
  if ! @items['orderBy'].empty?
2247
- pieces['<!--ORDERBY-->'] += ',' + @items['orderBy']
2276
+ pieces['<!--ORDERBY-->'] += ',' if foundColumn == true
2277
+ pieces['<!--ORDERBY-->'] += strip_aliases(@items['orderBy'])
2248
2278
  end
2249
2279
 
2250
2280
  elsif !@items['orderBy'].empty?
2251
- pieces['<!--ORDERBY-->'] += ' ORDER BY ' + @items['orderBy']
2281
+ pieces['<!--ORDERBY-->'] += ' ORDER BY ' + strip_aliases(@items['orderBy'])
2252
2282
  end
2253
2283
 
2254
2284
  if get_database.db_type == 'oracle' && pieces['<!--ORDERBY-->'].empty?
@@ -2264,7 +2294,7 @@ module WidgetList
2264
2294
  }
2265
2295
 
2266
2296
  keys = tmp.keys
2267
- pieces['<!--ORDERBY-->'] += ' ORDER BY ' + keys[0] + ' ASC'
2297
+ pieces['<!--ORDERBY-->'] += ' ORDER BY ' + strip_aliases(keys[0]) + ' ASC' unless keys[0].nil?
2268
2298
  end
2269
2299
 
2270
2300
  case get_database.db_type
@@ -2446,8 +2476,12 @@ module WidgetList
2446
2476
  view = @items['view'].scoped.to_sql
2447
2477
  sql_from = view[view.index(/FROM/),view.length]
2448
2478
  view = "SELECT #{new_columns.join(',')} " + sql_from
2479
+ where = ''
2480
+ if !@items['groupBy'].empty?
2481
+ where = '<!--WHERE-->'
2482
+ end
2449
2483
 
2450
- return "( #{view} <!--GROUPBY-->) a"
2484
+ return "( #{view} #{where} <!--GROUPBY--> ) a"
2451
2485
  else
2452
2486
  return ""
2453
2487
  end
@@ -1,3 +1,3 @@
1
1
  module WidgetList
2
- VERSION = "1.0.10"
2
+ VERSION = "1.0.11"
3
3
  end
@@ -536,30 +536,6 @@ function BuildUrl(getVars)
536
536
  jQuery(document).ready(
537
537
  function()
538
538
  {
539
- /**
540
- * @todo if is visible slide up
541
- */
542
- /* jQuery('.widget-search-drilldown').each(
543
- function()
544
- {
545
- //widget-search-content
546
- //
547
- var masterBlaster = this;
548
-
549
- jQuery('.widget-search-content', this).bind("mouseenter",
550
- function()
551
- {
552
- jQuery(masterBlaster).stop();
553
- jQuery(masterBlaster).slideDown();
554
- }
555
- ).bind("mouseleave",
556
- function()
557
- {
558
- //jQuery(masterBlaster).stop();
559
- jQuery(masterBlaster).slideUp();
560
- });
561
- });*/
562
-
563
539
  InitInfoFields();
564
540
  });
565
541
  })(jQuery);
@@ -684,29 +660,28 @@ function AjaxMaintainChecks(obj, checkbox_class, list_id, url, check_all_id)
684
660
 
685
661
  //Check or uncheck check-all checkbox
686
662
  //
687
- jQuery('.' + checkbox_class).attr('checked', jQuery('#' + checkAllId).is(':checked'));
663
+ jQuery('.' + checkbox_class).not(':disabled').attr('checked', jQuery('#' + checkAllId).is(':checked'));
688
664
  }
689
665
 
690
666
  /**
691
667
  * Serialize all checkboxes both checked and unchecked
692
668
  */
693
- jQuery('.' + checkbox_class).each(
694
- function(key, value)
695
- {
696
- var checked = '0';
697
-
698
- if(this.checked)
669
+ jQuery('.' + checkbox_class).not(':disabled').each(
670
+ function(key, value)
699
671
  {
700
- checked = '1';
701
- }
702
- else
703
- {
704
- checkedAllBool = false;
705
- checkedAllString = '0';
672
+ var checked = '0';
673
+ if(this.checked)
674
+ {
675
+ checked = '1';
676
+ }
677
+ else
678
+ {
679
+ checkedAllBool = false;
680
+ checkedAllString = '0';
681
+ }
682
+ serializedChecks += escape(this.value) + '=' + checked + '&';
706
683
  }
707
-
708
- serializedChecks += escape(this.value) + '=' + checked + '&';
709
- });
684
+ );
710
685
 
711
686
  /**
712
687
  * Check All Checkbox Status. On/Off
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: widget_list
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-26 00:00:00.000000000 Z
12
+ date: 2013-02-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sequel