ui_bibz 2.0.2 → 2.0.3

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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/app/assets/javascripts/interface.coffee +1 -1
  4. data/app/assets/stylesheets/fix_addon.sass +5 -0
  5. data/app/assets/stylesheets/forms.sass +1 -1
  6. data/lib/ui_bibz/ui/core/boxes/card.rb +5 -1
  7. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +16 -0
  8. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +1 -1
  9. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +26 -0
  10. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +3 -3
  11. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +1 -1
  12. data/lib/ui_bibz/ui/core/lists/components/list.rb +2 -2
  13. data/lib/ui_bibz/ui/core/lists/list_group.rb +12 -8
  14. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +33 -17
  15. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +11 -3
  16. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +1 -1
  17. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -3
  18. data/lib/ui_bibz/ui/core/notifications/alert.rb +3 -5
  19. data/lib/ui_bibz/ui/core/notifications/badge.rb +9 -6
  20. data/lib/ui_bibz/version.rb +1 -1
  21. data/test/ui/core/boxes/card_test.rb +14 -1
  22. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  23. data/test/ui/core/forms/choices/choice_group_test.rb +3 -3
  24. data/test/ui/core/lists/list_group_test.rb +33 -3
  25. data/test/ui/core/navigations/breadcrumb_test.rb +3 -3
  26. data/test/ui/core/navigations/tab_group_test.rb +15 -4
  27. data/test/ui/core/notifications/badge_test.rb +7 -0
  28. data/ui_bibz.gemspec +1 -1
  29. data/vendor/assets/stylesheets/awesome-bootstrap-checkbox.css +205 -277
  30. metadata +7 -7
  31. data/lib/ui_bibz/ui/core/forms/buttons/button_choice.rb +0 -92
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be1a71fc5f03db04db8ae4252bf32c3225d5118f
4
- data.tar.gz: 96d7cc8b42b66975fe4f0218bb7185c60f5c490c
3
+ metadata.gz: ea70b53e1fa027cef5b1811801a41d6d74ff7988
4
+ data.tar.gz: fa7fcf9685f92dd939844df73d323381dfdd5b29
5
5
  SHA512:
6
- metadata.gz: 83e0900d32daf641e58802ad9cbdb856d268e150383eaa9a75347268a3c0a2a09f9d979f83c5c024ee2093dd7037fd6c6509a36939abe706c62292cc88ab11a4
7
- data.tar.gz: 590cb656bfbd1cf4f9cb5fe65e6da7653fb7eb523dc5013481d9c7df7fdf6700f7d0e14c0631703f8a3760d4998989783620dea1c21df979d78bb6c786f05783
6
+ metadata.gz: 0cbe8b9c14bdfe66f05de625bd3793a0af8342b7eaecf3145f54a2cdc42077f1e5726c88b5bdef50ffc936b0c7cc35dcb09715295ea2e5b496dae638cae1cce3
7
+ data.tar.gz: efc3de7d2b7f67dd45dec59559f398625da9b64998f7e362d2ec043d21c047d6256b657b073f1fa5310bbe86f22653b2a4ae58a3f3565c479ad5280fd9a819fa
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ui_bibz (2.0.2)
5
- bootstrap (= 4.0.0)
4
+ ui_bibz (2.0.3)
5
+ bootstrap (~> 4.1.0)
6
6
  font-awesome-sass
7
7
  haml
8
8
  haml-rails
@@ -61,7 +61,7 @@ GEM
61
61
  autoprefixer-rails (8.4.1)
62
62
  execjs
63
63
  awesome_print (1.8.0)
64
- bootstrap (4.0.0)
64
+ bootstrap (4.1.1)
65
65
  autoprefixer-rails (>= 6.0.3)
66
66
  popper_js (>= 1.12.9, < 2)
67
67
  sass (>= 3.5.2)
@@ -118,7 +118,7 @@ GEM
118
118
  mini_mime (1.0.0)
119
119
  mini_portile2 (2.3.0)
120
120
  minitest (5.11.3)
121
- nio4r (2.3.0)
121
+ nio4r (2.3.1)
122
122
  nokogiri (1.8.2)
123
123
  mini_portile2 (~> 2.3.0)
124
124
  popper_js (1.12.9)
@@ -9,7 +9,7 @@
9
9
  @notify()
10
10
 
11
11
  nav: ->
12
- $('.nav-tabs nav-link').tab('show')
12
+ #$('.nav-tabs .nav-item .nav-link').tab('show')
13
13
 
14
14
  popover: ->
15
15
  $('[data-toggle="popover"]').popover({ html: true })
@@ -185,3 +185,8 @@ $input-group-btn-border-color: $input-border-color
185
185
  @include hover-focus-active
186
186
  z-index: 3
187
187
 
188
+ .input-group-addon .glyph, .input-group-btn .btn .glyph
189
+ padding: 0.4rem 0
190
+
191
+ .input-group-sm .input-group-addon .glyph
192
+ padding: 0.37rem 0
@@ -50,7 +50,7 @@
50
50
  border-radius: 0px
51
51
  .abc-radio.input-group-addon, .abc-checkbox.input-group-addon
52
52
  input
53
- margin-left: 17px
53
+ margin-left: 0.5rem
54
54
  select:not(:first-child):not(:last-child)
55
55
  border-radius: 0px
56
56
 
@@ -97,7 +97,11 @@ module UiBibz::Ui::Core::Boxes
97
97
  # Add Header which is a component
98
98
  def header content = nil, options = nil, html_options = nil, &block
99
99
  options, content = inherit_options(content, options, block)
100
- @header = UiBibz::Ui::Core::Boxes::Components::CardHeader.new(content, options, html_options, &block).render
100
+ if is_tap(content, options)
101
+ @header = UiBibz::Ui::Core::Boxes::Components::CardHeader.new(content, options, html_options).tap(&block).render
102
+ else
103
+ @header = UiBibz::Ui::Core::Boxes::Components::CardHeader.new(content, options, html_options, &block).render
104
+ end
101
105
  end
102
106
 
103
107
  # Add Body div which is a component
@@ -1,3 +1,4 @@
1
+ require 'ui_bibz/ui/core/boxes/components/card_tab_group'
1
2
  module UiBibz::Ui::Core::Boxes::Components
2
3
 
3
4
  # Create a card header
@@ -29,6 +30,13 @@ module UiBibz::Ui::Core::Boxes::Components
29
30
  # 'Exemple'
30
31
  # end.render
31
32
  #
33
+ # UiBibz::Ui::Core::Boxes::CardHeader.new(tap: true) do |h|
34
+ # h.tab_group do |tg|
35
+ # tg.tab 'link', url: '#link"
36
+ # tg.tab 'link', url: '#link"
37
+ # end
38
+ # end.render
39
+ #
32
40
  class CardHeader < UiBibz::Ui::Core::Component
33
41
 
34
42
  # See UiBibz::Ui::Core::Component.initialize
@@ -41,6 +49,14 @@ module UiBibz::Ui::Core::Boxes::Components
41
49
  content_tag :div, glyph_and_content_html, html_options
42
50
  end
43
51
 
52
+ def tab_group content = nil, options = nil, html_options = nil, &block
53
+ if is_tap(content, options)
54
+ @content = CardTabGroup.new(content, options, html_options).tap(&block).render
55
+ else
56
+ @content = CardTabGroup.new(content, options, html_options, &block).render
57
+ end
58
+ end
59
+
44
60
  private
45
61
 
46
62
  def component_html_classes
@@ -41,7 +41,7 @@ module UiBibz::Ui::Core::Boxes::Components
41
41
  # Render html tag
42
42
  def pre_render
43
43
  #image_tag content, html_options
44
- image_tag asset_path("assets/#{content}"), html_options
44
+ image_tag content, html_options
45
45
  end
46
46
 
47
47
  private
@@ -0,0 +1,26 @@
1
+ module UiBibz::Ui::Core::Boxes::Components
2
+
3
+ # Create a card tab group
4
+ #
5
+ # This element is an extend of UiBibz::Ui::Core::Navigation::TabGroup.
6
+ #
7
+ # ==== Attributes
8
+ #
9
+ # * +content+ - Content of element
10
+ # * +options+ - Options of element
11
+ # * +html_options+ - Html Options of element
12
+ #
13
+ class CardTabGroup < UiBibz::Ui::Core::Navigations::TabGroup
14
+
15
+ def initialize content = nil, options = nil, html_options = nil, &block
16
+ super
17
+ end
18
+
19
+ private
20
+
21
+ def component_html_classes
22
+ super << "card-header-tabs"
23
+ end
24
+
25
+ end
26
+ end
@@ -65,7 +65,7 @@ module UiBibz::Ui::Core::Forms::Choices
65
65
  end
66
66
 
67
67
  def checkbox_html_options
68
- { class: 'styled', disabled: options[:state] == :disabled }
68
+ { class: 'form-check-input', disabled: options[:state] == :disabled }
69
69
  end
70
70
 
71
71
  def label_name
@@ -73,7 +73,7 @@ module UiBibz::Ui::Core::Forms::Choices
73
73
  end
74
74
 
75
75
  def label_html_options
76
- options[:label] == false ? { class: 'fix-label' } : nil
76
+ { class: join_classes("form-check-label", ("fix-label" if options[:label] == false)) }
77
77
  end
78
78
 
79
79
  def label_content
@@ -104,7 +104,7 @@ module UiBibz::Ui::Core::Forms::Choices
104
104
  end
105
105
 
106
106
  def component_html_classes
107
- super << ["checkbox", "abc-checkbox", type, indeterminate, inline]
107
+ super << ["form-check", "abc-checkbox", type, indeterminate, inline]
108
108
  end
109
109
 
110
110
  end
@@ -65,7 +65,7 @@ module UiBibz::Ui::Core::Forms::Choices
65
65
  private
66
66
 
67
67
  def component_html_classes
68
- super << ['button-choice']
68
+ super << ['button-choice', "btn-group-toggle"]
69
69
  end
70
70
 
71
71
  def component_html_options
@@ -114,11 +114,11 @@ module UiBibz::Ui::Core::Lists::Components
114
114
 
115
115
  def is_link_type?
116
116
  @html_options[:href] = @options[:url] if @options[:url]
117
- @options[:tag] == :a || @html_options[:tag] == :a
117
+ @options[:tag_type] == :a || @html_options.delete(:tag_type) == :a
118
118
  end
119
119
 
120
120
  def is_button_type?
121
- @options[:tag] == :button || @html_options[:tag] == :button
121
+ @options[:tag_type] == :button || @html_options.delete(:tag_type) == :button
122
122
  end
123
123
 
124
124
  def tag_type
@@ -15,8 +15,9 @@ module UiBibz::Ui::Core::Lists
15
15
  #
16
16
  # You can add HTML attributes using the +html_options+.
17
17
  # You can pass arguments in options attribute:
18
- # * +type+ - Type of list (default: :list)
19
- # (+:link+, +:list+)
18
+ # * +flush+ - Boolean
19
+ # * +tag_type+ - Type of list (default: :li)
20
+ # (+:a+, +:button+, +:li+)
20
21
  #
21
22
  # ==== Signatures
22
23
  #
@@ -33,7 +34,7 @@ module UiBibz::Ui::Core::Lists
33
34
  # d.list 'Test2', status: :primary
34
35
  # end.render
35
36
  #
36
- # UiBibz::Ui::Core::ListGroup.new(type: :link).tap do |d|
37
+ # UiBibz::Ui::Core::ListGroup.new(tag_type: :li).tap do |d|
37
38
  # d.list 'Test', status: :success, url: '#test'
38
39
  # d.list(status: :primary) do
39
40
  # 'Test 2'
@@ -84,10 +85,9 @@ module UiBibz::Ui::Core::Lists
84
85
  # Add group list
85
86
  # See UiBibz::Ui::Core::List
86
87
  def list content = nil, options = {} , html_options = nil, &block
87
- is_tap = (content[:tap] if content.kind_of?(Hash)) || (options[:tap] unless options.nil?)
88
- options = options.merge({ tag: @options[:tag] }) unless @options[:tag].nil?
88
+ options = options.merge({ tag_type: @options[:tag_type] }) unless @options[:tag_type].nil?
89
89
 
90
- if is_tap
90
+ if is_tap(content, options)
91
91
  @lists << UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options).tap(&block).render
92
92
  else
93
93
  @lists << UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options, &block).render
@@ -97,11 +97,15 @@ module UiBibz::Ui::Core::Lists
97
97
  private
98
98
 
99
99
  def component_html_classes
100
- "list-group"
100
+ super << ["list-group", flush]
101
+ end
102
+
103
+ def flush
104
+ "list-group-flush" if options[:flush]
101
105
  end
102
106
 
103
107
  def tag_type
104
- [:a, :button].include?(options[:tag]) ? :div : :ul
108
+ [:a, :button].include?(options[:tag_type]) ? :div : :ul
105
109
  end
106
110
 
107
111
  end
@@ -15,6 +15,13 @@ module UiBibz::Ui::Core::Navigations
15
15
  # * +options+ - Options of element
16
16
  # * +html_options+ - Html Options of element
17
17
  #
18
+ # ==== Options
19
+ #
20
+ # You can add HTML attributes using the +html_options+.
21
+ # You can pass arguments in options attribute:
22
+ # * +link_label+ - [Symbol | String] Display label of link with store
23
+ # * +link_url+ - [String] Display url of link with store
24
+ #
18
25
  # ==== Components
19
26
  #
20
27
  # +link+ is UiBibz::Ui::Core::Navigations::BreadCrumb::Components::BreadcrumbLink component
@@ -28,6 +35,9 @@ module UiBibz::Ui::Core::Navigations
28
35
  # ...
29
36
  # end
30
37
  #
38
+ # UiBibz::Ui::Core::Navigations::Breadcrumb.new(@store)
39
+ #
40
+ #
31
41
  # ==== Examples
32
42
  #
33
43
  # UiBibz::Ui::Core::Navigations::Breadcrumb.new().tap do |b|
@@ -38,16 +48,24 @@ module UiBibz::Ui::Core::Navigations
38
48
  # b.link 'Level 2', state: :active
39
49
  # end.render
40
50
  #
51
+ # # or
52
+ #
53
+ # @users = User.all
54
+ # UiBibz::Ui::Core::Navigations::Breadcrumb.new(@users).render
55
+ #
41
56
  # ==== Helper
42
57
  #
43
- # breadcrumb({tap: true}) do |b|
58
+ # ui_breadcrumb({tap: true}) do |b|
44
59
  # b.link(content, options = {}, html_options = {})
45
60
  # b.link(options = {}, html_options = {}) do
46
61
  # content
47
62
  # end
48
63
  # end
49
64
  #
50
- # breadcrumb({store: @users, link_label: name, link_url: user_path(:id)})
65
+ # # or
66
+ #
67
+ # @users = User.all
68
+ # ui_breadcrumb(@users, { link_label: name, link_url: user_path(:id) })
51
69
  #
52
70
  class Breadcrumb < UiBibz::Ui::Core::Component
53
71
 
@@ -55,12 +73,14 @@ module UiBibz::Ui::Core::Navigations
55
73
  def initialize content = nil, options = nil, html_options = nil, &block
56
74
  super
57
75
  @links = []
76
+ generate_links unless @content.nil?
58
77
  end
59
78
 
60
79
  # Render html tag
61
80
  def pre_render
62
- generate_links unless store.nil?
63
- content_tag :ol, @links.join.html_safe, html_options
81
+ content_tag :nav, html_options do
82
+ content_tag :ol, @links.join.html_safe, class: 'breadcrumb'
83
+ end
64
84
  end
65
85
 
66
86
  # Add breadcrumb link items
@@ -71,16 +91,12 @@ module UiBibz::Ui::Core::Navigations
71
91
 
72
92
  private
73
93
 
74
- def component_html_classes
75
- 'breadcrumb'
76
- end
77
-
78
- def store
79
- @options[:store]
94
+ def component_html_options
95
+ super.merge({ "arial-label": "breadcrumb" })
80
96
  end
81
97
 
82
98
  def model_name
83
- store.class.to_s
99
+ content.class.to_s
84
100
  end
85
101
 
86
102
  def link_label
@@ -92,14 +108,14 @@ module UiBibz::Ui::Core::Navigations
92
108
  end
93
109
 
94
110
  def generate_links
95
- @options[:store].each do |item|
96
- if item == @options[:store].last
97
- @links << UiBibz::Ui::Core::Navigations::Components::BreadcrumbLink.new(item.send(link_label), status: :disabled).render
98
- else
99
- @links << UiBibz::Ui::Core::Navigations::Components::BreadcrumbLink.new(item.send(link_label), url: inject_url(link_url, item)).render
100
- end
111
+ content.each do |item|
112
+ @links << UiBibz::Ui::Core::Navigations::Components::BreadcrumbLink.new(item.send(link_label), url: inject_url(link_url, item), current: item == last_item).render
101
113
  end
102
114
  end
103
115
 
116
+ def last_item
117
+ content.last
118
+ end
119
+
104
120
  end
105
121
  end
@@ -52,15 +52,23 @@ module UiBibz::Ui::Core::Navigations::Components
52
52
 
53
53
  private
54
54
 
55
+ def component_html_options
56
+ super.merge(options[:current] ? { "aria-current": "page" } : {})
57
+ end
58
+
55
59
  def component_html_classes
56
60
  "breadcrumb-item"
57
61
  end
58
62
 
63
+ def component_options
64
+ super.merge(options[:current] ? { status: :disabled } : {})
65
+ end
66
+
59
67
  def link_html
60
- if options[:url]
61
- link_to glyph_and_content_html, options[:url] || '#'
62
- else
68
+ if options[:current]
63
69
  glyph_and_content_html
70
+ else
71
+ link_to glyph_and_content_html, options[:url] || '#'
64
72
  end
65
73
  end
66
74
 
@@ -52,7 +52,7 @@ module UiBibz::Ui::Core::Navigations
52
52
  if options[:nav_type] == "nav-links"
53
53
  UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options, html_options).render
54
54
  else
55
- if options[:tag_type] == "span"
55
+ if options[:tag_type] == :span
56
56
  cont = UiBibz::Ui::Core::Navigations::NavLinkSpan.new(content, @old_options).render
57
57
  else
58
58
  cont = UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options).render
@@ -16,8 +16,8 @@ module UiBibz::Ui::Core::Navigations
16
16
  # You can pass arguments in options attribute:
17
17
  # * +position+ - Symbol
18
18
  # (+:left+, +:right+, +:center+)
19
- # * +tag+ - Symbol
20
- # (+:a+, +:li)
19
+ # * +tag_type+ - Symbol
20
+ # (+:a+, +:span)
21
21
  # * +justify+ - Boolean
22
22
  # * +fill+ - Boolean
23
23
  #
@@ -35,7 +35,7 @@ module UiBibz::Ui::Core::Navigations
35
35
  #
36
36
  # ==== Examples
37
37
  #
38
- # UiBibz::Ui::Core::Navigations::TabGroup.new(type: :pills).tap do |n|
38
+ # UiBibz::Ui::Core::Navigations::TabGroup.new(tag_type: :span).tap do |n|
39
39
  # n.tab 'Test', url: '#test'
40
40
  # n.tab 'Test2', url: '#test2', state: :active
41
41
  # n.dropdown('Action') do |d|
@@ -78,5 +78,9 @@ module UiBibz::Ui::Core::Navigations
78
78
  ["nav", "nav-tabs", position, justify, fill]
79
79
  end
80
80
 
81
+ def type
82
+ "nav-tabs"
83
+ end
84
+
81
85
  end
82
86
  end
@@ -18,11 +18,9 @@ module UiBibz::Ui::Core::Notifications
18
18
  # You can pass arguments in options attribute:
19
19
  # * +status+ - status of élement with symbol value:
20
20
  # (+:default+, +:primary+, +:info+, +:warning+, +:danger+)
21
- # * +glyph+ - Add glyph with name or hash options
22
- # * +name+ - String
23
- # * +size+ - Integer
24
- # * +type+ - Symbol
25
- # *+timeout+ - Integer
21
+ # * +glyph+ - [String | Hash] Add glyph with name or hash options
22
+ # * +name+ - [String]
23
+ # *+timeout+ - [Integer]
26
24
  #
27
25
  # ==== Signatures
28
26
  #