fancygrid 1.0.0

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 (97) hide show
  1. data/.bundle/config +2 -0
  2. data/.rspec +1 -0
  3. data/CHANGELOG +34 -0
  4. data/Gemfile +15 -0
  5. data/Gemfile.lock +125 -0
  6. data/LICENSE +20 -0
  7. data/README.rdoc +299 -0
  8. data/ROADMAP +1 -0
  9. data/Rakefile +45 -0
  10. data/VERSION +1 -0
  11. data/app/views/fancygrid/_cells.html.haml +13 -0
  12. data/app/views/fancygrid/base/controls.html.haml +40 -0
  13. data/app/views/fancygrid/base/list_frame.html.haml +37 -0
  14. data/app/views/fancygrid/base/search.html.haml +33 -0
  15. data/app/views/fancygrid/base/sort.html.haml +20 -0
  16. data/app/views/fancygrid/base/table_frame.html.haml +45 -0
  17. data/config/initializers/fancygrid.rb +67 -0
  18. data/config/locales/fancygrid.de.yml +41 -0
  19. data/config/locales/fancygrid.en.yml +42 -0
  20. data/fancygrid.gemspec +162 -0
  21. data/init.rb +1 -0
  22. data/lib/fancygrid.rb +73 -0
  23. data/lib/fancygrid/grid.rb +387 -0
  24. data/lib/fancygrid/helper.rb +129 -0
  25. data/lib/fancygrid/node.rb +533 -0
  26. data/lib/fancygrid/query_generator.rb +338 -0
  27. data/lib/fancygrid/view.rb +148 -0
  28. data/lib/generators/install_generator.rb +61 -0
  29. data/lib/generators/views_generator.rb +25 -0
  30. data/lib/version.rb +0 -0
  31. data/public/images/fancygrid/add.png +0 -0
  32. data/public/images/fancygrid/clear.png +0 -0
  33. data/public/images/fancygrid/ddn.png +0 -0
  34. data/public/images/fancygrid/dn.png +0 -0
  35. data/public/images/fancygrid/dots.png +0 -0
  36. data/public/images/fancygrid/loading.gif +0 -0
  37. data/public/images/fancygrid/magnifier.png +0 -0
  38. data/public/images/fancygrid/next.png +0 -0
  39. data/public/images/fancygrid/order.png +0 -0
  40. data/public/images/fancygrid/prev.png +0 -0
  41. data/public/images/fancygrid/reload.png +0 -0
  42. data/public/images/fancygrid/remove.png +0 -0
  43. data/public/images/fancygrid/spacer.gif +0 -0
  44. data/public/images/fancygrid/submit.png +0 -0
  45. data/public/images/fancygrid/th_bg.png +0 -0
  46. data/public/images/fancygrid/up.png +0 -0
  47. data/public/images/fancygrid/uup.png +0 -0
  48. data/public/javascripts/fancygrid.js +477 -0
  49. data/public/javascripts/fancygrid.min.js +17 -0
  50. data/public/stylesheets/fancygrid.css +289 -0
  51. data/public/stylesheets/fancygrid.scss +302 -0
  52. data/spec/dummy/Rakefile +7 -0
  53. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  54. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  55. data/spec/dummy/app/models/project.rb +3 -0
  56. data/spec/dummy/app/models/ticket.rb +3 -0
  57. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  58. data/spec/dummy/config.ru +4 -0
  59. data/spec/dummy/config/application.rb +45 -0
  60. data/spec/dummy/config/boot.rb +10 -0
  61. data/spec/dummy/config/database.yml +22 -0
  62. data/spec/dummy/config/environment.rb +5 -0
  63. data/spec/dummy/config/environments/development.rb +26 -0
  64. data/spec/dummy/config/environments/production.rb +49 -0
  65. data/spec/dummy/config/environments/test.rb +35 -0
  66. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  67. data/spec/dummy/config/initializers/inflections.rb +10 -0
  68. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  69. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  70. data/spec/dummy/config/initializers/session_store.rb +8 -0
  71. data/spec/dummy/config/locales/en.yml +5 -0
  72. data/spec/dummy/config/routes.rb +58 -0
  73. data/spec/dummy/db/migrate/20110112183948_create_projects.rb +11 -0
  74. data/spec/dummy/db/migrate/20110112183956_create_tickets.rb +14 -0
  75. data/spec/dummy/db/test.sqlite3 +0 -0
  76. data/spec/dummy/log/development.log +0 -0
  77. data/spec/dummy/log/production.log +0 -0
  78. data/spec/dummy/log/server.log +0 -0
  79. data/spec/dummy/log/test.log +1026 -0
  80. data/spec/dummy/public/404.html +26 -0
  81. data/spec/dummy/public/422.html +26 -0
  82. data/spec/dummy/public/500.html +26 -0
  83. data/spec/dummy/public/favicon.ico +0 -0
  84. data/spec/dummy/public/javascripts/application.js +2 -0
  85. data/spec/dummy/public/javascripts/controls.js +965 -0
  86. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  87. data/spec/dummy/public/javascripts/effects.js +1123 -0
  88. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  89. data/spec/dummy/public/javascripts/rails.js +175 -0
  90. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  91. data/spec/dummy/script/rails +6 -0
  92. data/spec/grid_spec.rb +15 -0
  93. data/spec/integration/navigation_spec.rb +9 -0
  94. data/spec/node_spec.rb +326 -0
  95. data/spec/query_generator_spec.rb +358 -0
  96. data/spec/spec_helper.rb +53 -0
  97. metadata +214 -0
data/ROADMAP ADDED
@@ -0,0 +1 @@
1
+ 1.0.0 - Stable release
data/Rakefile ADDED
@@ -0,0 +1,45 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'bundler/setup'
6
+ rescue LoadError
7
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
8
+ end
9
+
10
+ begin
11
+ require 'jeweler'
12
+ Jeweler::Tasks.new do |gem|
13
+ gem.name = "fancygrid"
14
+ gem.summary = %Q{Table rendering for rails applications}
15
+ gem.description = %Q{Enables easy table rendering in rails applications}
16
+ gem.email = "giniedp@online.de"
17
+ gem.homepage = "http://github.com/giniedp/fancygrid"
18
+ gem.authors = ["Alexander Gräfenstein"]
19
+ # gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
20
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
21
+ end
22
+ Jeweler::GemcutterTasks.new
23
+ rescue LoadError
24
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
25
+ end
26
+
27
+ require 'rake'
28
+ require 'rake/rdoctask'
29
+
30
+ require 'rspec/core'
31
+ require 'rspec/core/rake_task'
32
+
33
+ RSpec::Core::RakeTask.new(:spec)
34
+
35
+ task :default => :spec
36
+
37
+ Rake::RDocTask.new do |rdoc|
38
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
39
+
40
+ rdoc.rdoc_dir = 'rdoc'
41
+ rdoc.title = "fancygrid #{version}"
42
+ rdoc.options << '--line-numbers' << '--inline-source'
43
+ rdoc.rdoc_files.include('README*')
44
+ rdoc.rdoc_files.include('lib/**/*.rb')
45
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,13 @@
1
+ / available locals are
2
+ / grid : the fancygrid instance
3
+ / cell : the column to render
4
+ / record : the datarecord for the current row to render
5
+ / value : the value for current cell to render
6
+
7
+ / example rendering the actions show and edit for a users table
8
+ /- case grid.name
9
+ /- when :users
10
+ / - case cell.name
11
+ / - when :actions
12
+ / = link_to "Show", user_path(record)
13
+ / = link_to "Edit", edit_user_path(record)
@@ -0,0 +1,40 @@
1
+ %ul.fg-control-bar{ :class => css_class }
2
+ %li
3
+ %span
4
+ = t(:"pagination.per_page", :default => "Results per Page", :scope => Fancygrid.i18n_scope)
5
+ = select_tag(:per_page, options_for_select(fancygrid.per_page_options, fancygrid.view.get_pagination_per_page), :class => "fg-per-page")
6
+
7
+ %li.separator
8
+ %li.button
9
+ = fancygrid_button(:"fg-previous", :"pagination.prev_page", "Previous page")
10
+
11
+ %li
12
+ %span
13
+ = t(:"pagination.page", :default => "Page", :scope => Fancygrid.i18n_scope)
14
+ = text_field_tag(:"fg-page", fancygrid.view.get_pagination_page + 1, :class => :"fg-page" )
15
+ %span
16
+ = t(:"pagination.of", :default => "of", :scope => Fancygrid.i18n_scope)
17
+ %span.fg-page-total
18
+ = 0
19
+
20
+ %li.button
21
+ = fancygrid_button(:"fg-next", :"pagination.next_page","Next page")
22
+ %li.separator
23
+ %li
24
+ %span
25
+ = t(:"pagination.results", :default => "Total entries", :scope => Fancygrid.i18n_scope)
26
+ %span.fg-result-total
27
+ = fancygrid.resultcount or 0
28
+ %li.button
29
+ = fancygrid_button(:"fg-reload", :"pagination.reload", "Reload")
30
+ %li.button
31
+ = fancygrid_button(:"fg-clear", :"search.clear", "Clear search")
32
+ %li.button
33
+ = fancygrid_button(:"fg-magnify", :"search.toggle", "Toggle Search")
34
+
35
+ - if fancygrid.has_sort_window?
36
+ %li.button
37
+ = fancygrid_button(:"fg-sort", :"sort.submit", "Sort columns")
38
+ %li.separator
39
+
40
+ = yield :fancygrid_buttons
@@ -0,0 +1,37 @@
1
+ .fg-fancygrid{ :class => fancygrid.name }
2
+ - if fancygrid.has_complex_search?
3
+ = render(:template => Fancygrid.search_template, :locals => { :fancygrid => fancygrid })
4
+ - if fancygrid.has_top_control?
5
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => "controls top" })
6
+
7
+ .fg-tablewrapper
8
+ - unless fancygrid.is_static?
9
+ %ul.fg-search
10
+ - fancygrid.each_visible_leaf do |leaf|
11
+ - next unless leaf.searchable
12
+ %li{ :class => leaf.css_class }
13
+ %label{ :for => leaf.tag_name }
14
+ = leaf.human_name
15
+ - case leaf.search_input_kind
16
+ - when :none
17
+ = text_field_tag( leaf.tag_name, leaf.search_value, :class => "fg-attribute" )
18
+ - when :select
19
+ = select_tag( leaf.tag_name, options_for_select(leaf.search_select_collection, :selected => leaf.search_value), :class => "fg-attribute" )
20
+
21
+ %ul.fg-row
22
+ - fancygrid.each_record do |record|
23
+ %li{ :class => fancygrid.name.to_s.singularize }
24
+ = render_fancygrid_leaf(record, fancygrid, &format_block)
25
+
26
+ - if fancygrid.has_bottom_control?
27
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => "controls bottom" })
28
+
29
+ - unless fancygrid.is_static?
30
+ :javascript
31
+ $(function(){
32
+ var fancyOptions = #{fancygrid.js_options};
33
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid(fancyOptions);
34
+ if(!fancyOptions.isStatic){
35
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid("reloadPage");
36
+ }
37
+ });
@@ -0,0 +1,33 @@
1
+ :ruby
2
+ searchable_columns = fancygrid.serachable_leafs.map{ |leaf|
3
+ [leaf.human_name, leaf.tag_name]
4
+ }
5
+ search_operators = fancygrid.search_operators.map { |op|
6
+ [I18n.t(:"search.operator.#{op.to_s}", :default => op.to_s.humanize, :scope => Fancygrid.i18n_scope ), op.to_s]
7
+ }
8
+
9
+ = field_set_tag( t(:"search.title", :default => "Search", :scope => Fancygrid.i18n_scope), :class => :"fg-search" ) do
10
+ .fg-search-controls
11
+ = fancygrid_button(:"fg-search-add", :"search.add", 'Add')
12
+ = fancygrid_button(:"fg-search-submit", :"search.submit", 'Search')
13
+ = fancygrid_button(:"fg-clear", :"search.clear", 'Clear search')
14
+ = check_box_tag(:"fg-search-conditions", :all, fancygrid.view.get_search_operator.to_s == "all")
15
+ = label_tag(:"fg-search-conditions", t(:"fancygrid.search.conditions", :default => 'All conditions must met:'))
16
+
17
+ %ul.fg-search-criteria
18
+ - fancygrid.each_visible_leaf do |leaf|
19
+ - fancygrid.view.get_node_search_conditions(leaf).each do |condition|
20
+ %li.fg-search-criterion
21
+ = fancygrid_button(:"fg-search-remove", :"search.remove", "Remove")
22
+ = select_tag(:column_name, options_for_select(searchable_columns, leaf.tag_name))
23
+ = select_tag(:operator, options_for_select(search_operators, condition[:operator]))
24
+ = text_field_tag(:column_value, condition[:value])
25
+
26
+
27
+
28
+ .fg-search-template
29
+ %li.fg-search-criterion
30
+ = fancygrid_button(:"fg-search-remove", :"search.remove", "Remove")
31
+ = select_tag(:column_name, options_for_select(searchable_columns))
32
+ = select_tag(:operator, options_for_select(search_operators ))
33
+ = text_field_tag(:column_value, "")
@@ -0,0 +1,20 @@
1
+ .fg-sort-window.ui-widget-overlay{ :style => "display: none;" }
2
+ .fg-sort-content{ :style => "display: none;" }
3
+ .ui-state-highlight.ui-corner-all
4
+ = t(:"sort.info", :scope => Fancygrid.i18n_scope)
5
+ %ul.fg-sortable-visible.fg-sortable.ui-widget-content.ui-corner-all
6
+ %li.fg-not-sortable.ui-corner-all.ui-state-active
7
+ %h4
8
+ = t(:"sort.header_visible", :scope => Fancygrid.i18n_scope)
9
+ - fancygrid.each_visible_leaf do |leaf|
10
+ %li.ui-state-default.ui-widget-header.ui-corner-all{ :class => leaf.css_class, :id => leaf.tag_name}
11
+ %span.ui-icon.ui-icon-arrowthick-2-n-s
12
+ = leaf.human_name
13
+ %ul.fg-sortable-hidden.fg-sortable.ui-widget-content.ui-corner-all
14
+ %li.fg-not-sortable.ui-corner-all.ui-state-active
15
+ %h4
16
+ = t(:"sort.header_hidden", :scope => Fancygrid.i18n_scope)
17
+ - fancygrid.each_hidden_leaf do |leaf|
18
+ %li.ui-state-default.ui-widget-header.ui-corner-all{ :class => leaf.css_class, :id => leaf.tag_name}
19
+ %span.ui-icon.ui-icon-arrowthick-2-n-s
20
+ = leaf.human_name
@@ -0,0 +1,45 @@
1
+ .fg-fancygrid{ :class => fancygrid.name }
2
+ - if fancygrid.has_complex_search?
3
+ = render(:template => Fancygrid.search_template, :locals => { :fancygrid => fancygrid })
4
+ - if fancygrid.has_top_control?
5
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => :"controls top" })
6
+
7
+ .fg-tablewrapper
8
+ %table
9
+ %tr.fg-header
10
+ - fancygrid.each_visible_leaf do |leaf|
11
+ %th{ :class => leaf.css_class, :table => leaf.record_table_name, :column => leaf.name, :order => leaf.applied_sort_order }
12
+ .fg-head-wrapper.fg-order-tag
13
+ = leaf.human_name
14
+
15
+ - if fancygrid.has_simple_search?
16
+ %tr.fg-search
17
+ - fancygrid.each_visible_leaf do |leaf|
18
+ %td{ :class => leaf.css_class }
19
+ - next unless leaf.searchable
20
+ - case leaf.search_input_kind
21
+ - when :none
22
+ = text_field_tag( leaf.tag_name, leaf.search_value, :class => :"fg-attribute" )
23
+ - when :select
24
+ = select_tag( leaf.tag_name, options_for_select(leaf.search_select_collection, :selected => leaf.search_value), :class => :"fg-attribute" )
25
+
26
+ - fancygrid.each_record do |record|
27
+ %tr.fg-row{ :class => fancygrid.css_proc_evaluate(record) }
28
+ - fancygrid.each_visible_leaf do |leaf|
29
+ %td{ :class => leaf.css_class }
30
+ = render_fancygrid_leaf(record, leaf, &format_block)
31
+
32
+ - if fancygrid.has_bottom_control?
33
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => :"controls bottom" })
34
+ - if fancygrid.has_sort_window?
35
+ = render(:template => Fancygrid.sort_template, :locals => { :fancygrid => fancygrid })
36
+
37
+ - unless fancygrid.is_static?
38
+ :javascript
39
+ $(function(){
40
+ var fancyOptions = #{fancygrid.js_options};
41
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid(fancyOptions);
42
+ if(!fancyOptions.isStatic){
43
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid("reloadPage");
44
+ }
45
+ });
@@ -0,0 +1,67 @@
1
+ Fancygrid.setup do |config|
2
+
3
+ # The path to the table template which is rendered when the grid type is set
4
+ # to :table
5
+ #
6
+ # config.table_template = "fancygrid/base/table_frame"
7
+
8
+ # The path to the list template which is rendered when the grid type is set
9
+ # to :list
10
+ #
11
+ # config.list_template = "fancygrid/base/list_frame"
12
+
13
+ # The path to the controls template which is rendered at the top and the
14
+ # bottom of a grid
15
+ #
16
+ # config.controls_template = "fancygrid/base/controls"
17
+
18
+ # The path to the sort template which defines the view of the column sorting window
19
+ #
20
+ # config.sort_template = "fancygrid/base/sort"
21
+
22
+ # The path to the search template which defines the view of the complex search
23
+ #
24
+ # config.search_template = "fancygrid/base/search"
25
+
26
+ # The prefix that is used for every cells template. Default value is
27
+ # "fancygrid" so every template is expected in the "/app/views/fancygrid"
28
+ # directory
29
+ #
30
+ # config.cells_template_directory = "fancygrid"
31
+
32
+ # The default cells template name. This is combined with the
33
+ # 'default_cells_template_directory' to get the full template name
34
+ #
35
+ # config.cells_template = "_cells"
36
+
37
+ # Specifies the the internationalization namespace where the plugin will
38
+ # lookup for translations.
39
+ #
40
+ # config.i18n_scope = "fancygrid"
41
+
42
+ # Value specifying whether the grid name is automatily used as template name
43
+ # to render a grids cells
44
+ #
45
+ # config.use_grid_name_as_cells_template = false
46
+
47
+ # Value specifying whether the search is visible or not when the grid is
48
+ # rendered for the first time.
49
+ #
50
+ # config.search_visible = false
51
+
52
+ # Specifies the default grid type. Available values are :table and :list
53
+ # :table will render the data inside a table. Each record will get its own
54
+ # table row and each attribute its own cell.
55
+ # :list will render each record inside an unordered list as an li element.
56
+ # you must provide a rendering block or a template to render each record.
57
+ #
58
+ # config.default_grid_type = :table
59
+
60
+ # Default options for number of pages selection
61
+ #
62
+ # config.default_per_page_options = [5, 10, 15, 20, 25, 30, 40, 50]
63
+
64
+ # Default value for number of pagers selection
65
+ #
66
+ # config.default_per_page_selection = 20
67
+ end
@@ -0,0 +1,41 @@
1
+ de:
2
+ fancygrid:
3
+ pagination:
4
+ per_page: 'Pro Seite:'
5
+ page: 'Seite'
6
+ of: 'von'
7
+ results: 'Ergebnisse'
8
+
9
+ prev_page: 'Vorherige Seite'
10
+ next_page: 'Nächste Seite'
11
+ reload: 'Seite neu laden'
12
+ sort:
13
+ submit: "Spalten sortieren"
14
+ info: "Sie können die Spalten per Drag&Drop sortieren. Ziehen Sie die Spalten die Sie sehen möchten in die linke Liste, alle anderen in die rechte Liste. Klicken Sie zum Abschluss in den abgedunkelten Bereich."
15
+ header_visible: "Sichtbare Spalten"
16
+ header_hidden: "Versteckte Spalten"
17
+ search:
18
+ title: 'Suche'
19
+ submit: 'Suchen'
20
+ clear: 'Suche löschen'
21
+ toggle: 'Suchleiste zeigen/verstecken'
22
+ conditions: 'Alle Bedingungen müssen erfüllt sein:'
23
+
24
+ operator:
25
+ equal: 'gleich'
26
+ not_equal: 'ungleich'
27
+ less: 'kleiner'
28
+ less_equal: 'kleiner oder gleich'
29
+ greater: 'größer'
30
+ greater_equal: 'größer oder gleich'
31
+ starts_with: 'beginnt mit'
32
+ ends_with: 'endet mit'
33
+ like: 'ähnlich wie'
34
+ is_null: 'ist leer'
35
+ is_not_null: 'ist nicht leer'
36
+ is_true: 'ist wahr'
37
+ is_not_true: 'ist nicht wahr'
38
+ is_false: 'ist falsch'
39
+ is_not_false: 'ist nicht falsch'
40
+ in: 'ist in'
41
+ not_in: 'ist nicht in'
@@ -0,0 +1,42 @@
1
+ en:
2
+ fancygrid:
3
+ pagination:
4
+ per_page: 'Per page:'
5
+ page: 'Page'
6
+ of: 'of'
7
+ results: 'Results'
8
+ prev_page: 'Pervious page'
9
+ next_page: 'Next page'
10
+ reload: 'Reload'
11
+ sort:
12
+ submit: "Sort columns"
13
+ info: "You can sort the columns using drag&drop. Drag the columns you want to be visible into the left list and all other into the right list. To submit just click somwhere outside the two lists."
14
+ header_visible: "Visible columns"
15
+ header_hidden: "Hidden columns"
16
+ search:
17
+ title: 'Search'
18
+ submit: 'Apply search'
19
+ clear: 'Clear search'
20
+ toggle: 'Show/Hide search'
21
+ conditions: 'All conditions must be met:'
22
+
23
+ operator:
24
+ equal: 'equal'
25
+ not_equal: 'not equal'
26
+ less: 'less than'
27
+ less_equal: 'less equal than'
28
+ greater: 'greater than'
29
+ greater_equal: 'greater or equal to'
30
+ starts_with: 'starts with'
31
+ ends_with: 'ends with'
32
+ like: 'like'
33
+ is_null: 'is null'
34
+ is_not_null: 'is not null'
35
+ is_true: 'is true'
36
+ is_not_true: 'is not true'
37
+ is_false: 'is false'
38
+ is_not_false: 'is not false'
39
+ in: 'is in'
40
+ not_in: 'is not in'
41
+
42
+
data/fancygrid.gemspec ADDED
@@ -0,0 +1,162 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{fancygrid}
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Alexander Gr\303\244fenstein"]
12
+ s.date = %q{2011-08-21}
13
+ s.description = %q{Enables easy table rendering in rails applications}
14
+ s.email = %q{giniedp@online.de}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".bundle/config",
21
+ ".rspec",
22
+ "CHANGELOG",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "LICENSE",
26
+ "README.rdoc",
27
+ "ROADMAP",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "app/views/fancygrid/_cells.html.haml",
31
+ "app/views/fancygrid/base/controls.html.haml",
32
+ "app/views/fancygrid/base/list_frame.html.haml",
33
+ "app/views/fancygrid/base/search.html.haml",
34
+ "app/views/fancygrid/base/sort.html.haml",
35
+ "app/views/fancygrid/base/table_frame.html.haml",
36
+ "config/initializers/fancygrid.rb",
37
+ "config/locales/fancygrid.de.yml",
38
+ "config/locales/fancygrid.en.yml",
39
+ "fancygrid.gemspec",
40
+ "init.rb",
41
+ "lib/fancygrid.rb",
42
+ "lib/fancygrid/grid.rb",
43
+ "lib/fancygrid/helper.rb",
44
+ "lib/fancygrid/node.rb",
45
+ "lib/fancygrid/query_generator.rb",
46
+ "lib/fancygrid/view.rb",
47
+ "lib/generators/install_generator.rb",
48
+ "lib/generators/views_generator.rb",
49
+ "lib/version.rb",
50
+ "public/images/fancygrid/add.png",
51
+ "public/images/fancygrid/clear.png",
52
+ "public/images/fancygrid/ddn.png",
53
+ "public/images/fancygrid/dn.png",
54
+ "public/images/fancygrid/dots.png",
55
+ "public/images/fancygrid/loading.gif",
56
+ "public/images/fancygrid/magnifier.png",
57
+ "public/images/fancygrid/next.png",
58
+ "public/images/fancygrid/order.png",
59
+ "public/images/fancygrid/prev.png",
60
+ "public/images/fancygrid/reload.png",
61
+ "public/images/fancygrid/remove.png",
62
+ "public/images/fancygrid/spacer.gif",
63
+ "public/images/fancygrid/submit.png",
64
+ "public/images/fancygrid/th_bg.png",
65
+ "public/images/fancygrid/up.png",
66
+ "public/images/fancygrid/uup.png",
67
+ "public/javascripts/fancygrid.js",
68
+ "public/javascripts/fancygrid.min.js",
69
+ "public/stylesheets/fancygrid.css",
70
+ "public/stylesheets/fancygrid.scss",
71
+ "spec/dummy/Rakefile",
72
+ "spec/dummy/app/controllers/application_controller.rb",
73
+ "spec/dummy/app/helpers/application_helper.rb",
74
+ "spec/dummy/app/models/project.rb",
75
+ "spec/dummy/app/models/ticket.rb",
76
+ "spec/dummy/app/views/layouts/application.html.erb",
77
+ "spec/dummy/config.ru",
78
+ "spec/dummy/config/application.rb",
79
+ "spec/dummy/config/boot.rb",
80
+ "spec/dummy/config/database.yml",
81
+ "spec/dummy/config/environment.rb",
82
+ "spec/dummy/config/environments/development.rb",
83
+ "spec/dummy/config/environments/production.rb",
84
+ "spec/dummy/config/environments/test.rb",
85
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
86
+ "spec/dummy/config/initializers/inflections.rb",
87
+ "spec/dummy/config/initializers/mime_types.rb",
88
+ "spec/dummy/config/initializers/secret_token.rb",
89
+ "spec/dummy/config/initializers/session_store.rb",
90
+ "spec/dummy/config/locales/en.yml",
91
+ "spec/dummy/config/routes.rb",
92
+ "spec/dummy/db/migrate/20110112183948_create_projects.rb",
93
+ "spec/dummy/db/migrate/20110112183956_create_tickets.rb",
94
+ "spec/dummy/db/test.sqlite3",
95
+ "spec/dummy/log/development.log",
96
+ "spec/dummy/log/production.log",
97
+ "spec/dummy/log/server.log",
98
+ "spec/dummy/log/test.log",
99
+ "spec/dummy/public/404.html",
100
+ "spec/dummy/public/422.html",
101
+ "spec/dummy/public/500.html",
102
+ "spec/dummy/public/favicon.ico",
103
+ "spec/dummy/public/javascripts/application.js",
104
+ "spec/dummy/public/javascripts/controls.js",
105
+ "spec/dummy/public/javascripts/dragdrop.js",
106
+ "spec/dummy/public/javascripts/effects.js",
107
+ "spec/dummy/public/javascripts/prototype.js",
108
+ "spec/dummy/public/javascripts/rails.js",
109
+ "spec/dummy/public/stylesheets/.gitkeep",
110
+ "spec/dummy/script/rails",
111
+ "spec/grid_spec.rb",
112
+ "spec/integration/navigation_spec.rb",
113
+ "spec/node_spec.rb",
114
+ "spec/query_generator_spec.rb",
115
+ "spec/spec_helper.rb"
116
+ ]
117
+ s.homepage = %q{http://github.com/giniedp/fancygrid}
118
+ s.require_paths = ["lib"]
119
+ s.rubygems_version = %q{1.5.3}
120
+ s.summary = %q{Table rendering for rails applications}
121
+ s.test_files = [
122
+ "spec/dummy/app/controllers/application_controller.rb",
123
+ "spec/dummy/app/helpers/application_helper.rb",
124
+ "spec/dummy/app/models/project.rb",
125
+ "spec/dummy/app/models/ticket.rb",
126
+ "spec/dummy/config/application.rb",
127
+ "spec/dummy/config/boot.rb",
128
+ "spec/dummy/config/environment.rb",
129
+ "spec/dummy/config/environments/development.rb",
130
+ "spec/dummy/config/environments/production.rb",
131
+ "spec/dummy/config/environments/test.rb",
132
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
133
+ "spec/dummy/config/initializers/inflections.rb",
134
+ "spec/dummy/config/initializers/mime_types.rb",
135
+ "spec/dummy/config/initializers/secret_token.rb",
136
+ "spec/dummy/config/initializers/session_store.rb",
137
+ "spec/dummy/config/routes.rb",
138
+ "spec/dummy/db/migrate/20110112183948_create_projects.rb",
139
+ "spec/dummy/db/migrate/20110112183956_create_tickets.rb",
140
+ "spec/grid_spec.rb",
141
+ "spec/integration/navigation_spec.rb",
142
+ "spec/node_spec.rb",
143
+ "spec/query_generator_spec.rb",
144
+ "spec/spec_helper.rb"
145
+ ]
146
+
147
+ if s.respond_to? :specification_version then
148
+ s.specification_version = 3
149
+
150
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
151
+ s.add_development_dependency(%q<rails>, [">= 3.0.3"])
152
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
153
+ else
154
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
155
+ s.add_dependency(%q<jeweler>, [">= 0"])
156
+ end
157
+ else
158
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
159
+ s.add_dependency(%q<jeweler>, [">= 0"])
160
+ end
161
+ end
162
+