fancygrid 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bundle/config +2 -0
- data/.rspec +1 -0
- data/CHANGELOG +34 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +125 -0
- data/LICENSE +20 -0
- data/README.rdoc +299 -0
- data/ROADMAP +1 -0
- data/Rakefile +45 -0
- data/VERSION +1 -0
- data/app/views/fancygrid/_cells.html.haml +13 -0
- data/app/views/fancygrid/base/controls.html.haml +40 -0
- data/app/views/fancygrid/base/list_frame.html.haml +37 -0
- data/app/views/fancygrid/base/search.html.haml +33 -0
- data/app/views/fancygrid/base/sort.html.haml +20 -0
- data/app/views/fancygrid/base/table_frame.html.haml +45 -0
- data/config/initializers/fancygrid.rb +67 -0
- data/config/locales/fancygrid.de.yml +41 -0
- data/config/locales/fancygrid.en.yml +42 -0
- data/fancygrid.gemspec +162 -0
- data/init.rb +1 -0
- data/lib/fancygrid.rb +73 -0
- data/lib/fancygrid/grid.rb +387 -0
- data/lib/fancygrid/helper.rb +129 -0
- data/lib/fancygrid/node.rb +533 -0
- data/lib/fancygrid/query_generator.rb +338 -0
- data/lib/fancygrid/view.rb +148 -0
- data/lib/generators/install_generator.rb +61 -0
- data/lib/generators/views_generator.rb +25 -0
- data/lib/version.rb +0 -0
- data/public/images/fancygrid/add.png +0 -0
- data/public/images/fancygrid/clear.png +0 -0
- data/public/images/fancygrid/ddn.png +0 -0
- data/public/images/fancygrid/dn.png +0 -0
- data/public/images/fancygrid/dots.png +0 -0
- data/public/images/fancygrid/loading.gif +0 -0
- data/public/images/fancygrid/magnifier.png +0 -0
- data/public/images/fancygrid/next.png +0 -0
- data/public/images/fancygrid/order.png +0 -0
- data/public/images/fancygrid/prev.png +0 -0
- data/public/images/fancygrid/reload.png +0 -0
- data/public/images/fancygrid/remove.png +0 -0
- data/public/images/fancygrid/spacer.gif +0 -0
- data/public/images/fancygrid/submit.png +0 -0
- data/public/images/fancygrid/th_bg.png +0 -0
- data/public/images/fancygrid/up.png +0 -0
- data/public/images/fancygrid/uup.png +0 -0
- data/public/javascripts/fancygrid.js +477 -0
- data/public/javascripts/fancygrid.min.js +17 -0
- data/public/stylesheets/fancygrid.css +289 -0
- data/public/stylesheets/fancygrid.scss +302 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/project.rb +3 -0
- data/spec/dummy/app/models/ticket.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +45 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +22 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +26 -0
- data/spec/dummy/config/environments/production.rb +49 -0
- data/spec/dummy/config/environments/test.rb +35 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +58 -0
- data/spec/dummy/db/migrate/20110112183948_create_projects.rb +11 -0
- data/spec/dummy/db/migrate/20110112183956_create_tickets.rb +14 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +0 -0
- data/spec/dummy/log/production.log +0 -0
- data/spec/dummy/log/server.log +0 -0
- data/spec/dummy/log/test.log +1026 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/application.js +2 -0
- data/spec/dummy/public/javascripts/controls.js +965 -0
- data/spec/dummy/public/javascripts/dragdrop.js +974 -0
- data/spec/dummy/public/javascripts/effects.js +1123 -0
- data/spec/dummy/public/javascripts/prototype.js +6001 -0
- data/spec/dummy/public/javascripts/rails.js +175 -0
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/grid_spec.rb +15 -0
- data/spec/integration/navigation_spec.rb +9 -0
- data/spec/node_spec.rb +326 -0
- data/spec/query_generator_spec.rb +358 -0
- data/spec/spec_helper.rb +53 -0
- 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
|
+
|