compass-jquery-plugin 0.3.2.3 → 0.3.2.4

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.
Files changed (235) hide show
  1. data/README.md +54 -37
  2. data/VERSION.yml +1 -1
  3. data/lib/handle_attributes.rb +4 -4
  4. data/lib/handle_js_files.rb +5 -5
  5. data/lib/jqtouch_theme.rb +2 -2
  6. data/lib/jquery/dynatree.rb +2 -2
  7. data/lib/jquery/emulators.rb +1 -1
  8. data/lib/jquery/flash_messages.rb +6 -6
  9. data/lib/jquery/graphics.rb +5 -0
  10. data/lib/jquery/gridify/assertions.rb +1 -1
  11. data/lib/jquery/gridify/grid.rb +76 -59
  12. data/lib/jquery/gridify/grid_column.rb +73 -67
  13. data/lib/jquery/gridify/grid_finder.rb +79 -79
  14. data/lib/jquery/gridify/grid_options.rb +154 -149
  15. data/lib/jquery/gridify/grid_view.rb +143 -143
  16. data/lib/jquery/gridify.rb +25 -25
  17. data/lib/jquery/ical/calendar.rb +2 -2
  18. data/lib/jquery/ical/event.rb +48 -44
  19. data/lib/jquery/ical/helpers/ui_event_helper.rb +3 -3
  20. data/lib/jquery/jqgrid/jqgrid.rb +58 -58
  21. data/lib/jquery/jqgrid.rb +1 -1
  22. data/lib/jquery/jqtouch.rb +1 -1
  23. data/lib/jquery/jquery.rb +117 -117
  24. data/lib/jquery/jquery_auto_complete.rb +9 -9
  25. data/lib/jquery/jquery_json_response.rb +12 -12
  26. data/lib/jquery/jquery_selector_assertions.rb +55 -53
  27. data/lib/jquery/jstree.rb +2 -2
  28. data/lib/jquery/mobile.rb +1 -1
  29. data/lib/jquery/ribbon.rb +2 -2
  30. data/lib/jquery/secret_sauce/controller/ui_dialog_controls.rb +5 -5
  31. data/lib/jquery/secret_sauce/controller/ui_grid_controls.rb +5 -5
  32. data/lib/jquery/secret_sauce/helpers/ui_dialog_helper.rb +1 -1
  33. data/lib/jquery/secret_sauce/helpers/ui_form_helper.rb +39 -39
  34. data/lib/jquery/secret_sauce/helpers/ui_grid_helper.rb +74 -74
  35. data/lib/jquery/secret_sauce/model/find_for_grid.rb +21 -21
  36. data/lib/jquery/secret_sauce.rb +1 -1
  37. data/lib/jquery/tools.rb +1 -1
  38. data/lib/jquery_mobile_theme.rb +2 -2
  39. data/lib/jquery_ui_theme.rb +12 -12
  40. data/templates/dynatree/config/initializers/dynatree.rb +3 -3
  41. data/templates/dynatree/jquery/dynatree/aero.scss +16 -16
  42. data/templates/dynatree/jquery/dynatree/aqua.scss +16 -16
  43. data/templates/dynatree/jquery/dynatree/crystal.scss +16 -16
  44. data/templates/dynatree/jquery/dynatree/xp.scss +17 -17
  45. data/templates/dynatree/jquery.dynatree.js +2926 -2912
  46. data/templates/emulators/config/initializers/emulators.rb +6 -6
  47. data/templates/graphics/config/initializers/graphics.rb +5 -0
  48. data/templates/graphics/jquery/ganttView.scss +89 -0
  49. data/templates/graphics/jquery.ganttView.js +1669 -0
  50. data/templates/graphics/jquery.ganttView.min.js +70 -0
  51. data/templates/{jquery → graphics}/jquery.sparkline.js +466 -438
  52. data/templates/{jquery → graphics}/jquery.sparkline.min.js +0 -0
  53. data/templates/graphics/manifest.rb +9 -0
  54. data/templates/jqgrid/config/initializers/jqgrid.rb +1 -1
  55. data/templates/jqgrid/i18n/jqgrid/locale-ar.js +131 -125
  56. data/templates/jqgrid/i18n/jqgrid/locale-bg.js +135 -131
  57. data/templates/jqgrid/i18n/jqgrid/locale-bg1251.js +135 -131
  58. data/templates/jqgrid/i18n/jqgrid/locale-cat.js +132 -126
  59. data/templates/jqgrid/i18n/jqgrid/locale-cn.js +137 -131
  60. data/templates/jqgrid/i18n/jqgrid/locale-cs.js +133 -127
  61. data/templates/jqgrid/i18n/jqgrid/locale-da.js +132 -126
  62. data/templates/jqgrid/i18n/jqgrid/locale-de.js +138 -132
  63. data/templates/jqgrid/i18n/jqgrid/locale-el.js +131 -125
  64. data/templates/jqgrid/i18n/jqgrid/locale-en.js +133 -127
  65. data/templates/jqgrid/i18n/jqgrid/locale-es.js +133 -127
  66. data/templates/jqgrid/i18n/jqgrid/locale-fa.js +19 -16
  67. data/templates/jqgrid/i18n/jqgrid/locale-fi.js +132 -126
  68. data/templates/jqgrid/i18n/jqgrid/locale-fr.js +131 -125
  69. data/templates/jqgrid/i18n/jqgrid/locale-gl.js +131 -125
  70. data/templates/jqgrid/i18n/jqgrid/locale-he.js +132 -126
  71. data/templates/jqgrid/i18n/jqgrid/locale-hu.js +133 -127
  72. data/templates/jqgrid/i18n/jqgrid/locale-is.js +131 -125
  73. data/templates/jqgrid/i18n/jqgrid/locale-it.js +8 -1
  74. data/templates/jqgrid/i18n/jqgrid/locale-ja.js +139 -136
  75. data/templates/jqgrid/i18n/jqgrid/locale-nl.js +4 -1
  76. data/templates/jqgrid/i18n/jqgrid/locale-no.js +14 -1
  77. data/templates/jqgrid/i18n/jqgrid/locale-pl.js +132 -126
  78. data/templates/jqgrid/i18n/jqgrid/locale-pt-br.js +132 -126
  79. data/templates/jqgrid/i18n/jqgrid/locale-pt.js +130 -124
  80. data/templates/jqgrid/i18n/jqgrid/locale-ro.js +144 -138
  81. data/templates/jqgrid/i18n/jqgrid/locale-ru.js +132 -126
  82. data/templates/jqgrid/i18n/jqgrid/locale-sk.js +132 -126
  83. data/templates/jqgrid/i18n/jqgrid/locale-sr.js +133 -127
  84. data/templates/jqgrid/i18n/jqgrid/locale-sv.js +132 -126
  85. data/templates/jqgrid/i18n/jqgrid/locale-tr.js +131 -125
  86. data/templates/jqgrid/i18n/jqgrid/locale-ua.js +132 -126
  87. data/templates/jqgrid/jquery.jqGrid.js +12735 -10444
  88. data/templates/jqgrid/jquery.jqGrid.min.js +477 -469
  89. data/templates/jqgrid/public/stylesheets/ellipsis-xbl.xml +12 -10
  90. data/templates/jqtouch/config/initializers/jqtouch.rb +3 -3
  91. data/templates/jqtouch/jquery/touch/jqtouch.scss +1 -1
  92. data/templates/jqtouch/jquery.jqtouch.js +10025 -10043
  93. data/templates/jquery/config/initializers/jquery.rb +2 -4
  94. data/templates/jquery/history.adapter.jquery.js +71 -0
  95. data/templates/jquery/history.adapter.jquery.min.js +4 -0
  96. data/templates/jquery/history.html4.js +690 -0
  97. data/templates/jquery/history.html4.min.js +21 -0
  98. data/templates/jquery/history.js +1297 -0
  99. data/templates/jquery/history.min.js +29 -0
  100. data/templates/jquery/i18n/jquery.ui/datepicker-af.js +20 -20
  101. data/templates/jquery/i18n/jquery.ui/datepicker-ar-DZ.js +19 -19
  102. data/templates/jquery/i18n/jquery.ui/datepicker-ar.js +19 -19
  103. data/templates/jquery/i18n/jquery.ui/datepicker-az.js +19 -19
  104. data/templates/jquery/i18n/jquery.ui/datepicker-bg.js +8 -8
  105. data/templates/jquery/i18n/jquery.ui/datepicker-bs.js +20 -20
  106. data/templates/jquery/i18n/jquery.ui/datepicker-ca.js +20 -20
  107. data/templates/jquery/i18n/jquery.ui/datepicker-cs.js +20 -20
  108. data/templates/jquery/i18n/jquery.ui/datepicker-da.js +14 -14
  109. data/templates/jquery/i18n/jquery.ui/datepicker-de.js +20 -20
  110. data/templates/jquery/i18n/jquery.ui/datepicker-el.js +20 -20
  111. data/templates/jquery/i18n/jquery.ui/datepicker-en-AU.js +20 -20
  112. data/templates/jquery/i18n/jquery.ui/datepicker-en-GB.js +20 -20
  113. data/templates/jquery/i18n/jquery.ui/datepicker-en-NZ.js +20 -20
  114. data/templates/jquery/i18n/jquery.ui/datepicker-eo.js +20 -20
  115. data/templates/jquery/i18n/jquery.ui/datepicker-es.js +20 -20
  116. data/templates/jquery/i18n/jquery.ui/datepicker-et.js +20 -20
  117. data/templates/jquery/i18n/jquery.ui/datepicker-eu.js +20 -20
  118. data/templates/jquery/i18n/jquery.ui/datepicker-fa.js +18 -18
  119. data/templates/jquery/i18n/jquery.ui/datepicker-fi.js +15 -15
  120. data/templates/jquery/i18n/jquery.ui/datepicker-fo.js +20 -20
  121. data/templates/jquery/i18n/jquery.ui/datepicker-fr-CH.js +20 -20
  122. data/templates/jquery/i18n/jquery.ui/datepicker-fr.js +22 -22
  123. data/templates/jquery/i18n/jquery.ui/datepicker-gl.js +20 -20
  124. data/templates/jquery/i18n/jquery.ui/datepicker-he.js +20 -20
  125. data/templates/jquery/i18n/jquery.ui/datepicker-hr.js +20 -20
  126. data/templates/jquery/i18n/jquery.ui/datepicker-hu.js +20 -20
  127. data/templates/jquery/i18n/jquery.ui/datepicker-hu.min.js +1 -1
  128. data/templates/jquery/i18n/jquery.ui/datepicker-hy.js +20 -20
  129. data/templates/jquery/i18n/jquery.ui/datepicker-id.js +20 -20
  130. data/templates/jquery/i18n/jquery.ui/datepicker-is.js +20 -20
  131. data/templates/jquery/i18n/jquery.ui/datepicker-it.js +20 -20
  132. data/templates/jquery/i18n/jquery.ui/datepicker-ja.js +20 -20
  133. data/templates/jquery/i18n/jquery.ui/datepicker-ko.js +20 -20
  134. data/templates/jquery/i18n/jquery.ui/datepicker-kz.js +20 -20
  135. data/templates/jquery/i18n/jquery.ui/datepicker-lt.js +20 -20
  136. data/templates/jquery/i18n/jquery.ui/datepicker-lv.js +20 -20
  137. data/templates/jquery/i18n/jquery.ui/datepicker-ml.js +20 -20
  138. data/templates/jquery/i18n/jquery.ui/datepicker-ms.js +20 -20
  139. data/templates/jquery/i18n/jquery.ui/datepicker-nl.js +20 -20
  140. data/templates/jquery/i18n/jquery.ui/datepicker-no.js +16 -16
  141. data/templates/jquery/i18n/jquery.ui/datepicker-no.min.js +2 -2
  142. data/templates/jquery/i18n/jquery.ui/datepicker-pl.js +20 -20
  143. data/templates/jquery/i18n/jquery.ui/datepicker-pt-BR.js +20 -20
  144. data/templates/jquery/i18n/jquery.ui/datepicker-pt.js +20 -20
  145. data/templates/jquery/i18n/jquery.ui/datepicker-rm.js +18 -18
  146. data/templates/jquery/i18n/jquery.ui/datepicker-ro.js +20 -20
  147. data/templates/jquery/i18n/jquery.ui/datepicker-ru.js +20 -20
  148. data/templates/jquery/i18n/jquery.ui/datepicker-sk.js +20 -20
  149. data/templates/jquery/i18n/jquery.ui/datepicker-sl.js +20 -20
  150. data/templates/jquery/i18n/jquery.ui/datepicker-sq.js +20 -20
  151. data/templates/jquery/i18n/jquery.ui/datepicker-sr-SR.js +20 -20
  152. data/templates/jquery/i18n/jquery.ui/datepicker-sr.js +20 -20
  153. data/templates/jquery/i18n/jquery.ui/datepicker-sv.js +14 -14
  154. data/templates/jquery/i18n/jquery.ui/datepicker-ta.js +20 -20
  155. data/templates/jquery/i18n/jquery.ui/datepicker-th.js +20 -20
  156. data/templates/jquery/i18n/jquery.ui/datepicker-tr.js +20 -20
  157. data/templates/jquery/i18n/jquery.ui/datepicker-uk.js +20 -20
  158. data/templates/jquery/i18n/jquery.ui/datepicker-vi.js +20 -20
  159. data/templates/jquery/i18n/jquery.ui/datepicker-zh-CN.js +20 -20
  160. data/templates/jquery/i18n/jquery.ui/datepicker-zh-HK.js +20 -20
  161. data/templates/jquery/i18n/jquery.ui/datepicker-zh-TW.js +20 -20
  162. data/templates/jquery/{partials → jquery/ui}/_flash_messages.scss +0 -0
  163. data/templates/jquery/jquery/ui/_theme.scss +14 -13
  164. data/templates/jquery/jquery/ui/contextMenu/configure.png +0 -0
  165. data/templates/jquery/jquery/ui/contextMenu/copy.png +0 -0
  166. data/templates/jquery/jquery/ui/contextMenu/cut.png +0 -0
  167. data/templates/jquery/jquery/ui/contextMenu/delete.png +0 -0
  168. data/templates/jquery/jquery/ui/contextMenu/edit.png +0 -0
  169. data/templates/jquery/jquery/ui/contextMenu/exit.png +0 -0
  170. data/templates/jquery/jquery/ui/contextMenu/new.png +0 -0
  171. data/templates/jquery/jquery/ui/contextMenu/paste.png +0 -0
  172. data/templates/jquery/jquery/ui/contextMenu/rename.png +0 -0
  173. data/templates/jquery/jquery/ui/contextMenu/show.png +0 -0
  174. data/templates/jquery/jquery/ui/contextMenu/trash.png +0 -0
  175. data/templates/jquery/jquery/ui/contextMenu.scss +16 -10
  176. data/templates/jquery/jquery-ui.js +11839 -23066
  177. data/templates/jquery/jquery-ui.min.js +401 -795
  178. data/templates/jquery/jquery.bgiframe.js +27 -25
  179. data/templates/jquery/jquery.contextMenu.js +209 -196
  180. data/templates/jquery/jquery.cookie.js +3 -1
  181. data/templates/jquery/jquery.dotimeout.js +236 -228
  182. data/templates/jquery/jquery.dst.js +154 -151
  183. data/templates/jquery/jquery.farbtastic.js +293 -293
  184. data/templates/jquery/jquery.flashMessages.js +26 -0
  185. data/templates/jquery/jquery.flashMessages.min.js +1 -0
  186. data/templates/jquery/jquery.form.js +803 -786
  187. data/templates/jquery/jquery.haml.js +248 -247
  188. data/templates/jquery/jquery.hotkeys.js +89 -89
  189. data/templates/jquery/jquery.js +8141 -8106
  190. data/templates/jquery/jquery.layout.js +2451 -2415
  191. data/templates/jquery/jquery.min.js +167 -166
  192. data/templates/jquery/jquery.mousewheel.js +62 -54
  193. data/templates/jquery/jquery.offline.js +171 -171
  194. data/templates/jquery/jquery.pngFix.js +76 -76
  195. data/templates/jquery/jquery.replacetext.js +83 -83
  196. data/templates/jquery/jquery.themeswitchertool.js +202 -177
  197. data/templates/jquery/jquery.tmpl.js +478 -473
  198. data/templates/jquery/jquery.tmplPlus.js +82 -81
  199. data/templates/jquery/jrails.js +178 -175
  200. data/templates/jquery/json.js +77 -7
  201. data/templates/jquery/json2.js +480 -0
  202. data/templates/jquery/json2.min.js +7 -0
  203. data/templates/jquery/lib/tasks/haml.rake +2 -2
  204. data/templates/jquery/manifest.rb +21 -17
  205. data/templates/jstree/jquery.jstree.js +5967 -4536
  206. data/templates/mobile/config/initializers/mobile.rb +1 -1
  207. data/templates/mobile/jquery/mobile/_base.scss +944 -927
  208. data/templates/mobile/jquery/mobile/default.scss +61 -48
  209. data/templates/mobile/jquery/mobile/valencia.scss +56 -42
  210. data/templates/mobile/jquery.mobile.js +4461 -4347
  211. data/templates/mobile/jquery.mobile.min.js +11 -2
  212. data/templates/mobile/lib/tasks/jquery.mobile.rake +12 -12
  213. data/templates/ribbon/config/initializers/ribbon.rb +2 -2
  214. data/templates/ribbon/jquery.ribbon.js +50 -29
  215. data/templates/secret_sauce/secret_sauce.js +8 -8
  216. data/templates/tools/flowplayer.js +945 -1
  217. data/templates/tools/jquery.tools.js +4645 -4335
  218. data/templates/tools/jquery.tools.min.js +37 -37
  219. data/templates/tools/lib/tasks/jquery.tools.rake +4 -4
  220. data/templates/tools/swfobject.js +813 -773
  221. metadata +33 -21
  222. data/templates/jquery/haml.js +0 -506
  223. data/templates/jquery/haml.min.js +0 -5
  224. data/templates/jquery/jquery/ui/contextMenu/door.png +0 -0
  225. data/templates/jquery/jquery/ui/contextMenu/page_white_copy.png +0 -0
  226. data/templates/jquery/jquery/ui/contextMenu/page_white_delete.png +0 -0
  227. data/templates/jquery/jquery/ui/contextMenu/page_white_edit.png +0 -0
  228. data/templates/jquery/jquery/ui/contextMenu/page_white_new.png +0 -0
  229. data/templates/jquery/jquery/ui/contextMenu/page_white_paste.png +0 -0
  230. data/templates/jquery/jquery.compat-1.3.js +0 -291
  231. data/templates/jquery/jquery.compat-1.3.min.js +0 -6
  232. data/templates/jquery/jquery.flash_messages.js +0 -5
  233. data/templates/jquery/jquery.flash_messages.min.js +0 -1
  234. data/templates/jquery/jquery.history.js +0 -194
  235. data/templates/jquery/jquery.history.min.js +0 -5
@@ -1,57 +1,57 @@
1
1
  module Gridify
2
2
  class GridColumn
3
-
4
- attr_accessor :name, # attribute name (required)
3
+
4
+ attr_accessor :name, # attribute name (required)
5
5
  :label,
6
- :ar_column, # active_record column
7
- :value_type, # active_record data type :string, :text, :integer, :float, :boolean, + :currency
8
- :key, # true if this is the key (only :id)
9
-
6
+ :ar_column, # active_record column
7
+ :value_type, # active_record data type :string, :text, :integer, :float, :boolean, + :currency
8
+ :key, # true if this is the key (only :id)
9
+
10
10
  # column formatting
11
- :width, # initial width (150)
12
- :fixed_width, # true = not resized when recalc fit to width
13
- :formatter, # see jqGrid doc (based on value_type)
14
- :format_options, # hash, see jqGrid doc (based on value_type)
15
- :align, # 'left', 'right', 'center' (left for strings, right for numerics)
11
+ :width, # initial width (150)
12
+ :fixed_width, # true = not resized when recalc fit to width
13
+ :formatter, # see jqGrid doc (based on value_type)
14
+ :format_options, # hash, see jqGrid doc (based on value_type)
15
+ :align, # 'left', 'right', 'center' (left for strings, right for numerics)
16
16
  #:classes, # optional classes to add to column
17
-
17
+
18
18
  # column actions
19
- :resizable, # t/f (true)
20
- :sortable, # t/f (true) or jqGrid sorttype: :integer, :float, :currency, :date, :text (true)
21
- :searchable, # true/false (true) or text or select
19
+ :resizable, # t/f (true)
20
+ :sortable, # t/f (true) or jqGrid sorttype: :integer, :float, :currency, :date, :text (true)
21
+ :searchable, # true/false (true) or text or select
22
22
  #:search_options,
23
- :editable, # true/false (false),
24
- :edit_type, # text, textarea, select, checkbox, password, button, image and file (based on value_type)
25
- :edit_options, # html input field options, depends on editable type (eg {"size" => 10, "maxlength" => 15}) see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules
26
- :validations, # jqGrid editrules (TODO derive from AR model validations) see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules
27
- # "required" "integer" "email" "url" etc
28
- :form_options, # jqGrid formoptions for formatting input forms
23
+ :editable, # true/false (false),
24
+ :edit_type, # text, textarea, select, checkbox, password, button, image and file (based on value_type)
25
+ :edit_options, # html input field options, depends on editable type (eg {"size" => 10, "maxlength" => 15}) see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules
26
+ :validations, # jqGrid editrules (TODO derive from AR model validations) see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules
27
+ # "required" "integer" "email" "url" etc
28
+ :form_options, # jqGrid formoptions for formatting input forms
29
29
  # select types
30
30
  #:select_url, # url to dynamically get select options
31
-
31
+
32
32
  # visiblity
33
33
  #:always_hidden, # (false)
34
34
  :sort_type,
35
35
  :summary_type,
36
36
  :summary_tpl,
37
- :hidden # initial hide state (false)
38
-
37
+ :hidden # initial hide state (false)
38
+
39
39
  def initialize(options)
40
40
  update options
41
41
  end
42
-
42
+
43
43
  def update(options)
44
- options.each {|atr, val| send( "#{atr}=", val )}
44
+ options.each { |atr, val| send("#{atr}=", val) }
45
45
  end
46
-
46
+
47
47
  def to_json
48
48
  properties.to_json #_with_js
49
49
  end
50
-
50
+
51
51
  def properties
52
52
  jqgrid_properties
53
53
  end
54
-
54
+
55
55
  def resizable
56
56
  if @resizable==false
57
57
  false
@@ -60,7 +60,7 @@ module Gridify
60
60
  true
61
61
  end
62
62
  end
63
-
63
+
64
64
  def fixed_width
65
65
  if @fixed_width==false
66
66
  false
@@ -70,63 +70,69 @@ module Gridify
70
70
  @fixed_width
71
71
  end
72
72
  end
73
-
73
+
74
74
  # ----------------
75
75
  private
76
-
76
+
77
77
  def jqgrid_type
78
78
  return sortable unless sortable==true
79
79
  case value_type
80
- when :string : 'text'
81
- when :text : 'text'
82
- when :integer : 'integer'
83
- when :float : 'float'
84
- when :boolean : 'boolean'
85
- when :datetime : 'date'
80
+ when :string :
81
+ 'text'
82
+ when :text :
83
+ 'text'
84
+ when :integer :
85
+ 'integer'
86
+ when :float :
87
+ 'float'
88
+ when :boolean :
89
+ 'boolean'
90
+ when :datetime :
91
+ 'date'
86
92
  end
87
93
  end
88
-
94
+
89
95
  # note, we dont vals[:foo] = foo because dont want to bother generating key if its same as jqGrid default
90
96
  def jqgrid_properties
91
97
  vals = {
92
- :name => name.gsub(".", "__"),
93
- :index => name
98
+ :name => name.gsub(".", "__"),
99
+ :index => name
94
100
  }
95
101
  #xmlmap not required when same as :name
96
102
  # vals[:xmlmap] = name if data_type == :xml
97
103
  # vals[:jsonmap] = name if data_type == :json
98
-
99
- vals[:label] = label || name.titleize
100
- vals[:resizable] = false if resizable==false
101
- vals[:fixed] = fixed_width unless fixed_width==false
102
- vals[:sortable] = false if sortable==false
103
- vals[:sort_type] = jqgrid_type if sortable
104
- vals[:search] = false if searchable==false
105
- vals[:editable] = true if editable
106
- vals[:align] = align if align
104
+
105
+ vals[:label] = label || name.titleize
106
+ vals[:resizable] = false if resizable==false
107
+ vals[:fixed] = fixed_width unless fixed_width==false
108
+ vals[:sortable] = false if sortable==false
109
+ vals[:sort_type] = jqgrid_type if sortable
110
+ vals[:search] = false if searchable==false
111
+ vals[:editable] = true if editable
112
+ vals[:align] = align if align
107
113
  #vals[:align] = 'right' if [:integer, :float, :currency].include?(value_type)
108
114
  case value_type
109
- when :datetime
110
- vals[:formatter] = 'date'
111
- vals[:formatoptions] = { :srcformat => 'UniversalSortableDateTime', :newformat => 'FullDateTime' }
115
+ when :datetime
116
+ vals[:formatter] = 'date'
117
+ vals[:formatoptions] = {:srcformat => 'UniversalSortableDateTime', :newformat => 'FullDateTime'}
112
118
  end
113
- vals[:hidden] = true if hidden
114
- vals[:width] = width if width
115
- vals[:formatter] = formatter if formatter
116
- vals[:formatoptions] = format_options if format_options
117
- vals[:edittype] = edit_type if editable && edit_type
118
- vals[:formoptions] = form_options if editable && form_options
119
- vals[:editoptions] = edit_options if editable && edit_options
120
- vals[:editrules] = validations if editable && validations
121
-
122
- vals[:sort_type] = sort_type if sort_type
123
- vals[:summaryType] = summary_type if summary_type
124
- vals[:summaryTpl] = summary_tpl if summary_tpl
119
+ vals[:hidden] = true if hidden
120
+ vals[:width] = width if width
121
+ vals[:formatter] = formatter if formatter
122
+ vals[:formatoptions] = format_options if format_options
123
+ vals[:edittype] = edit_type if editable && edit_type
124
+ vals[:formoptions] = form_options if editable && form_options
125
+ vals[:editoptions] = edit_options if editable && edit_options
126
+ vals[:editrules] = validations if editable && validations
127
+
128
+ vals[:sort_type] = sort_type if sort_type
129
+ vals[:summaryType] = summary_type if summary_type
130
+ vals[:summaryTpl] = summary_tpl if summary_tpl
125
131
  # and more...
126
-
132
+
127
133
  vals
128
134
  end
129
-
135
+
130
136
  end
131
137
  end
132
138
 
@@ -1,8 +1,8 @@
1
1
  module Gridify
2
2
  class Grid
3
3
 
4
- attr_accessor :search_rules, # current search/filter rules, as hash
5
- :search_rules_op # :and, :or
4
+ attr_accessor :search_rules, # current search/filter rules, as hash
5
+ :search_rules_op # :and, :or
6
6
 
7
7
  # finds records based on request params
8
8
  # e.g. params from jqGrid
@@ -13,19 +13,19 @@ module Gridify
13
13
  # :rows number of items to get ["20"]
14
14
  # :page page number (starts at 1) ["1"]
15
15
 
16
- def update_from_params( params )
16
+ def update_from_params(params)
17
17
  params.symbolize_keys!
18
18
  params_to_rules params
19
- self.data_type = params[:datatype] if params[:datatype]
20
- self.sort_by = params[:sidx] if params[:sidx]
21
- self.sort_order = params[:sord] if params[:sord]
22
- self.current_page = params[:page].to_i if params[:page]
19
+ self.data_type = params[:datatype] if params[:datatype]
20
+ self.sort_by = params[:sidx] if params[:sidx]
21
+ self.sort_order = params[:sord] if params[:sord]
22
+ self.current_page = params[:page].to_i if params[:page]
23
23
  self.rows_per_page = params[:rows].to_i if params[:rows]
24
- self.total_rows = params[:total_rows].to_i if params[:total_rows]
24
+ self.total_rows = params[:total_rows].to_i if params[:total_rows]
25
25
  if tree_grid
26
- self.nodeid = params[:nodeid].to_i if params[:nodeid]
26
+ self.nodeid = params[:nodeid].to_i if params[:nodeid]
27
27
  self.n_level = params[:n_level].to_i if params[:n_level]
28
- self.n_left = params[:n_left].to_i if params[:n_left]
28
+ self.n_left = params[:n_left].to_i if params[:n_left]
29
29
  self.n_right = params[:n_right].to_i if params[:n_right]
30
30
  end
31
31
  end
@@ -49,7 +49,7 @@ module Gridify
49
49
  find_args[:order] = "upper(#{sort_by}) #{sort_order}"
50
50
  end
51
51
  end
52
-
52
+
53
53
  if total_rows.present? && total_rows > 0
54
54
  find_args[:limit] = total_rows
55
55
  offset = (current_page.to_i-1) * rows_per_page if current_page.present?
@@ -59,123 +59,123 @@ module Gridify
59
59
  offset = (current_page.to_i-1) * rows_per_page if current_page.present?
60
60
  find_args[:offset] = offset if offset && offset > 0
61
61
  end
62
-
62
+
63
63
  cond = rules_to_conditions
64
64
  find_args[:conditions] = cond unless cond.blank?
65
65
  find_args
66
66
  end
67
-
68
- def find( params )
67
+
68
+ def find(params)
69
69
  #debugger
70
70
  update_from_params params
71
71
  klass = resource.classify.constantize
72
- records = klass.send( finder, :all, current_scope )
72
+ records = klass.send(finder, :all, current_scope)
73
73
  end
74
74
 
75
- def encode_records( records, userdata=nil, total_count=nil )
75
+ def encode_records(records, userdata=nil, total_count=nil)
76
76
  #debugger
77
77
  klass = resource.classify.constantize
78
78
  total_count ||= klass.count
79
79
  total_pages = total_count / rows_per_page + 1
80
80
  #TODO: :only => [attributes], :methods => [virtual attributes]
81
81
  case data_type
82
- when :xml
83
- if colInclude
84
- xml = records.to_xml( :include => colInclude, :skip_types => true, :dasherize => false ) do |xml|
85
- if rows_per_page > 0
86
- xml.page current_page
87
- xml.total total_pages
88
- xml.records total_count
82
+ when :xml
83
+ if colInclude
84
+ xml = records.to_xml(:include => colInclude, :skip_types => true, :dasherize => false) do |xml|
85
+ if rows_per_page > 0
86
+ xml.page current_page
87
+ xml.total total_pages
88
+ xml.records total_count
89
+ end
89
90
  end
90
- end
91
- else
92
- xml = records.to_xml( :skip_types => true, :dasherize => false ) do |xml|
93
- if rows_per_page > 0
94
- xml.page current_page
95
- xml.total total_pages
96
- xml.records total_count
91
+ else
92
+ xml = records.to_xml(:skip_types => true, :dasherize => false) do |xml|
93
+ if rows_per_page > 0
94
+ xml.page current_page
95
+ xml.total total_pages
96
+ xml.records total_count
97
+ end
97
98
  end
98
99
  end
99
- end
100
- when :json
101
- #debugger
102
- data = { resource => records }
103
- if rows_per_page > 0
104
- data.merge!(
105
- :page => current_page,
106
- :total => total_pages,
107
- :records => total_count
108
- )
109
- end
110
- data.merge!( :userdata => userdata ) if userdata
111
- save = ActiveRecord::Base.include_root_in_json
112
- ActiveRecord::Base.include_root_in_json = false
113
- if colInclude
114
- json = build_json(data);
115
- else
116
- json = data.to_json
117
- end
118
- ActiveRecord::Base.include_root_in_json = save
119
- json
120
- #others...
121
- else #nop ?
122
- records.to_s
100
+ when :json
101
+ #debugger
102
+ data = {resource => records}
103
+ if rows_per_page > 0
104
+ data.merge!(
105
+ :page => current_page,
106
+ :total => total_pages,
107
+ :records => total_count
108
+ )
109
+ end
110
+ data.merge!(:userdata => userdata) if userdata
111
+ save = ActiveRecord::Base.include_root_in_json
112
+ ActiveRecord::Base.include_root_in_json = false
113
+ if colInclude
114
+ json = build_json(data);
115
+ else
116
+ json = data.to_json
117
+ end
118
+ ActiveRecord::Base.include_root_in_json = save
119
+ json
120
+ #others...
121
+ else #nop ?
122
+ records.to_s
123
123
  end
124
124
  end
125
125
 
126
- def find_and_encode( params )
127
- encode_records( find( params ) )
126
+ def find_and_encode(params)
127
+ encode_records(find(params))
128
128
  end
129
129
 
130
130
  # grid doesnt nest attributes inside the resource
131
131
  # could change this behavior in jqGrid, see grid.postext.js ?
132
132
  # http://www.trirand.com/jqgridwiki/doku.php?id=wiki:post_data_module
133
133
  #
134
- def member_params( params )
135
- params.inject({}) {|h, (name, value)| h[name] = value if columns_hash[name]; h }
134
+ def member_params(params)
135
+ params.inject({}) { |h, (name, value)| h[name] = value if columns_hash[name]; h }
136
136
  end
137
137
 
138
138
  protected
139
139
 
140
- OPS = { 'eq' => '=', 'lt' => '<', 'le' => '<=', 'gt' => '>', 'ge' => '>=', 'ne' => '!=' }
140
+ OPS = {'eq' => '=', 'lt' => '<', 'le' => '<=', 'gt' => '>', 'ge' => '>=', 'ne' => '!='}
141
141
  #['eq','ne','lt','le','gt','ge',
142
142
  # 'bw','bn','in','ni','ew','en','cn','nc']
143
143
  #['equal','not equal', 'less', 'less or equal','greater','greater or equal',
144
144
  # 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain']
145
145
 
146
146
  OPS_PATTERN = {
147
- 'bw' => '?%',
148
- 'bn' => '?%',
149
- # 'in'
150
- # 'ni'
151
- 'ew' => '%?',
152
- 'en' => '%?',
153
- 'cn' => '%?%',
154
- 'nc' => '%?%',
147
+ 'bw' => '?%',
148
+ 'bn' => '?%',
149
+ # 'in'
150
+ # 'ni'
151
+ 'ew' => '%?',
152
+ 'en' => '%?',
153
+ 'cn' => '%?%',
154
+ 'nc' => '%?%',
155
155
  }
156
156
 
157
157
  STRING_OPS = {
158
- 'bw' => 'LIKE',
159
- 'bn' => 'NOT LIKE',
160
- 'ew' => 'LIKE',
161
- 'en' => 'NOT LIKE',
162
- 'cn' => 'LIKE',
163
- 'nc' => 'NOT LIKE',
158
+ 'bw' => 'LIKE',
159
+ 'bn' => 'NOT LIKE',
160
+ 'ew' => 'LIKE',
161
+ 'en' => 'NOT LIKE',
162
+ 'cn' => 'LIKE',
163
+ 'nc' => 'NOT LIKE',
164
164
  }
165
165
 
166
166
  # params[:filters] => {"groupOp"=>"AND",
167
167
  # "rules"=>[{"data"=>"b", "op"=>"ge", "field"=>"title"}, {"data"=>"f", "op"=>"le", "field"=>"title"}] }
168
- def params_to_rules( params )
168
+ def params_to_rules(params)
169
169
  #debugger
170
170
  if params[:_search]=='true' || params[:_search]==true
171
171
  if params[:filters]
172
172
  # advanced search
173
- filters = ActiveSupport::JSON.decode( params[:filters] )
173
+ filters = ActiveSupport::JSON.decode(params[:filters])
174
174
  self.search_rules = filters['rules']
175
175
  self.search_rules_op = filters['groupOp']
176
176
  elsif params[:searchField]
177
177
  # simple search
178
- self.search_rules = [{ "field" => params[:searchField], "op" => params[:searchOper], "data" => params[:searchString]}]
178
+ self.search_rules = [{"field" => params[:searchField], "op" => params[:searchOper], "data" => params[:searchString]}]
179
179
  else
180
180
  # toolbar search
181
181
  self.search_rules = []
@@ -183,7 +183,7 @@ module Gridify
183
183
  colModel.each do |col|
184
184
  name = col.name
185
185
  data = params[name.to_sym]
186
- self.search_rules << { "field" => name, "op" => "cn", "data" => data } if data
186
+ self.search_rules << {"field" => name, "op" => "cn", "data" => data} if data
187
187
  end
188
188
  end
189
189
  end
@@ -213,9 +213,9 @@ module Gridify
213
213
  vals << OPS_PATTERN[rule['op']].gsub('?', rule['data'])
214
214
  end
215
215
  end
216
- cond = [ expr ] + vals
216
+ cond = [expr] + vals
217
217
  end
218
-
218
+
219
219
  def build_json(data)
220
220
  raw_data = JSON.parse(data.to_json(:include => colInclude))
221
221
  raw_data[resource].each do |row|