ui_bibz 1.2.5.3 → 2.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
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/)