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.
- 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
|
+
|