ui_bibz 1.2.5.3 → 2.0.0.alpha

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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +10 -7
  5. data/README.md +8 -1042
  6. data/app/assets/javascripts/multi_column.coffee +45 -0
  7. data/app/assets/javascripts/{ui_bibz.js.coffee → ui_bibz.coffee} +16 -3
  8. data/app/assets/stylesheets/fix-bootstrap-4.sass +2 -0
  9. data/app/assets/stylesheets/ui_bibz.sass +22 -9
  10. data/app/inputs/custom_inputs/date_picker_input.rb +10 -0
  11. data/app/inputs/custom_inputs/date_picker_input_old.rb +61 -0
  12. data/app/inputs/custom_inputs/multi_column_input.rb +18 -0
  13. data/app/inputs/custom_inputs/multi_select_input.rb +15 -0
  14. data/app/inputs/custom_inputs/surround_input.rb +10 -0
  15. data/doc/UiBibz.html +2 -2
  16. data/doc/UiBibz/Concerns.html +1 -1
  17. data/doc/UiBibz/Concerns/Models.html +1 -1
  18. data/doc/UiBibz/Concerns/Models/Searchable.html +1 -1
  19. data/doc/UiBibz/Concerns/Models/Searchable/ClassMethods.html +5 -5
  20. data/doc/UiBibz/Helpers.html +1 -1
  21. data/doc/UiBibz/Helpers/MetaHelper.html +1 -1
  22. data/doc/UiBibz/Helpers/UiCoreHelper.html +1 -1
  23. data/doc/UiBibz/Helpers/UiUxHelper.html +1 -1
  24. data/doc/UiBibz/Helpers/UtilsHelper.html +1 -1
  25. data/doc/UiBibz/Rails.html +1 -1
  26. data/doc/UiBibz/Rails/Engine.html +1 -1
  27. data/doc/UiBibz/Ui.html +1 -1
  28. data/doc/UiBibz/Ui/Base.html +1 -1
  29. data/doc/UiBibz/Ui/Core.html +1 -1
  30. data/doc/UiBibz/Ui/Core/Alert.html +1 -1
  31. data/doc/UiBibz/Ui/Core/Bar.html +1 -1
  32. data/doc/UiBibz/Ui/Core/Breadcrumb.html +1 -1
  33. data/doc/UiBibz/Ui/Core/BreadcrumbLink.html +1 -1
  34. data/doc/UiBibz/Ui/Core/Button.html +1 -1
  35. data/doc/UiBibz/Ui/Core/ButtonDropdown.html +1 -1
  36. data/doc/UiBibz/Ui/Core/ButtonGroup.html +1 -1
  37. data/doc/UiBibz/Ui/Core/ButtonLink.html +1 -1
  38. data/doc/UiBibz/Ui/Core/ButtonSplitDropdown.html +1 -1
  39. data/doc/UiBibz/Ui/Core/Col.html +1 -1
  40. data/doc/UiBibz/Ui/Core/Component.html +1 -1
  41. data/doc/UiBibz/Ui/Core/Dropdown.html +1 -1
  42. data/doc/UiBibz/Ui/Core/DropdownDivider.html +1 -1
  43. data/doc/UiBibz/Ui/Core/DropdownHeader.html +1 -1
  44. data/doc/UiBibz/Ui/Core/DropdownLink.html +1 -1
  45. data/doc/UiBibz/Ui/Core/Glyph.html +1 -1
  46. data/doc/UiBibz/Ui/Core/Jumbotron.html +1 -1
  47. data/doc/UiBibz/Ui/Core/Label.html +1 -1
  48. data/doc/UiBibz/Ui/Core/List.html +1 -1
  49. data/doc/UiBibz/Ui/Core/ListGroup.html +1 -1
  50. data/doc/UiBibz/Ui/Core/Modal.html +1 -1
  51. data/doc/UiBibz/Ui/Core/ModalBody.html +1 -1
  52. data/doc/UiBibz/Ui/Core/ModalFooter.html +1 -1
  53. data/doc/UiBibz/Ui/Core/ModalHeader.html +1 -1
  54. data/doc/UiBibz/Ui/Core/Nav.html +1 -1
  55. data/doc/UiBibz/Ui/Core/NavDropdown.html +1 -1
  56. data/doc/UiBibz/Ui/Core/NavLink.html +1 -1
  57. data/doc/UiBibz/Ui/Core/Navbar.html +1 -1
  58. data/doc/UiBibz/Ui/Core/NavbarForm.html +1 -1
  59. data/doc/UiBibz/Ui/Core/NavbarNav.html +1 -1
  60. data/doc/UiBibz/Ui/Core/NavbarText.html +1 -1
  61. data/doc/UiBibz/Ui/Core/Panel.html +1 -1
  62. data/doc/UiBibz/Ui/Core/ProgressBar.html +1 -1
  63. data/doc/UiBibz/Ui/Core/Row.html +1 -1
  64. data/doc/UiBibz/Ui/Core/Stars.html +1 -1
  65. data/doc/UiBibz/Ui/Ux.html +1 -1
  66. data/doc/UiBibz/Ui/Ux/Actionable.html +1 -1
  67. data/doc/UiBibz/Ui/Ux/Actions.html +1 -1
  68. data/doc/UiBibz/Ui/Ux/Column.html +1 -1
  69. data/doc/UiBibz/Ui/Ux/Columns.html +1 -1
  70. data/doc/UiBibz/Ui/Ux/Grid.html +1 -1
  71. data/doc/UiBibz/Ui/Ux/Paginable.html +1 -1
  72. data/doc/UiBibz/Ui/Ux/Searchable.html +1 -1
  73. data/doc/UiBibz/Ui/Ux/Sortable.html +1 -1
  74. data/doc/UiBibz/Ui/Ux/Store.html +18 -70
  75. data/doc/UiBibz/Ui/Ux/Table.html +1 -1
  76. data/doc/UiBibz/Ui/Ux/TablePagination.html +1 -1
  77. data/doc/UiBibz/Ui/Ux/TablePaginationPerPage.html +1 -1
  78. data/doc/UiBibz/Ui/Ux/TablePanel.html +1 -1
  79. data/doc/UiBibz/Ui/Ux/TableSearchField.html +1 -1
  80. data/doc/UiBibz/Utils.html +1 -1
  81. data/doc/UiBibz/Utils/Internationalization.html +1 -1
  82. data/doc/_index.html +1 -1
  83. data/doc/file.README.html +47 -51
  84. data/doc/index.html +47 -51
  85. data/doc/method_list.html +69 -75
  86. data/doc/top-level-namespace.html +1 -1
  87. data/lib/ui_bibz.rb +14 -7
  88. data/lib/ui_bibz/helpers/ui_core_helper.rb +46 -11
  89. data/lib/ui_bibz/helpers/ui_ux_helper.rb +7 -3
  90. data/lib/ui_bibz/rails/engine.rb +2 -2
  91. data/lib/ui_bibz/ui/base.rb +5 -0
  92. data/lib/ui_bibz/ui/core/alert.rb +15 -6
  93. data/lib/ui_bibz/ui/core/breadcrumb/breadcrumb.rb +37 -2
  94. data/lib/ui_bibz/ui/core/breadcrumb/components/breadcrumb_link.rb +3 -3
  95. data/lib/ui_bibz/ui/core/button/button.rb +39 -6
  96. data/lib/ui_bibz/ui/core/button/button_choice.rb +104 -0
  97. data/lib/ui_bibz/ui/core/button/button_dropdown.rb +15 -2
  98. data/lib/ui_bibz/ui/core/button/button_group.rb +17 -5
  99. data/lib/ui_bibz/ui/core/button/button_link.rb +8 -11
  100. data/lib/ui_bibz/ui/core/button/button_split_dropdown.rb +15 -5
  101. data/lib/ui_bibz/ui/core/card/card.rb +158 -0
  102. data/lib/ui_bibz/ui/core/card/card_column.rb +60 -0
  103. data/lib/ui_bibz/ui/core/card/card_deck.rb +62 -0
  104. data/lib/ui_bibz/ui/core/card/card_group.rb +60 -0
  105. data/lib/ui_bibz/ui/core/card/components/block/card_block_link.rb +51 -0
  106. data/lib/ui_bibz/ui/core/card/components/block/card_block_text.rb +51 -0
  107. data/lib/ui_bibz/ui/core/card/components/block/card_block_title.rb +51 -0
  108. data/lib/ui_bibz/ui/core/card/components/card_block.rb +67 -0
  109. data/lib/ui_bibz/ui/core/card/components/card_footer.rb +55 -0
  110. data/lib/ui_bibz/ui/core/card/components/card_header.rb +51 -0
  111. data/lib/ui_bibz/ui/core/card/components/card_image.rb +57 -0
  112. data/lib/ui_bibz/ui/core/card/components/card_list_group.rb +47 -0
  113. data/lib/ui_bibz/ui/core/component.rb +78 -32
  114. data/lib/ui_bibz/ui/core/dropdown/components/dropdown_divider.rb +1 -1
  115. data/lib/ui_bibz/ui/core/dropdown/components/dropdown_header.rb +11 -1
  116. data/lib/ui_bibz/ui/core/dropdown/components/dropdown_link.rb +11 -4
  117. data/lib/ui_bibz/ui/core/dropdown/dropdown.rb +14 -6
  118. data/lib/ui_bibz/ui/core/glyph.rb +22 -4
  119. data/lib/ui_bibz/ui/core/input/date_picker_field.rb +125 -0
  120. data/lib/ui_bibz/ui/core/input/multi_column_field.rb +77 -0
  121. data/lib/ui_bibz/ui/core/input/multi_select_field.rb +89 -0
  122. data/lib/ui_bibz/ui/core/input/surround_field.rb +74 -0
  123. data/lib/ui_bibz/ui/core/jumbotron.rb +10 -6
  124. data/lib/ui_bibz/ui/core/label.rb +13 -3
  125. data/lib/ui_bibz/ui/core/{col.rb → layout/col.rb} +38 -18
  126. data/lib/ui_bibz/ui/core/layout/container.rb +65 -0
  127. data/lib/ui_bibz/ui/core/{row.rb → layout/row.rb} +7 -1
  128. data/lib/ui_bibz/ui/core/list/components/list.rb +26 -11
  129. data/lib/ui_bibz/ui/core/list/components/list_body.rb +36 -0
  130. data/lib/ui_bibz/ui/core/list/components/list_header.rb +36 -0
  131. data/lib/ui_bibz/ui/core/list/list_group.rb +7 -3
  132. data/lib/ui_bibz/ui/core/modal/components/modal_body.rb +7 -1
  133. data/lib/ui_bibz/ui/core/modal/components/modal_footer.rb +7 -1
  134. data/lib/ui_bibz/ui/core/modal/components/modal_header.rb +5 -2
  135. data/lib/ui_bibz/ui/core/modal/modal.rb +13 -2
  136. data/lib/ui_bibz/ui/core/nav/components/nav_dropdown.rb +6 -2
  137. data/lib/ui_bibz/ui/core/nav/components/nav_link.rb +7 -18
  138. data/lib/ui_bibz/ui/core/nav/components/nav_link_link.rb +45 -0
  139. data/lib/ui_bibz/ui/core/nav/components/nav_link_list.rb +35 -0
  140. data/lib/ui_bibz/ui/core/nav/components/navbar_brand.rb +40 -0
  141. data/lib/ui_bibz/ui/core/nav/components/navbar_form.rb +2 -2
  142. data/lib/ui_bibz/ui/core/nav/components/navbar_nav.rb +1 -1
  143. data/lib/ui_bibz/ui/core/nav/components/navbar_text.rb +6 -2
  144. data/lib/ui_bibz/ui/core/nav/nav.rb +22 -4
  145. data/lib/ui_bibz/ui/core/nav/navbar.rb +26 -17
  146. data/lib/ui_bibz/ui/core/progress.rb +98 -0
  147. data/lib/ui_bibz/ui/core/stars.rb +13 -5
  148. data/lib/ui_bibz/ui/ux/table/components/actions.rb +4 -0
  149. data/lib/ui_bibz/ui/ux/table/components/store.rb +4 -4
  150. data/lib/ui_bibz/ui/ux/table/extensions/actionable.rb +15 -13
  151. data/lib/ui_bibz/ui/ux/table/extensions/paginable.rb +7 -6
  152. data/lib/ui_bibz/ui/ux/table/extensions/searchable.rb +6 -5
  153. data/lib/ui_bibz/ui/ux/table/table.rb +14 -7
  154. data/lib/ui_bibz/ui/ux/table/{table_panel.rb → table_card.rb} +34 -36
  155. data/lib/ui_bibz/ui/ux/table/table_search_field.rb +19 -11
  156. data/lib/ui_bibz/version.rb +1 -1
  157. data/test/ui/breadcrumb_test.rb +25 -0
  158. data/test/ui/button_test.rb +44 -4
  159. data/test/ui/card_test.rb +106 -0
  160. data/test/ui/col_test.rb +22 -0
  161. data/test/ui/dropdown_test.rb +1 -1
  162. data/test/ui/inputs_test.rb +81 -0
  163. data/test/ui/list_group_test.rb +1 -1
  164. data/test/ui/nav_test.rb +4 -5
  165. data/test/ui/table_test.rb +11 -11
  166. data/test/ui_helper_test.rb +29 -18
  167. data/ui_bibz.gemspec +3 -3
  168. data/vendor/assets/images/switch.png +0 -0
  169. data/vendor/assets/javascripts/bootstrap-4.0.0-alpha.min.js +7 -0
  170. data/vendor/assets/javascripts/bootstrap-multiselect.min.js +1180 -0
  171. data/vendor/assets/javascripts/jquery.multi-select.min.js +1 -0
  172. data/vendor/assets/javascripts/jquery.quicksearch.min.js +1 -0
  173. data/vendor/assets/stylesheets/bootstrap-4.0.0-alpha.min.css +6 -0
  174. data/vendor/assets/stylesheets/bootstrap-datepicker3.min.css +1 -1
  175. data/vendor/assets/stylesheets/bootstrap-multiselect.min.css +1 -0
  176. data/vendor/assets/stylesheets/multi-select.min.css +1 -0
  177. metadata +70 -24
  178. data/.yardoc/checksums +0 -59
  179. data/.yardoc/object_types +0 -0
  180. data/.yardoc/objects/root.dat +0 -0
  181. data/.yardoc/proxy_types +0 -0
  182. data/lib/ui_bibz/helpers/meta_helper.rb +0 -32
  183. data/lib/ui_bibz/ui/core/panel.rb +0 -138
  184. data/lib/ui_bibz/ui/core/progress_bar/components/bar.rb +0 -105
  185. data/lib/ui_bibz/ui/core/progress_bar/progress_bar.rb +0 -94
  186. data/lib/ui_bibz/ui/ux/grid.rb +0 -121
  187. data/test/ui/grid_test.rb +0 -46
  188. data/test/ui/panel_test.rb +0 -52
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 692ff6765fee1f84245bafe38d3cc1a17ff949f9
4
- data.tar.gz: 9a0eda351529adcbdb555204222166c17bc9909f
3
+ metadata.gz: 2d33883fa7f3a8fa1092d3c011c634e94e69f107
4
+ data.tar.gz: b27fd0d3e07693c91c8d92adf01b6910fbf8a8ae
5
5
  SHA512:
6
- metadata.gz: 0c0ec2a58207dfc9e1f4fec1e7e9344415ff8c068572cbd0dc8bf5b8a440455a58f1d28f3158899062bb8a3a5a88884c979cb16b0a4177a89fec94022ec7b054
7
- data.tar.gz: f2793c6ac44e4002ffd67b0cdf7eee67f6168774f55c36e55df0230ed78f19413ef92484d28bd7dd917f39a43349d883883f53ebddac840f02907c0e39252ef9
6
+ metadata.gz: 7e33cee7fa94acc9b9b6884d3f880aef02afef79517c0be6802084832fceca94b9873ce429a09e1ce0ebe0dbd4bb130cab9876f1e6fb3148e563c56e74ef17a0
7
+ data.tar.gz: 10f162ab46b76018679a40117476e4d7011ec87cd565b1167938548b764e9d59825d6cf82a5776c2a194dc33579241c6e6ad2db0ad2f56ed8181e99796dbe5ad
data/.gitignore CHANGED
@@ -10,6 +10,7 @@ test/dummy/.sass-cache
10
10
  capybara-*.html
11
11
  .rspec
12
12
  /log
13
+ /.yardoc
13
14
  /tmp
14
15
  /db/*.sqlite3
15
16
  /public/system
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source 'https://rubygems.org'
2
+ source 'https://rails-assets.org'
2
3
 
3
4
  # Declare your gem's dependencies in ui_bibz.gemspec.
4
5
  # Bundler will treat runtime dependencies like base dependencies, and
data/Gemfile.lock CHANGED
@@ -1,19 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ui_bibz (1.2.5.3)
5
- bootstrap-sass (~> 3.3.5)
4
+ ui_bibz (2.0.0.alpha)
5
+ bootstrap (~> 4.0.0.alpha3)
6
6
  font-awesome-sass
7
7
  haml
8
8
  haml-rails
9
9
  rails (>= 4.2.0)
10
+ rails-assets-tether (>= 1.1.0)
10
11
  sass-rails (>= 5.0.0)
11
12
  will-paginate-i18n
12
- will_paginate (~> 3.0.7)
13
+ will_paginate (~> 3.1.0)
13
14
  will_paginate-bootstrap
14
15
 
15
16
  GEM
16
17
  remote: https://rubygems.org/
18
+ remote: https://rails-assets.org/
17
19
  specs:
18
20
  actionmailer (4.2.5.2)
19
21
  actionpack (= 4.2.5.2)
@@ -54,9 +56,9 @@ GEM
54
56
  autoprefixer-rails (6.3.3.1)
55
57
  execjs
56
58
  awesome_print (1.6.1)
57
- bootstrap-sass (3.3.6)
58
- autoprefixer-rails (>= 5.2.1)
59
- sass (>= 3.3.4)
59
+ bootstrap (4.0.0.alpha3)
60
+ autoprefixer-rails (>= 6.0.3)
61
+ sass (>= 3.4.19)
60
62
  builder (3.2.2)
61
63
  codeclimate-test-reporter (0.5.0)
62
64
  simplecov (>= 0.7.1, < 1.0.0)
@@ -111,6 +113,7 @@ GEM
111
113
  bundler (>= 1.3.0, < 2.0)
112
114
  railties (= 4.2.5.2)
113
115
  sprockets-rails
116
+ rails-assets-tether (1.2.0)
114
117
  rails-deprecated_sanitizer (1.0.3)
115
118
  activesupport (>= 4.2.0.alpha)
116
119
  rails-dom-testing (1.0.7)
@@ -156,7 +159,7 @@ GEM
156
159
  tzinfo (1.2.2)
157
160
  thread_safe (~> 0.1)
158
161
  will-paginate-i18n (0.1.15)
159
- will_paginate (3.0.7)
162
+ will_paginate (3.1.0)
160
163
  will_paginate-bootstrap (1.0.1)
161
164
  will_paginate (>= 3.0.3)
162
165
 
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ![Ui Bibz logo](http://hummel.link/Ui-Bibz/1.2.5/images/ui-bibz-logo-without-border.gif)
1
+ ![Ui Bibz logo](http://hummel.link/Ui-Bibz/2.0.0/images/ui-bibz-logo-without-border.gif)
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ui_bibz.svg)](http://badge.fury.io/rb/ui_bibz)
4
4
  [![Build Status](https://travis-ci.org/thooams/Ui-Bibz.svg)](https://travis-ci.org/thooams/Ui-Bibz)
@@ -11,1047 +11,13 @@
11
11
  This project rocks and uses MIT-LICENSE.
12
12
 
13
13
  # Ui Bibz
14
- > Ui Bibz est un [framework d'interface](http://fr.wikipedia.org/wiki/Framework_d%27interface)
15
- > permettant de construire une interface très rapidement et simplement
16
- > à l'aide de [Ruby on Rails 4](http://rubyonrails.org/) et de [Boostrap 3](http://getbootstrap.com/).
14
+ > Ui Bibz is a [Ui framework](http://fr.wikipedia.org/wiki/Framework_d%27interface)
15
+ > to allow build an interface very quickly and simply
16
+ > using [Ruby on Rails 4](http://rubyonrails.org/) and [Boostrap 4](http://getbootstrap.com/).
17
17
 
18
- Ui Bibz charge la librairie [boostrap](http://getbootstrap.com/) et
19
- [awesomefont](http://fontawesome.io/).
18
+ Ui Bibz load [boostrap](http://getbootstrap.com/) and [awesomefont](http://fontawesome.io/).
20
19
 
21
- Tous les composants du framework Ui Bibz comportent l'agument *options* et l'argument *html_options*.
22
- Ces éléments sont basés sur l'élément ```Component```.
23
- Un ```component``` accepte un contenu par variable ou par block.
24
-
25
- ### Component
26
-
27
- L'élément ```component``` accepte dans content et block :
28
-
29
- * le contenu
30
-
31
- L'élément ```component``` à pour ```options``` un Hash acceptant les clefs :
32
-
33
- * [state](#state-values)
34
- * [glyph](#glyph-arguments)
35
- * [status](#status-values)
36
- * class
37
-
38
-
39
- L'élément ```component``` à pour ```html_options``` un Hash acceptant les clefs :
40
-
41
- * class
42
- * data
43
- * ...
44
-
45
- Exemple :
46
-
47
- ```
48
- Component.new 'Exemple', { state: :success, glyph: { name: 'pencil', size: 3} }, { class: 'exemple' }
49
-
50
- Component.new { state: :success, glyph: 'eye' }, { class: 'exemple' } do
51
- 'Exemple'
52
- end
53
- ```
54
-
55
- Signature :
56
-
57
- ```
58
- Component.new content = nil, options = nil, html_options = nil, &block
59
- ```
60
-
61
- **NB** : Pour des raisons de simplicité d'écriture, l'argument ```class``` est présent
62
- dans ```options``` et ```html_options```.
63
-
64
-
65
- ## Installation
66
-
67
- Ajouter la gem dans Rails :
68
-
69
- ```
70
- gem "ui_bibz", '~> 1.2.5'
71
- ```
72
-
73
- Lancer la command suivante :
74
-
75
- ```
76
- bundle install
77
- ```
78
-
79
- Placer la ligne suivante dans ```/app/views/layouts/application.rb```
80
-
81
- ```
82
- = ui_bibz_meta_links
83
- ```
84
-
85
- Exemple ([haml](http://haml.info/)):
86
- ```
87
- !!!
88
- %html
89
- %head
90
- ...
91
- = ui_bibz_meta_links
92
- ...
93
- %body
94
- ```
95
-
96
- Ui Bibz chargera les librairies en CDN directement dans votre application.
97
- Si vous préférez charger les librairies en locales, utilisez plutôt la méthode ```ui_bibz_local_meta_links```
98
- et insérez dans le fichier ```/config/initializers/assets.rb``` de votre
99
- application cette ligne:
100
-
101
- ```
102
- # For Ui bibz js
103
- Rails.application.config.assets.precompile += %w(jquery-2.1.4.min.js)
104
-
105
- ```
106
-
107
- Placer la ligne suivante dans ```/app/assets/stylesheets/applications.css```
108
-
109
- ```
110
- ...
111
- *= require ui_bibz
112
- ...
113
- ```
114
-
115
- Placer la ligne suivante dans ```/app/assets/javascripts/applications.js```
116
-
117
- ```
118
- ...
119
- //= require ui_bibz
120
- ...
121
- ```
122
-
123
- _Ps: Vous pouvez utiliser les variables sass présentes dans boostrap._
124
-
125
- ## Utilisation
126
-
127
- ### Alert
128
-
129
- ![alert](http://hummel.link/Ui-Bibz/1.2.5/images/alert.png)
130
-
131
- L'élément ```notify``` à pour ```options``` un Hash acceptant les clefs :
132
-
133
- * [state](#state-values)
134
- * [glyph](#glyph-arguments)
135
-
136
- ```
137
- notify 'Alert', state: :info, glyph: 'eye'
138
- ```
139
-
140
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Alert.html)
141
-
142
- ### Breadcrumb (fil d'ariane)
143
-
144
- ![breadcrumb](http://hummel.link/Ui-Bibz/1.2.5/images/breadcrumb.png)
145
-
146
- L'élément ```breadcrumb``` à pour enfant l'élément ```link``` qui accepte pour option un Hash avec les clefs :
147
-
148
- * [status](#status-values)
149
- * [glyph](#glyph-arguments)
150
- * url
151
-
152
- ```
153
- breadcrumb do |b|
154
- b.link 'Exemple 1', url: '#exemple-1', glyph: 'home'
155
- b.link({ url: '#exemple-2' }, { class:'link' }) do
156
- 'Exemple 2'
157
- end
158
- b.link 'Exemple 3', status: :active
159
- end
160
- ```
161
-
162
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Breadcrumb.html)
163
-
164
- ### Buttons (Boutons)
165
-
166
- #### Button
167
-
168
- ![button](http://hummel.link/Ui-Bibz/1.2.5/images/button.png)
169
-
170
- L'élément ```button``` à pour ```options``` un Hash acceptant les clefs :
171
-
172
- * [state](#state-values)
173
- * [status](#status-values)
174
- * [glyph](#glyph-arguments)
175
- * [size](#size-values)
176
-
177
- ```
178
- button 'Button', { state: :danger, size: :xs, glyph: 'star' } , { class: 'my-button' }
179
- ```
180
-
181
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Button.html)
182
-
183
- #### Button Dropdown
184
-
185
- L'élément ```button_dropdown``` accepte pour options les mêmes clefs que l'élément
186
- [dropdown](#dropdown).
187
-
188
- ![button_link](http://hummel.link/Ui-Bibz/1.2.5/images/button_dropdown.png)
189
-
190
- ```
191
- button_dropdown 'Button Dropdown' do |bd|
192
- bd.link Link 1', '#'
193
- bd.header 'Header 1'
194
- bd.link 'Link 2'
195
- bd.divider
196
- bd.link 'Link 3', '#'
197
- bd.html link_to('Link 4', '#')
198
- end
199
- ```
200
-
201
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/ButtonLink.html)
202
-
203
- #### Button group
204
-
205
- ![button_group](http://hummel.link/Ui-Bibz/1.2.5/images/button_group.png)
206
-
207
- L'élément ```button_group``` à pour ```options``` un Hash acceptant les clefs :
208
-
209
- * position (:vertical, :horizontal)
210
- * [size](#size-values)
211
-
212
- L'élément ```list``` à pour ```options``` un Hash acceptant les clefs :
213
-
214
- * [status](#status-values)
215
- * [state](#state-values)
216
-
217
- ```ruby
218
- button_group({ position: :vertical, size: :xs }) do
219
- button 'Button 1', status: :active
220
- button 'Button 2'
221
- button 'Button 3'
222
- end
223
-
224
- button_group do
225
- button 'Button 1', status: :active
226
- button 'Button 2'
227
- button 'Button 3'
228
- button_dropdown 'Button Dropdown' do |bd|
229
- bd.header 'header'
230
- bd.link 'Link 1', '#'
231
- bd.divider
232
- bd.link 'Link 2', '#'
233
- end
234
- end
235
- ```
236
-
237
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/ButtonGroup.html)
238
-
239
- #### Button Link (Lien Bouton)
240
-
241
- ![button_link](http://hummel.link/Ui-Bibz/1.2.5/images/button_link.png)
242
-
243
- L'élément ```button_link``` à pour ```options``` un Hash acceptant les clefs :
244
-
245
- ```ruby
246
- button_link 'Button', { url: '#button', state: :primary, glyph: 'star' }, { class: 'my-button' }
247
- ```
248
-
249
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/ButtonLink.html)
250
-
251
- #### Button Split Dropdown
252
-
253
- ![button_group](http://hummel.link/Ui-Bibz/1.2.5/images/button_split_dropdown.png)
254
-
255
- L'élément ```button_split_dropdown```accepte pour options les mêmes clefs
256
- que l'élément [dropdown](#dropdown).
257
-
258
- ```ruby
259
- button_split_dropdown 'Dropdown', state: :primary do |d|
260
- d.link url: "#" do
261
- 'Link 1'
262
- end
263
- d.header 'Header 1'
264
- d.link 'Link 2', '#'
265
- d.divider
266
- d.link 'Link 3', '#'
267
- end
268
- ```
269
-
270
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/ButtonSplitDropdown.html)
271
-
272
- ### Dropdown
273
-
274
- L'élément ```dropdown``` à pour ```options``` un Hash acceptant les clefs :
275
-
276
- * [state](#state-values)
277
- * [status](#status-values)
278
- * position (:left, :right)
279
-
280
- L'élément ```list``` est un [component](#component) qui accepte pour options les clefs :
281
-
282
- * type (:header)
283
- * [glyph](#glyph-arguments)
284
-
285
- ```ruby
286
- dropdown 'Dropdown', state: :success do |d|
287
- d.list do
288
- link_to 'Link 1', "#"
289
- end
290
- d.list 'Header 1', type: :header
291
- d.list link_to 'Link 2', '#'
292
- d.list '---'
293
- d.list link_to 'Link 3', '#'
294
- end
295
- ```
296
-
297
- Pour ajouter une ligne séparatrice, il suffit d'insérer 3 "-" à la suite
298
-
299
- Exemple :
300
-
301
- ```
302
- ...
303
- d.list '--'
304
- ...
305
- ```
306
-
307
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Dropdown.html)
308
-
309
- ### Progress Bar
310
-
311
- ![glyph](http://hummel.link/Ui-Bibz/1.2.5/images/progress_bar.png)
312
-
313
- L'élément ```progress_bar``` à pour ```options``` un Hash acceptant les clefs :
314
-
315
- * [state](#state-values)
316
- * type (:animated, :striped)
317
- * label - String (default: "percentage%")
318
- * tap - Boolean (true: To add several bars)
319
- * percentage_min - Integer (default: 0)
320
- * percentage_max - Integer (default: 100)
321
- * sr_only - Boolean to show label (default: false)
322
-
323
- ```ruby
324
- progress_bar 30
325
-
326
- progress_bar state: :info, sr_only: true, type: :animated do
327
- 70
328
- end
329
-
330
- progress_bar(tap: true) do |pb|
331
- pb.bar 10, { state: :success, label: 'Loading...' },{ class: 'test' }
332
- pb.bar 30, state: :warning
333
- pb.bar(type: :striped) do
334
- 10
335
- end
336
- end
337
- ```
338
-
339
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/ProgressBar.html)
340
-
341
- ### Glyph
342
-
343
- ![glyph](http://hummel.link/Ui-Bibz/1.2.5/images/glyph.png)
344
-
345
- Les glyphs utilisés proviennent de [Font Awesome](http://fontawesome.io/).
346
- L'élément ```glyph``` peut contenir un hash pour ```content```
347
- L'élément ```glyph``` à pour ```options``` un Hash acceptant les clefs :
348
-
349
- * size
350
- * type
351
-
352
- ```ruby
353
- glyph 'star', { size: 3, type: 'fw' }, class: 'star-exemple'
354
-
355
- glyph { name: 'star', size: 3, type: 'fw' }
356
- ```
357
-
358
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Glyph.html)
359
-
360
- ### Stars
361
-
362
- ![stars](http://hummel.link/Ui-Bibz/1.2.5/images/stars.png)
363
-
364
- L'élément ```stars``` à pour ```options``` un Hash acceptant les clefs :
365
-
366
- * num - Correspond au nombre d'étoiles affichées (default: 5)
367
- * [state](#state-values)
368
-
369
- ```ruby
370
- stars 3.2
371
-
372
- stars 7, { num: 10, state: :danger }
373
-
374
- stars num: 3 do
375
- 1
376
- end
377
- ```
378
-
379
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Stars.html)
380
-
381
-
382
- ### Modal
383
-
384
- ![modal](http://hummel.link/Ui-Bibz/1.2.5/images/modal.png)
385
-
386
- Les éléments ```header```, ```body```, ```footer``` sont des éléments [component](#component).
387
-
388
- Exemple :
389
-
390
- ```ruby
391
-
392
- modal do |m|
393
- m.header 'Header', glyph: 'eye'
394
- m.body(class: 'my-body') do
395
- 'Content body'
396
- end
397
- m.footer 'Footer'
398
- end
399
- ```
400
-
401
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Modal.html)
402
-
403
- ### Panel
404
-
405
- ![panel](http://hummel.link/Ui-Bibz/1.2.5/images/panel.png)
406
-
407
- L'élément ```panel``` à pour ```options``` un Hash acceptant les clefs :
408
-
409
- * [state](#state-values)
410
- * tap (true) : permet de créer un header, body et footer
411
-
412
- Les éléments ```header```, ```body```,```footer``` sont des éléments [component](#component).
413
-
414
- Exemple :
415
-
416
- ```ruby
417
- panel 'danger'
418
-
419
- panel(state: :danger) do
420
- 'Content'
421
- end
422
-
423
- panel({ tap: true, state: :danger, table_options: { actionable: true } }, { class: 'exemple' }) |p|
424
- p.header 'Header', glyph: 'eye'
425
- p.body(class: 'my-body') do
426
- 'Content body'
427
- end
428
- p.footer 'Footer'
429
- end
430
- ```
431
-
432
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Panel.html)
433
-
434
- ### Table
435
-
436
- ![table](http://hummel.link/Ui-Bibz/1.2.5/images/table.png)
437
-
438
- L'élément ```table``` est un tableau composé d'une recherche, une pagination et un trie de colonnes intégrées.
439
- Le tableau est compatible [I18n](http://guides.rubyonrails.org/i18n.html).
440
- Le tableau contient pour chaque ligne un bouton dropdown 'action' avec par défaut
441
- ces 3 actions : voir, éditer, supprimer. Toutes les colonnes sont présentes et
442
- affichées par défaut.
443
-
444
- La table doit contenir un store. Ce store doit-être créé dans le *controlleur* avec la
445
- méthode ```table_search_pagination```.
446
-
447
- La méthode ```table_search_pagination``` contient 3 arguments :
448
-
449
- * params
450
- * session
451
- * args (optionel)
452
-
453
- Exemple :
454
-
455
- ```
456
- # app/controllers/document_controller.rb
457
- @documents = Document.table_search_pagination(params, session)
458
- ```
459
-
460
- Dans le *model*, insérer la méthode ```searchable_attributes``` afin de pouvoir
461
- faire une recherche sur les attributs souhaités.
462
-
463
- Exemple :
464
-
465
- ```
466
- # app/models/document.rb
467
- searchable_attributes :name_fr, :name_en
468
- ```
469
-
470
- Un champ recherche est disponible dans la vue :
471
-
472
- ![table_search_field](http://hummel.link/Ui-Bibz/1.2.5/images/table_search_field.png)
473
-
474
- ```
475
- table_search_field store: @documents
476
- ```
477
-
478
- Une pagination est disponible dans la vue :
479
-
480
- ```
481
- table_pagination store: @documents
482
- ```
483
-
484
- Un champs select par page est disponible dans la vue :
485
-
486
- ![table_search_field](http://hummel.link/Ui-Bibz/1.2.5/images/table_pagination_per_page.png)
487
-
488
- ```
489
- table_pagination_per_page store: @documents
490
- ```
491
-
492
- #### Simple Example table
493
-
494
- Dans le **controlleur**, insérer la méthode ```table_search_pagination```.
495
- La méthode ```table_search_pagination``` contient 3 arguments :
496
-
497
- * params
498
- * session
499
- * args
500
-
501
- Exemple :
502
-
503
- ```
504
- # app/controllers/document_controller.rb
505
- @documents = Document.table_search_pagination(params, session)
506
- ```
507
-
508
- Dans le **model**, insérer la méthode ```searchable_attributes``` afin de pouvoir
509
- faire une recherche sur les attributs souhaités. Vous pouvez même faire une
510
- recherche sur une table différente en insérant un hash avec pour clef le nom du model et en valeur le nom
511
- de l'attribut recherché.
512
-
513
- Exemple :
514
-
515
- ```
516
- # app/models/document.rb
517
- searchable_attributes :name_fr, :name_en, { user: :name }
518
- ```
519
-
520
- Dans la **vue**, insérer la méthode ```table``` qui peut contenir plusieurs arguments :
521
-
522
- * store (ex: @documents)
523
- * paginable (true, false)
524
- * sortable (true, false)
525
-
526
- Une table comporte des **colonnes** et des **actions**.
527
-
528
- Exemple :
529
-
530
- ```
531
- # app/views/documents/index.html.haml
532
- table store: @documents
533
- ```
534
-
535
- Les actions par défauts peuvent être modifiées ([voir exemple complexe](#Complex-Example-table)) :
536
-
537
- * edit
538
- * view
539
- * delete
540
-
541
- Elles sont intégrées à l'intérieur d'un bouton [dropdown](#dropdown).
542
-
543
- Exemple :
544
-
545
- ```
546
- # app/views/documents/index.html.haml
547
- table store: @documents do |g|
548
- g.actions do |acs|
549
- acs.headr 'Main Actions'
550
- acs.link 'Show', documents_path(:id), glyph: 'eye'
551
- acs.link 'Edit', edit_document_path(:id), glyph: 'pencil'
552
- acs.link 'Delete', documents_path(:id), method: :delete, glyph: 'trash', data: { confirm: 'Are you sure?' }
553
- acs.divider
554
- acs.link 'Duplicate', duplicate_document_path(:id), glyph: 'files-o'
555
- acs.link 'Alert', alert_document_path(:id), glyph: 'bell'
556
- end
557
- end
558
- ```
559
-
560
- L'ajout de colonnes à travers la méthode ```column``` contient plusieurs arguments et cette méthode est basée sur le component :
561
-
562
- * Content (ex: name)
563
- * options (hash)
564
- * data_index (le nom de l'attribut)
565
- * count (utilise la méthode count sur l'élément)
566
- * date_format (formate l'affichage de la date en utilisant la méthode ```strftime``` ex: '%Y/%M/%D')
567
- * format (formate les élements de la colone en utilisant **lambda**)
568
- * link (ajoute un lien où l'expression ```:id``` est parsé et remplacé par l'entier correspondant)
569
- * sort (permet de trier sur des champs )
570
- * column_id (permet d'identifier la colonne : peut être utile pour le sort)
571
- * custom_sort (indique que le tableau sera triéé d'une manière personnalisée)
572
- * html_options (hash)
573
-
574
- ```
575
- # app/views/documents/index.html.haml
576
- table store: @documents do |g|
577
- g.columns do |c|
578
- c.column :id, { name: '#' }
579
- c.column :name_fr, { name: 'Name fr', link: edit_document_path(:id) }
580
- c.column :name_en
581
- c.column :hotline_access, { name: 'Hotline', format: lambda{ |records, record| glyph(record.icon) } }
582
- c.column :update_at, { date_format: '%Y' }
583
- end
584
- end
585
- ```
586
-
587
- #### Complex Example table
588
-
589
- Si on souhaite voir apparaître certaines liasions avec d'autres tables il faut pour
590
- cela :
591
-
592
- Dans le controlleur, insérer la méthode ```table_search_pagination``` en ajoutant
593
- un ```includes``` juste avant.
594
-
595
- Exemple :
596
- ```ruby
597
- # app/controllers/document_controller.rb
598
- @documents = Document.includes(:users).table_search_pagination(params, session)
599
- ```
600
-
601
- Dans la vue, insérer la méthod ```table```.
602
- NB: On peut créer ses propres méthodes comme ```user_name``` dans notre *model* "Document" et
603
- l'appeler comme valeur pour la clef ```data_index```.
604
-
605
- ```
606
- # app/views/documents/index.html.haml
607
- table store: @documents do |g|
608
- g.columns do |c|
609
- c.column :user_name, { name: 'User', sort: "user.name" }
610
- end
611
- end
612
- ```
613
-
614
-
615
- #### Ultra Complex Example table
616
-
617
- Si l'on souhaite, par exemple, dénombrer des utilisateurs qui ont un lien non
618
- direct avec les documents.
619
- Imaginons par exemple, un utilisateur à des produits et que
620
- ces produits contiennent plusieurs documents. On souhaite compter le nombre
621
- d'utilisateurs par documents.
622
-
623
- On peut ajouter des arguments dans la méthode ```table_search_pagination```
624
- qui vont permettre de faire des jointures.
625
-
626
- Exemple :
627
- ```
628
- # app/controllers/document_controller.rb
629
- arguments = { sortable: {
630
- column: 'users',
631
- count: true,
632
- joins: "LEFT OUTER JOIN documents_products ON documents_products.document_id = documents.id
633
- LEFT OUTER JOIN products ON products.id = documents_products.product_id
634
- LEFT OUTER JOIN products_users ON products_users.product_id = products.id
635
- LEFT OUTER JOIN users ON users.id = products_users.user_id"
636
- } }
637
-
638
- @documents = Document.includes(:users).table_search_pagination(params, session, arguments)
639
- ```
640
-
641
- Ici l'argument sortable signifie que l'on souhaite s'interresser à la
642
- fonctionnalité de trie.
643
-
644
- Pour celà il faut :
645
-
646
- * définir le nom de la colonne triéé à travers l'argument ```column:``` (string)
647
- * définir si le traitement se fait sur le comptage avec l'argument ```count:```
648
- (boolean)
649
- * définir la jointure avec l'argument ```joins:``` (string, array, hash)
650
-
651
- Dans la vue :
652
-
653
- ```
654
- # app/views/documents/index.html.haml
655
- table store: @documents do |g|
656
- g.columns do |c|
657
- c.column :users, { name: 'Users count', count: true, custom_sort: true }
658
- end
659
- end
660
- ```
661
-
662
- #### table actions
663
-
664
- Les actions d'une table peuvent être formatées avec le 'record' passé en paramètre.
665
-
666
- ```
667
- # app/views/documents/index.html.haml
668
- table store: @documents do |t|
669
- t.columns do |cls|
670
- cls.column :id, { name: '#' }
671
- cls.column :name_en
672
- end
673
- t.actions do |acs|
674
- acs.format do |record|
675
- if record.active?
676
- acs.link 'Active', { url: active_document_path(record.id) }
677
- else
678
- acs.link 'Disabled', { url: disabled_document_path(record.id) }
679
- end
680
- acs.link 'Show', { url: document_path(record.id) }
681
- end
682
- end
683
- end
684
- ```
685
-
686
- Les actions ainsi que la colonne action peuvent être désactivées en passant l'agument ```actionable:
687
- false```.
688
-
689
- ```
690
- # app/views/documents/index.html.haml
691
- table store: @documents, actionable: false
692
- ```
693
-
694
- #### Plus d'une table sur une page html
695
-
696
- Si vous avez plus d'une table sur votre page html et que vous souhaitez faire
697
- des recherches, paginer... Vous devez identifier chaque store pour que l'action
698
- effectuée (recherche, pagination,...) ne soit affectée que sur la table désirée.
699
-
700
- Pour cela il faut que vous donniez un identifiant unique à vos stores.
701
-
702
- ex:
703
-
704
- ```
705
- # app/controllers/document_controller.rb
706
- @documents = Document.includes(:users).table_search_pagination(params, session, { store_id: 'store-1'})
707
- ```
708
-
709
-
710
- #### table I18n
711
-
712
- La table est utilisable avec I18n. Les traductions
713
- s'executent par ordre d'importance dans cet ordre précis pour la colonne "name_fr" par exemple.
714
-
715
- 1. ui_biz.table.headers.document.name_fr
716
- 2. ui_biz.table.headers.defaults.name_fr
717
- 3. activerecord.attributes.document.name_fr
718
- 4. activerecord.attributes.defaults.name_fr
719
-
720
- Le placeholder du champ recherche est utilisable et traduisible avec les attributs activerecord dans le fichier locale.
721
-
722
- Exemple :
723
-
724
- ```
725
- # config/locales/fr.yml
726
- ...
727
- activerecord:
728
- models:
729
- user: 'Utilisateur'
730
- attributes:
731
- defaults:
732
- name_fr: 'Nom fr'
733
- ...
734
- ```
735
-
736
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Ux/Table.html)
737
-
738
- ### Table Panel
739
-
740
- ![table_panel](http://hummel.link/Ui-Bibz/1.2.5/images/table_panel.png)
741
-
742
- Le composant ```table_panel``` est un [tableau](#table) dans un [panel](#panel).
743
-
744
- ```
745
- table_panel store: @users
746
-
747
- table_panel({ store: @users, tap: true, glyph: 'home', state: :danger }) do |g|
748
- g.columns do |cls|
749
- cls.column :id, { name: '#' }
750
- cls.column :username, { name: 'Username', link: edit_user_path(:id) }
751
- cls.column :name
752
- cls.column(:email) do
753
- 'Email'
754
- end
755
- cls.column :role_name, { name: 'Role', sort: 'roles.name' }
756
- end
757
- g.actions do |acs|
758
- acs.link 'Action 1', { url: edit_user_path(:id), glyph: 'pencil' }
759
- acs.divider
760
- acs.link { url: user_path(:id), glyph: 'eye' } do
761
- 'Action 2'
762
- end
763
- end
764
- end
765
- ```
766
-
767
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Ux/TablePanel.html)
768
-
769
- ### List
770
-
771
- ![list](http://hummel.link/Ui-Bibz/1.2.5/images/list.png)
772
-
773
- Par défaut une liste à pour tag ```<li>```.
774
- Mais elle peut se transformer en lien ```<a>``` à travers l'option ```type:```.
775
- Par défaut le tag ```<li>``` est présent.
776
-
777
- ```
778
- list_group type: :link do |lg|
779
- lg.list 'Momo', { state: :success, glyph: 'home' }, { href: '#Momo' }
780
- lg.list({ tap: true, status: :active }, { href: '#Toto' }) do |l|
781
- l.header 'My title'
782
- l.body 'My title'
783
- end
784
- end
785
-
786
- list_group do |lg|
787
- lg.list 'Momo', glyph: 'home', badge: 2
788
- lg.list 'Toto'
789
- end
790
- ```
791
-
792
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/List.html)
793
-
794
- ### Nav
795
-
796
- ![nav](http://hummel.link/Ui-Bibz/1.2.5/images/nav.png)
797
-
798
- Par défaut la navigation comporte des onglets "tab".
799
- L'élément ```nav``` accepte en option les arguments :
800
-
801
- * type (:pills, :tabs)
802
- * position (:justified, :stacked)
803
- * tap (true)
804
-
805
- L'élement link est un [component](#component).
806
-
807
- ```
808
- nav(type: :pills, position: :justified) do |d|
809
- d.link 'Link 1', url: '#test', badge: 6
810
- d.link(url: '#test2', status: :active) do
811
- "Link 2"
812
- end
813
- end
814
- ```
815
-
816
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Nav.html)
817
-
818
- ### Navbar
819
-
820
- ![navbar](http://hummel.link/Ui-Bibz/1.2.5/images/navbar.png)
821
-
822
- Par défaut la navigation comporte des onglets "tab".
823
- L'élément ```navbar``` accepte en option les arguments :
824
-
825
- * type (:default, :inverse)
826
- * [glyph](#glyph-values)
827
- * position (:top, :bottom)
828
- * title (string)
829
-
830
- L'élement nav est un [component](#component) et contient les composants :
831
-
832
- * form
833
- * dropdown
834
- * text
835
- * link
836
-
837
- ```
838
- navbar(type: :inverse, position: :top) do |nb|
839
- nb.nav do |n|
840
- n.link 'Link 1', url: '#link-1'
841
- end
842
- nb.nav(position: :right) do |n|
843
- n.link 'Link 2', url: '#test', badge: 6
844
- n.link(url: '#link-2', status: :active) do
845
- "Link 3"
846
- end
847
- end
848
- end
849
- ```
850
-
851
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Navbar.html)
852
-
853
-
854
- ### Etiquette
855
-
856
- ![list](http://hummel.link/Ui-Bibz/1.2.5/images/etiquette.png)
857
-
858
-
859
- NB : Les méthodes ```Tag, label``` sont déjà utilisées par Rails.
860
- L'élément ```etiquette``` à pour ```options``` un Hash acceptant les clefs :
861
-
862
- * [state](#state-values)
863
- * [glyph](#glyph-values)
864
-
865
- Exemple :
866
-
867
- ```
868
- etiquette 'label'
869
- etiquette 'label 2', state: :success
870
- etiquette 'label 2', state: :danger
871
- ```
872
-
873
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Etiquette.html)
874
-
875
- ### Row
876
-
877
- Le composant row génére une div avec la class row.
878
-
879
- ```
880
- row class: 'toto' do
881
- 'content'
882
- end
883
- # => <div class='row toto'>content</div>
884
- ```
885
-
886
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Content.html)
887
-
888
- ### Col
889
-
890
- L'élément ```col``` est un [composant](#composant) qui accèpte en arguments :
891
-
892
- * num
893
- * offset
894
- * size
895
-
896
- ou
897
-
898
- * un tableau de hashes avec les arguments ```num```, ```offset``` et ```size``` à l'intérieur.
899
-
900
- Ces paramètres génèrent les classes qui seront insérées dans la div avec la classe
901
- col.
902
-
903
-
904
- ```
905
- col({num: 2, size: :lg}, class: 'test') do
906
- 'content'
907
- end
908
- # => <div class='col-lg-2 test'>content</div>
909
-
910
-
911
- col([{ offset: 1, size: :xs}, { num: 3}], class: 'test') do
912
- 'content'
913
- end
914
- # => <div class='col-xs-offset-1 col-md-3 test'>content</div>
915
- ```
916
-
917
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Core/Col.html)
918
-
919
- ### Grid
920
-
921
- Une grid est un composant qui est composé de 5 vues :
922
-
923
- * top
924
- * right
925
- * bottom
926
- * left
927
- * center
928
-
929
- La vue **center** est obligatoire.
930
- Une vue à pour arguments :
931
-
932
- * position (:top, :left, :bottom, :right, :center)
933
- * num (1..12) 12 étant le nombre limite de colonnes utilisable dans boostrap.
934
-
935
- L'argument ```position``` détermine la position de la vue et l'argument ```num``` determine
936
- le nombre de colonnes occupées par la vue.
937
-
938
- ```
939
- grid do |g|
940
- g.view num: 3, position: :left do
941
- list_group(type: :link) do |lg|
942
- lg.list 'Link 1', { url: '#link1' }
943
- lg.list 'Link 2', { url: '#link1', status: :active }
944
- lg.list 'Link 1', { url: '#link1' }
945
- lg.list 'Link 3', { url: '#link1' }
946
- lg.list 'Link 4', { url: '#link1' }
947
- end
948
- end
949
- g.view({ position: :top}) do
950
- button_group(type: :toolbar) do
951
- button 'option 1'
952
- button 'option 2'
953
- button 'option 3'
954
- end
955
- end
956
- g.view position: :center do
957
- table store: @users, type: :bordered
958
- end
959
- g.view position: :bottom do
960
- 'bottom'
961
- end
962
- end
963
-
964
- grid do |g|
965
- g.view num: 5, position: :left do
966
- 'left'
967
- end
968
- g.view position: :right do
969
- 'right'
970
- end
971
- g.view({ position: :top}, { class: 'success'}) do
972
- 'top'
973
- end
974
- g.view position: :center do
975
- 'center'
976
- end
977
- g.view position: :bottom do
978
- 'bottom'
979
- end
980
- end
981
- ```
982
-
983
- Voir la [doc](http://hummel.link/Ui-Bibz/1.2.5/UiBibz/Ui/Ux/Grid.html)
984
-
985
- ### Arguments and Values
986
-
987
- #### status-values
988
- * :active
989
- * :disable
990
-
991
- #### size-values
992
- * :xs
993
- * :sm
994
- * :lg
995
-
996
- #### state-values
997
- * :default
998
- * :primary
999
- * :info
1000
- * :success
1001
- * :warning
1002
- * :danger
1003
-
1004
- #### glyph-arguments
1005
- * name
1006
- * size
1007
- * type
1008
-
1009
- # Plus de détails
1010
-
1011
- Pour plus d'informations, vous pouvez accéder à la documentation rdoc en
1012
- générant cette dernière :
1013
-
1014
- ```
1015
- rake rdoc
1016
- ```
1017
-
1018
- # Conflits
1019
-
1020
- Certaines méthodes dans le helper peuvent être en conflit avec d'autres
1021
- librairies. Le cas échéant, vous pouvez utiliser directement la librairie UiBibz
1022
- comme ci-dessous.
1023
-
1024
- Exemple :
1025
-
1026
- ```ruby
1027
- UiBibz::Ui::Core::Panel.new('Exemple', { state: :success }, { class: 'exemple'}).render
1028
- # au lieu de
1029
- panel 'Exemple', { state: :success }, { class: 'exemple' }
1030
- ```
1031
-
1032
- # Ui Bibz versions
1033
-
1034
- * [Ui Bibz v1.1.0](http://hummel.link/Ui-Bibz/1.1.0/index.html)
1035
- * [Ui Bibz v1.1.1](http://hummel.link/Ui-Bibz/1.1.1/index.html)
1036
- * [Ui Bibz v1.1.2](http://hummel.link/Ui-Bibz/1.1.2/index.html)
1037
- * [Ui Bibz v1.1.3](http://hummel.link/Ui-Bibz/1.1.3/index.html)
1038
- * [Ui Bibz v1.1.4](http://hummel.link/Ui-Bibz/1.1.4/index.html)
1039
- * [Ui Bibz v1.1.5](http://hummel.link/Ui-Bibz/1.1.5/index.html)
1040
- * [Ui Bibz v1.1.6](http://hummel.link/Ui-Bibz/1.1.6/index.html)
1041
- * [Ui Bibz v1.1.7](http://hummel.link/Ui-Bibz/1.1.7/index.html)
1042
- * [Ui Bibz v1.2.0](http://hummel.link/Ui-Bibz/1.2.0/index.html)
1043
- * [Ui Bibz v1.2.1](http://hummel.link/Ui-Bibz/1.2.5/index.html)
1044
- * [Ui Bibz v1.2.2](http://hummel.link/Ui-Bibz/1.2.2/index.html)
1045
- * [Ui Bibz v1.2.3](http://hummel.link/Ui-Bibz/1.2.5/index.html)
1046
- * [Ui Bibz v1.2.4](http://hummel.link/Ui-Bibz/1.2.5/index.html)
1047
- * [Ui Bibz v1.2.5](http://hummel.link/Ui-Bibz/1.2.5/index.html)
1048
-
1049
- # Roadmap
1050
-
1051
- Pour la V2.
1052
-
1053
- * créer des stores pour les listes, breadcrumb
1054
- * créer d'autres extensions, plugins et une guideline
1055
- * mise à jour vers bootstrap 4
1056
- ...
1057
20
 
21
+ ## Documentation
22
+ Documentation is here :
23
+ [http://hummel.link/ui-bibz-app/](http://hummel.link/ui-bibz-app/)