ui_bibz 1.2.1 → 1.2.2

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 (90) hide show
  1. checksums.yaml +8 -8
  2. data/.yardoc/checksums +16 -16
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/Gemfile.lock +3 -3
  6. data/README.md +46 -45
  7. data/app/assets/javascripts/ui_bibz.js.coffee +4 -0
  8. data/doc/UiBibz/Concerns/Models/Searchable/ClassMethods.html +4 -4
  9. data/doc/UiBibz/Concerns/Models/Searchable.html +1 -1
  10. data/doc/UiBibz/Concerns/Models.html +1 -1
  11. data/doc/UiBibz/Concerns.html +1 -1
  12. data/doc/UiBibz/Helpers/MetaHelper.html +1 -1
  13. data/doc/UiBibz/Helpers/UiCoreHelper.html +1 -1
  14. data/doc/UiBibz/Helpers/UiUxHelper.html +1 -1
  15. data/doc/UiBibz/Helpers/UtilsHelper.html +1 -1
  16. data/doc/UiBibz/Helpers.html +1 -1
  17. data/doc/UiBibz/Rails/Engine.html +1 -1
  18. data/doc/UiBibz/Rails.html +1 -1
  19. data/doc/UiBibz/Ui/Base.html +1 -1
  20. data/doc/UiBibz/Ui/Core/Alert.html +1 -1
  21. data/doc/UiBibz/Ui/Core/Bar.html +1 -1
  22. data/doc/UiBibz/Ui/Core/Breadcrumb.html +1 -1
  23. data/doc/UiBibz/Ui/Core/BreadcrumbLink.html +1 -1
  24. data/doc/UiBibz/Ui/Core/Button.html +1 -1
  25. data/doc/UiBibz/Ui/Core/ButtonDropdown.html +1 -1
  26. data/doc/UiBibz/Ui/Core/ButtonGroup.html +1 -1
  27. data/doc/UiBibz/Ui/Core/ButtonLink.html +1 -1
  28. data/doc/UiBibz/Ui/Core/ButtonSplitDropdown.html +1 -1
  29. data/doc/UiBibz/Ui/Core/Col.html +1 -1
  30. data/doc/UiBibz/Ui/Core/Component.html +1 -1
  31. data/doc/UiBibz/Ui/Core/Dropdown.html +1 -1
  32. data/doc/UiBibz/Ui/Core/DropdownDivider.html +1 -1
  33. data/doc/UiBibz/Ui/Core/DropdownHeader.html +1 -1
  34. data/doc/UiBibz/Ui/Core/DropdownLink.html +1 -1
  35. data/doc/UiBibz/Ui/Core/Glyph.html +1 -1
  36. data/doc/UiBibz/Ui/Core/Jumbotron.html +1 -1
  37. data/doc/UiBibz/Ui/Core/Label.html +1 -1
  38. data/doc/UiBibz/Ui/Core/List.html +1 -1
  39. data/doc/UiBibz/Ui/Core/ListGroup.html +1 -1
  40. data/doc/UiBibz/Ui/Core/Modal.html +1 -1
  41. data/doc/UiBibz/Ui/Core/ModalBody.html +1 -1
  42. data/doc/UiBibz/Ui/Core/ModalFooter.html +1 -1
  43. data/doc/UiBibz/Ui/Core/ModalHeader.html +1 -1
  44. data/doc/UiBibz/Ui/Core/Nav.html +1 -1
  45. data/doc/UiBibz/Ui/Core/NavDropdown.html +1 -1
  46. data/doc/UiBibz/Ui/Core/NavLink.html +1 -1
  47. data/doc/UiBibz/Ui/Core/Navbar.html +1 -1
  48. data/doc/UiBibz/Ui/Core/NavbarForm.html +1 -1
  49. data/doc/UiBibz/Ui/Core/NavbarNav.html +1 -1
  50. data/doc/UiBibz/Ui/Core/NavbarText.html +1 -1
  51. data/doc/UiBibz/Ui/Core/Panel.html +23 -17
  52. data/doc/UiBibz/Ui/Core/ProgressBar.html +1 -1
  53. data/doc/UiBibz/Ui/Core/Row.html +1 -1
  54. data/doc/UiBibz/Ui/Core/Stars.html +1 -1
  55. data/doc/UiBibz/Ui/Core.html +2 -2
  56. data/doc/UiBibz/Ui/Ux/Actionable.html +1 -1
  57. data/doc/UiBibz/Ui/Ux/Actions.html +1 -1
  58. data/doc/UiBibz/Ui/Ux/Column.html +1 -1
  59. data/doc/UiBibz/Ui/Ux/Columns.html +1 -1
  60. data/doc/UiBibz/Ui/Ux/Grid.html +1 -1
  61. data/doc/UiBibz/Ui/Ux/Paginable.html +1 -1
  62. data/doc/UiBibz/Ui/Ux/Searchable.html +1 -1
  63. data/doc/UiBibz/Ui/Ux/Sortable.html +1 -1
  64. data/doc/UiBibz/Ui/Ux/Store.html +61 -9
  65. data/doc/UiBibz/Ui/Ux/Table.html +1 -1
  66. data/doc/UiBibz/Ui/Ux/TablePagination.html +3 -5
  67. data/doc/UiBibz/Ui/Ux/TablePaginationPerPage.html +1 -1
  68. data/doc/UiBibz/Ui/Ux/TablePanel.html +1 -1
  69. data/doc/UiBibz/Ui/Ux/TableSearchField.html +1 -1
  70. data/doc/UiBibz/Ui/Ux.html +2 -2
  71. data/doc/UiBibz/Ui.html +1 -1
  72. data/doc/UiBibz/Utils/Internationalization.html +1 -1
  73. data/doc/UiBibz/Utils.html +1 -1
  74. data/doc/UiBibz.html +2 -2
  75. data/doc/_index.html +5 -5
  76. data/doc/file.README.html +47 -46
  77. data/doc/index.html +47 -46
  78. data/doc/method_list.html +249 -243
  79. data/doc/top-level-namespace.html +1 -1
  80. data/lib/ui_bibz/concerns/models/searchable.rb +1 -0
  81. data/lib/ui_bibz/ui/core/nav/components/nav_link.rb +1 -1
  82. data/lib/ui_bibz/ui/core/panel.rb +8 -1
  83. data/lib/ui_bibz/ui/ux/table/components/store.rb +4 -0
  84. data/lib/ui_bibz/ui/ux/table/table_pagination.rb +1 -2
  85. data/lib/ui_bibz/ui/ux/table/table_pagination_per_page.rb +7 -0
  86. data/lib/ui_bibz/ui/ux/table/table_search_field.rb +9 -1
  87. data/lib/ui_bibz/version.rb +1 -1
  88. data/test/ui/nav_test.rb +2 -1
  89. data/test/ui/table_test.rb +2 -2
  90. metadata +2 -2
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Thu Sep 24 16:49:47 2015 by
106
+ Generated on Fri Oct 2 15:02:51 2015 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.6 (ruby-1.9.3).
109
109
  </div>
@@ -18,6 +18,7 @@ module UiBibz::Concerns::Models::Searchable
18
18
  {
19
19
  controller: @params[:controller],
20
20
  param_id: @params[:id],
21
+ params: @params,
21
22
  direction: @params[:direction],
22
23
  search: @params[:search],
23
24
  sort: @params[:sort],
@@ -60,7 +60,7 @@ module UiBibz::Ui::Core
60
60
 
61
61
  def link_html_options
62
62
  lho = @options[:link_html_options] || {}
63
- if @options[:nav_type] == :tabs
63
+ if @options[:nav_type] == "nav-tabs"
64
64
  lho.merge({ "aria-controls" => @options[:selector], "role" => "tab", "data-toggle" => "tab" })
65
65
  else
66
66
  lho
@@ -17,6 +17,7 @@ module UiBibz::Ui::Core
17
17
  # You can pass arguments in options attribute:
18
18
  # * +state+ - State of élement with symbol value:
19
19
  # (+:default+, +:primary+, +:info+, +:warning+, +:danger+)
20
+ # * +tab+ - String | To link with the component nav
20
21
  #
21
22
  # ==== Signatures
22
23
  #
@@ -100,7 +101,9 @@ module UiBibz::Ui::Core
100
101
 
101
102
  # Render html tag
102
103
  def render
103
- content_tag :div, class_and_html_options("panel") do
104
+ @html_options[:id] = @options[:tab] unless @options[:tab].nil?
105
+
106
+ content_tag :div, class_and_html_options(["panel", tab_pane]) do
104
107
  concat(header_html) unless @header.nil?
105
108
  concat(body_html) if !@body.nil? || !@content.nil?
106
109
  concat(footer_html) unless @footer.nil?
@@ -127,5 +130,9 @@ module UiBibz::Ui::Core
127
130
  content_tag :div, @footer.render, @footer.class_and_html_options("panel-footer")
128
131
  end
129
132
 
133
+ def tab_pane
134
+ "tab-pane" if @options[:tab]
135
+ end
136
+
130
137
  end
131
138
  end
@@ -68,6 +68,10 @@ module UiBibz::Ui::Ux
68
68
  @store.controller
69
69
  end
70
70
 
71
+ def parameters
72
+ @store.try(:params) || {}
73
+ end
74
+
71
75
  def action
72
76
  @store.action
73
77
  end
@@ -35,8 +35,7 @@ module UiBibz::Ui::Ux
35
35
 
36
36
  # Render html tag with boostrap pagination theme
37
37
  def render
38
- paginate_parameters = { controller: store.controller }
39
- paginate_parameters = paginate_parameters.merge({ store_id: store.id }) unless store.id.nil?
38
+ paginate_parameters = { controller: store.controller }.merge(store.parameters)
40
39
  will_paginate(store.records, params: paginate_parameters, renderer: BootstrapPagination::Rails)
41
40
  end
42
41
 
@@ -62,6 +62,9 @@ module UiBibz::Ui::Ux
62
62
  content_tag :div, class: 'table-pagination-per-page' do
63
63
  concat results_count_html
64
64
  concat UiBibz::Utils::Internationalization.new("ui_bibz.table.pagination.per_page", default: "Per page: ").translate
65
+ store.parameters.each do |k,v|
66
+ concat tag(:input, type: 'hidden', name: k, value: v) unless default_parameters?(k)
67
+ end
65
68
  concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-control')
66
69
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # If there is more 1 table in html page
67
70
  end
@@ -79,5 +82,9 @@ module UiBibz::Ui::Ux
79
82
  store.limit_value * store.current_page
80
83
  end
81
84
 
85
+ def default_parameters?(k)
86
+ %w(store_id search controller action utf8).include?(k)
87
+ end
88
+
82
89
  end
83
90
  end
@@ -21,7 +21,8 @@ module UiBibz::Ui::Ux
21
21
  private
22
22
 
23
23
  def url_parameters
24
- { controller: store.controller, action: store.action, id: store.param_id }
24
+ #{ controller: store.controller, action: store.action, id: store.param_id }
25
+ store.parameters
25
26
  end
26
27
 
27
28
  # Store must be generated by *table_search_pagination* method
@@ -38,6 +39,9 @@ module UiBibz::Ui::Ux
38
39
  def search_field_html
39
40
  content_tag :div, @search_field.class_and_html_options(div_class) do
40
41
  concat content_tag(:span, UiBibz::Ui::Core::Glyph.new('search').render, class: 'input-group-addon')
42
+ store.parameters.each do |k,v|
43
+ concat tag(:input, type: 'hidden', name: k, value: v) unless default_parameters?(k)
44
+ end
41
45
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # if there is more one table in html page
42
46
  concat tag(:input, type: 'search', value: store.search, name: 'search', class: 'form-control', placeholder: search_placeholder_field)
43
47
  concat content_tag(:span, UiBibz::Ui::Core::Glyph.new('times-circle').render, class: 'clear-search-btn input-group-addon')
@@ -71,5 +75,9 @@ module UiBibz::Ui::Ux
71
75
  attr.kind_of?(Hash) ? "#{ attr.keys.first }_#{ attr.values.first }".to_sym : attr
72
76
  end
73
77
 
78
+ def default_parameters?(k)
79
+ %w(store_id search controller action utf8).include?(k)
80
+ end
81
+
74
82
  end
75
83
  end
@@ -1,3 +1,3 @@
1
1
  module UiBibz
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
data/test/ui/nav_test.rb CHANGED
@@ -8,7 +8,8 @@ class NavTest < ActionView::TestCase
8
8
  n.link 'Profile', url: "#profile", selector: 'profile'
9
9
  n.link 'Messages', url: "#messages", selector: 'messages'
10
10
  end.render
11
- expected = "<ul class=\"nav nav-tabs\"><li class=\"active\" role=\"presentation\"><a href=\"#Home\">Home</a></li><li role=\"presentation\"><a href=\"#profile\">Profile</a></li><li role=\"presentation\"><a href=\"#messages\">Messages</a></li></ul>"
11
+ expected = "<ul class=\"nav nav-tabs\"><li class=\"active\" role=\"presentation\"><a aria-controls=\"home\" role=\"tab\" data-toggle=\"tab\" href=\"#Home\">Home</a></li><li role=\"presentation\"><a aria-controls=\"profile\" role=\"tab\" data-toggle=\"tab\" href=\"#profile\">Profile</a></li><li role=\"presentation\"><a aria-controls=\"messages\" role=\"tab\" data-toggle=\"tab\" href=\"#messages\">Messages</a></li></ul>"
12
+
12
13
  assert_equal expected, actual
13
14
  end
14
15
 
@@ -24,14 +24,14 @@ class TableTest < ActionView::TestCase
24
24
 
25
25
  test 'table search field' do
26
26
  actual = UiBibz::Ui::Ux::TableSearchField.new({ store: @users}).render
27
- expected = "<form class=\"form-table-search-field\" action=\"/users\" accept-charset=\"UTF-8\" method=\"get\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><div class=\"input-group input-group-sm table-search-field\"><span class=\"input-group-addon\"><i class=\"glyph fa fa-search\"></i></span><input type=\"search\" value=\"Name fr\" name=\"search\" class=\"form-control\" placeholder=\"Search by Name fr and Name en...\" /><span class=\"clear-search-btn input-group-addon\"><i class=\"glyph fa fa-times-circle\"></i></span></div></form>"
27
+ expected = "<form class=\"form-table-search-field\" action=\"/users?direction=asc&amp;page=1&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\" accept-charset=\"UTF-8\" method=\"get\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><div class=\"input-group input-group-sm table-search-field\"><span class=\"input-group-addon\"><i class=\"glyph fa fa-search\"></i></span><input type=\"hidden\" name=\"controller\" value=\"users\" /><input type=\"hidden\" name=\"action\" value=\"index\" /><input type=\"hidden\" name=\"sort\" value=\"users.name_fr\" /><input type=\"hidden\" name=\"direction\" value=\"asc\" /><input type=\"hidden\" name=\"search\" value=\"Name fr\" /><input type=\"hidden\" name=\"per_page\" value=\"2\" /><input type=\"hidden\" name=\"page\" value=\"1\" /><input type=\"search\" value=\"Name fr\" name=\"search\" class=\"form-control\" placeholder=\"Search by Name fr and Name en...\" /><span class=\"clear-search-btn input-group-addon\"><i class=\"glyph fa fa-times-circle\"></i></span></div></form>"
28
28
 
29
29
  assert_equal expected, actual
30
30
  end
31
31
 
32
32
  test 'table pagination' do
33
33
  actual = UiBibz::Ui::Ux::TablePagination.new({ store: @users }).render
34
- expected = "<ul class=\"pagination pagination\"><li class=\"prev disabled\"><span>&#8592; Previous</span></li> <li class=\"active\"><span>1</span></li> <li><a rel=\"next\" href=\"/users?page=2\">2</a></li> <li><a href=\"/users?page=3\">3</a></li> <li><a href=\"/users?page=4\">4</a></li> <li><a href=\"/users?page=5\">5</a></li> <li><a href=\"/users?page=6\">6</a></li> <li><a href=\"/users?page=7\">7</a></li> <li><a href=\"/users?page=8\">8</a></li> <li><a href=\"/users?page=9\">9</a></li> <li class=\"disabled\"><span>&hellip;</span></li> <li><a href=\"/users?page=12\">12</a></li> <li><a href=\"/users?page=13\">13</a></li> <li class=\"next\"><a rel=\"next\" href=\"/users?page=2\">Next &#8594;</a></li></ul>"
34
+ expected = "<ul class=\"pagination pagination\"><li class=\"prev disabled\"><span>&#8592; Previous</span></li> <li class=\"active\"><span>1</span></li> <li><a rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">2</a></li> <li><a href=\"/users?direction=asc&amp;page=3&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">3</a></li> <li><a href=\"/users?direction=asc&amp;page=4&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">4</a></li> <li><a href=\"/users?direction=asc&amp;page=5&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">5</a></li> <li><a href=\"/users?direction=asc&amp;page=6&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">6</a></li> <li><a href=\"/users?direction=asc&amp;page=7&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">7</a></li> <li><a href=\"/users?direction=asc&amp;page=8&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">8</a></li> <li><a href=\"/users?direction=asc&amp;page=9&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">9</a></li> <li class=\"disabled\"><span>&hellip;</span></li> <li><a href=\"/users?direction=asc&amp;page=12&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">12</a></li> <li><a href=\"/users?direction=asc&amp;page=13&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">13</a></li> <li class=\"next\"><a rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\">Next &#8594;</a></li></ul>"
35
35
 
36
36
  assert_equal expected, actual
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ui_bibz
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thooams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-24 00:00:00.000000000 Z
11
+ date: 2015-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails