ui_bibz 2.1.2 → 2.1.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +16 -16
- data/app/assets/stylesheets/_panel.scss +2 -2
- data/app/assets/stylesheets/fix_addon.sass +7 -0
- data/app/assets/stylesheets/navigations.sass +3 -0
- data/app/assets/stylesheets/notifications.sass +3 -0
- data/lib/ui_bibz/infos.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +4 -0
- data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +3 -2
- data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +1 -1
- data/lib/ui_bibz/ui/core/icons/star.rb +5 -5
- data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +93 -0
- data/lib/ui_bibz/ui/core/navigations/toolbar.rb +8 -1
- data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +9 -0
- data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +45 -0
- data/test/factories/user.rb +5 -5
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
- data/test/ui/core/icons/star_test.rb +5 -5
- data/test/ui/core/navigations/toolbar_test.rb +1 -1
- data/test/ui/ux/containers/panel_test.rb +4 -4
- data/vendor/assets/fonts/fa-brands-400.eot +0 -0
- data/vendor/assets/fonts/fa-brands-400.svg +36 -6
- data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +2 -2
- data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/fa-solid-900.svg +183 -9
- data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/all.js +93 -22
- data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_icons.scss +69 -1
- data/vendor/assets/stylesheets/fontawesome/_shims.scss +0 -4
- data/vendor/assets/stylesheets/fontawesome/_stacked.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +72 -3
- data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/solid.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5c8ee009ca6a7751e3c7201b975e3943acb6065
|
4
|
+
data.tar.gz: c87cd2632f56a8e05db95992200aa3936229c904
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2aa81787c42ae4e542c818dc55bb0aa2ecfc1abd42b1411d11e8bc38e33dbda3e2e9beebf12af73bd8704d987bb7d3400c0feb39e483f9e118c5cadf0762a2e
|
7
|
+
data.tar.gz: 64c48f832fc4ee7e25ee964ecf8b3fe0e8349b31b0bd3a4125a3ee7199d9034e67fd2d67859f75986092da436cc091d882e0b6fd1d005f60a7c3589552502d25
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ui_bibz (2.1.
|
5
|
-
bootstrap (= 4.1.
|
4
|
+
ui_bibz (2.1.3)
|
5
|
+
bootstrap (= 4.1.3)
|
6
6
|
haml
|
7
7
|
haml-rails
|
8
8
|
jquery-rails (>= 3.1.0)
|
@@ -57,20 +57,20 @@ GEM
|
|
57
57
|
minitest (~> 5.1)
|
58
58
|
tzinfo (~> 1.1)
|
59
59
|
arel (9.0.0)
|
60
|
-
autoprefixer-rails (9.1
|
60
|
+
autoprefixer-rails (9.3.1)
|
61
61
|
execjs
|
62
62
|
awesome_print (1.8.0)
|
63
|
-
bootstrap (4.1.
|
63
|
+
bootstrap (4.1.3)
|
64
64
|
autoprefixer-rails (>= 6.0.3)
|
65
65
|
popper_js (>= 1.12.9, < 2)
|
66
66
|
sass (>= 3.5.2)
|
67
67
|
builder (3.2.3)
|
68
68
|
byebug (10.0.2)
|
69
|
-
codeclimate-test-reporter (1.0.
|
70
|
-
simplecov
|
71
|
-
concurrent-ruby (1.
|
69
|
+
codeclimate-test-reporter (1.0.7)
|
70
|
+
simplecov
|
71
|
+
concurrent-ruby (1.1.3)
|
72
72
|
crass (1.0.4)
|
73
|
-
docile (1.1
|
73
|
+
docile (1.3.1)
|
74
74
|
erubi (1.7.1)
|
75
75
|
erubis (2.7.0)
|
76
76
|
execjs (2.7.0)
|
@@ -96,21 +96,21 @@ GEM
|
|
96
96
|
haml (>= 4.0, < 6)
|
97
97
|
nokogiri (>= 1.6.0)
|
98
98
|
ruby_parser (~> 3.5)
|
99
|
-
i18n (1.1.
|
99
|
+
i18n (1.1.1)
|
100
100
|
concurrent-ruby (~> 1.0)
|
101
101
|
jquery-rails (4.3.3)
|
102
102
|
rails-dom-testing (>= 1, < 3)
|
103
103
|
railties (>= 4.2.0)
|
104
104
|
thor (>= 0.14, < 2.0)
|
105
105
|
json (2.1.0)
|
106
|
-
loofah (2.2.
|
106
|
+
loofah (2.2.3)
|
107
107
|
crass (~> 1.0.2)
|
108
108
|
nokogiri (>= 1.5.9)
|
109
|
-
mail (2.7.
|
109
|
+
mail (2.7.1)
|
110
110
|
mini_mime (>= 0.1.1)
|
111
111
|
marcel (0.3.3)
|
112
112
|
mimemagic (~> 0.3.2)
|
113
|
-
method_source (0.9.
|
113
|
+
method_source (0.9.1)
|
114
114
|
mimemagic (0.3.2)
|
115
115
|
mini_mime (1.0.1)
|
116
116
|
mini_portile2 (2.3.0)
|
@@ -119,7 +119,7 @@ GEM
|
|
119
119
|
nokogiri (1.8.5)
|
120
120
|
mini_portile2 (~> 2.3.0)
|
121
121
|
popper_js (1.14.3)
|
122
|
-
rack (2.0.
|
122
|
+
rack (2.0.6)
|
123
123
|
rack-test (1.1.0)
|
124
124
|
rack (>= 1.0, < 3)
|
125
125
|
rails (5.2.1)
|
@@ -152,7 +152,7 @@ GEM
|
|
152
152
|
ffi (>= 0.5.0, < 2)
|
153
153
|
ruby_parser (3.11.0)
|
154
154
|
sexp_processor (~> 4.9)
|
155
|
-
sass (3.
|
155
|
+
sass (3.7.1)
|
156
156
|
sass-listen (~> 4.0.0)
|
157
157
|
sass-listen (4.0.0)
|
158
158
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
@@ -167,8 +167,8 @@ GEM
|
|
167
167
|
simple_form (4.0.1)
|
168
168
|
actionpack (>= 5.0)
|
169
169
|
activemodel (>= 5.0)
|
170
|
-
simplecov (0.
|
171
|
-
docile (~> 1.1
|
170
|
+
simplecov (0.16.1)
|
171
|
+
docile (~> 1.1)
|
172
172
|
json (>= 1.8, < 3)
|
173
173
|
simplecov-html (~> 0.10.0)
|
174
174
|
simplecov-html (0.10.2)
|
@@ -47,7 +47,7 @@
|
|
47
47
|
}
|
48
48
|
|
49
49
|
// Select last panel-toolbar
|
50
|
-
> .panel-toolbar:nth-last-child
|
50
|
+
> .panel-toolbar:nth-last-child{
|
51
51
|
border-bottom: none;
|
52
52
|
}
|
53
53
|
}
|
@@ -93,7 +93,7 @@
|
|
93
93
|
border-bottom: $panel-border-width solid $panel-border-color;
|
94
94
|
display: flex;
|
95
95
|
|
96
|
-
div {
|
96
|
+
> div:not(.dropdown) {
|
97
97
|
position: relative;
|
98
98
|
display: inline-flex;
|
99
99
|
vertical-align: middle;
|
@@ -94,12 +94,19 @@ $input-group-btn-border-color: $input-border-color
|
|
94
94
|
font-size: $font-size-sm
|
95
95
|
@include border-radius($input-border-radius-sm)
|
96
96
|
|
97
|
+
svg
|
98
|
+
font-size: 1rem
|
99
|
+
margin-top: 0.1rem
|
100
|
+
|
97
101
|
|
98
102
|
&.form-control-lg
|
99
103
|
padding: $input-btn-padding-y-lg $input-btn-padding-x-lg
|
100
104
|
font-size: $font-size-lg
|
101
105
|
@include border-radius($input-border-radius-lg)
|
102
106
|
|
107
|
+
svg
|
108
|
+
font-size: 1.3rem
|
109
|
+
|
103
110
|
|
104
111
|
// scss-lint:disable QualifyingElement
|
105
112
|
// Nuke default margins from checkboxes and radios to vertically center within.
|
data/lib/ui_bibz/infos.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
module UiBibz
|
2
2
|
NAME = "Ui Bibz"
|
3
|
-
VERSION = "2.1.
|
3
|
+
VERSION = "2.1.3"
|
4
4
|
DESCRIPTION = "A Rails Interface Framework using Bootstrap."
|
5
5
|
SUMMARY = "Create your project with Ui Bibz. Over a thirty reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more."
|
6
6
|
LICENSE = "MIT"
|
7
|
-
FONTAWESOME_VERSION = "5.
|
8
|
-
BOOTSTRAP_VERSION = "4.1.
|
7
|
+
FONTAWESOME_VERSION = "5.5.0"
|
8
|
+
BOOTSTRAP_VERSION = "4.1.3"
|
9
9
|
end
|
@@ -92,6 +92,10 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
92
92
|
@items << UiBibz::Ui::Core::Component.new(content, options, html_options, &block).render
|
93
93
|
end
|
94
94
|
|
95
|
+
def choice_group content = nil, options = nil, html_options = nil, &block
|
96
|
+
@items << UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(content, options, html_options).tap(&block).render
|
97
|
+
end
|
98
|
+
|
95
99
|
private
|
96
100
|
|
97
101
|
def component_html_classes
|
@@ -58,14 +58,15 @@ module UiBibz::Ui::Core::Forms::Choices
|
|
58
58
|
private
|
59
59
|
|
60
60
|
def checkbox_field_html_tag
|
61
|
-
|
61
|
+
options[:action] = html_options[:data].delete(:action)
|
62
|
+
content_tag :div, html_options.except(:id, "data-action") do
|
62
63
|
concat check_box_tag content, options[:value], options[:checked] || false, checkbox_html_options
|
63
64
|
concat label_tag label_name, label_content, label_html_options
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
67
68
|
def checkbox_html_options
|
68
|
-
{ class: 'form-check-input', disabled: options[:state] == :disabled }
|
69
|
+
{ class: 'form-check-input', disabled: options[:state] == :disabled, "data-action": options[:action] }
|
69
70
|
end
|
70
71
|
|
71
72
|
def label_name
|
@@ -110,7 +110,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def button_content
|
113
|
-
[
|
113
|
+
[glyph_and_content_html(options[:text].nil? ? @content : ''), ' ', caret].compact.join.html_safe
|
114
114
|
end
|
115
115
|
|
116
116
|
def button_html
|
@@ -69,8 +69,8 @@ module UiBibz::Ui::Core::Icons
|
|
69
69
|
stars = []
|
70
70
|
number.times do |star|
|
71
71
|
star += 1
|
72
|
-
|
73
|
-
stars << UiBibz::Ui::Core::Icons::Glyph.new(
|
72
|
+
star_options = star_name(star).merge(glyph_opts)
|
73
|
+
stars << UiBibz::Ui::Core::Icons::Glyph.new(star_options).render
|
74
74
|
end
|
75
75
|
stars
|
76
76
|
end
|
@@ -84,11 +84,11 @@ module UiBibz::Ui::Core::Icons
|
|
84
84
|
|
85
85
|
def star_name star
|
86
86
|
if star <= content
|
87
|
-
'star'
|
87
|
+
{ name: 'star', style: :solid }
|
88
88
|
elsif star > content && !content.is_a?(Integer) && star < content + 1
|
89
|
-
'star-half-
|
89
|
+
{ name: 'star-half-alt', style: :solid }
|
90
90
|
else
|
91
|
-
'star
|
91
|
+
{ name: 'star', style: :regular }
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require 'haml'
|
2
|
+
module UiBibz::Ui::Core::Navigations
|
3
|
+
|
4
|
+
# Create a ToolbarForm
|
5
|
+
#
|
6
|
+
# This element is an extend of ActionView::Helpers::FormHelper::FormFor to Rails
|
7
|
+
#
|
8
|
+
# ==== Attributes
|
9
|
+
#
|
10
|
+
# * +content+ - Content of element
|
11
|
+
# * +options+ - Options of element
|
12
|
+
# * +html_options+ - Html Options of element
|
13
|
+
#
|
14
|
+
# ==== Options
|
15
|
+
#
|
16
|
+
# You can add HTML attributes using the +html_options+.
|
17
|
+
# You can pass arguments in options attribute:
|
18
|
+
#
|
19
|
+
# http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for
|
20
|
+
# # and
|
21
|
+
# http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag
|
22
|
+
#
|
23
|
+
# ==== Signatures
|
24
|
+
#
|
25
|
+
# UiBibz::Ui::Core::Navigations::ToolbarForm.new(options = nil, html_options = nil) do |f|
|
26
|
+
# f.text_field :field
|
27
|
+
# f.submit 'Submit'
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# ==== Examples
|
31
|
+
#
|
32
|
+
# UiBibz::Ui::Core::Navigations::ToolbarForm.new(position: :right) do |f|
|
33
|
+
# f.text_field :field
|
34
|
+
# f.submit 'Submit'
|
35
|
+
# end.render
|
36
|
+
#
|
37
|
+
# UiBibz::Ui::Core::Navigations::ToolbarForm.new('/search', type: :form_tag) do
|
38
|
+
# text_field_tag :field
|
39
|
+
# submit_tag 'Submit'
|
40
|
+
# end.render
|
41
|
+
#
|
42
|
+
class ToolbarForm < UiBibz::Ui::Base
|
43
|
+
include Haml::Helpers
|
44
|
+
include SimpleForm::ActionViewExtensions::FormHelper if defined?(SimpleForm)
|
45
|
+
include UiBibz::Helpers::UtilsHelper
|
46
|
+
include ActionView::Helpers
|
47
|
+
|
48
|
+
attr_accessor :html_options
|
49
|
+
|
50
|
+
def initialize model_or_url, options = {}, &block
|
51
|
+
init_haml_helpers
|
52
|
+
@content = block
|
53
|
+
@model_or_url = model_or_url
|
54
|
+
@options = options
|
55
|
+
@html_options = !%i(form_for ui_form_for).include?(type) ? html_options_for_form(@model_or_url, new_option) : new_option
|
56
|
+
end
|
57
|
+
|
58
|
+
# Render html tag
|
59
|
+
def render
|
60
|
+
case type
|
61
|
+
when :form_for
|
62
|
+
@form = form_for(@model_or_url, html_options, &@content)
|
63
|
+
when :ui_form_for
|
64
|
+
begin
|
65
|
+
@form = ui_form_for(@model_or_url, html_options, &@content)
|
66
|
+
## rescue
|
67
|
+
## raise 'You must install simple form to use ui_form_for.'
|
68
|
+
end
|
69
|
+
else
|
70
|
+
@form = form_tag_with_body(html_options, capture(&@content))
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def new_option
|
77
|
+
(@options || {}).merge({ class: UiBibz::Utils::Screwdriver.join_classes("btn-group", @options[:class]) })
|
78
|
+
end
|
79
|
+
|
80
|
+
def protect_against_forgery?
|
81
|
+
false
|
82
|
+
end
|
83
|
+
|
84
|
+
def url
|
85
|
+
@options[:url]
|
86
|
+
end
|
87
|
+
|
88
|
+
def type
|
89
|
+
@options[:type] || :form_for
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'ui_bibz/ui/core/navigations/components/toolbar_form'
|
1
2
|
module UiBibz::Ui::Core::Navigations
|
2
3
|
|
3
4
|
# Create a toolbar
|
@@ -70,7 +71,13 @@ module UiBibz::Ui::Core::Navigations
|
|
70
71
|
|
71
72
|
def spacer num = "auto"
|
72
73
|
kls = "mr-#{ num }"
|
73
|
-
@items.last.html_options[
|
74
|
+
@items.last.html_options["class"] = join_classes(@items.last.html_options.delete(:class), @items.last.html_options[:class], kls)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Add navbar form items
|
78
|
+
# See UiBibz::Ui::Core::ToolbarForm
|
79
|
+
def form model_or_url, options = {}, &block
|
80
|
+
@items << UiBibz::Ui::Core::Navigations::ToolbarForm.new(model_or_url, options, &block)
|
74
81
|
end
|
75
82
|
|
76
83
|
private
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'ui_bibz/ui/ux/containers/components/panel_tab_group'
|
1
2
|
module UiBibz::Ui::Ux::Containers::Components
|
2
3
|
|
3
4
|
# Create a panel header
|
@@ -52,6 +53,14 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
52
53
|
@actions = UiBibz::Ui::Core::Forms::Buttons::ButtonGroup.new(content, options, html_options).tap(&block).render
|
53
54
|
end
|
54
55
|
|
56
|
+
def tab_group content = nil, options = nil, html_options = nil, &block
|
57
|
+
if is_tap(content, options)
|
58
|
+
@content = PanelTabGroup.new(content, options, html_options).tap(&block).render
|
59
|
+
else
|
60
|
+
@content = PanelTabGroup.new(content, options, html_options, &block).render
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
55
64
|
private
|
56
65
|
|
57
66
|
def component_html_classes
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module UiBibz::Ui::Ux::Containers::Components
|
2
|
+
|
3
|
+
# Create a card body
|
4
|
+
#
|
5
|
+
# ==== Attributes
|
6
|
+
#
|
7
|
+
# * +content+ - Content of element
|
8
|
+
# * +options+ - Options of element
|
9
|
+
# * +html_options+ - Html Options of element
|
10
|
+
#
|
11
|
+
# ==== Options
|
12
|
+
#
|
13
|
+
# You can add HTML attributes using the +html_options+.
|
14
|
+
# You can pass arguments in options attribute:
|
15
|
+
#
|
16
|
+
# ==== Signatures
|
17
|
+
#
|
18
|
+
# UiBibz::Ui::Core::Boxes::PanelBody.new(content, options = nil, html_options = nil)
|
19
|
+
#
|
20
|
+
# UiBibz::Ui::Core::Boxes::PanelBody.new(options = nil, html_options = nil) do
|
21
|
+
# content
|
22
|
+
# end
|
23
|
+
#
|
24
|
+
# ==== Examples
|
25
|
+
#
|
26
|
+
# UiBibz::Ui::Core::Boxes::PanelBody.new.render
|
27
|
+
#
|
28
|
+
# UiBibz::Ui::Core::Boxes::PanelBody.new do
|
29
|
+
# 'Exemple'
|
30
|
+
# end.render
|
31
|
+
#
|
32
|
+
class PanelTabGroup < UiBibz::Ui::Core::Navigations::TabGroup
|
33
|
+
|
34
|
+
def initialize content = nil, options = nil, html_options = nil, &block
|
35
|
+
super
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def component_html_classes
|
41
|
+
super << "panel-header-tabs"
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
data/test/factories/user.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
FactoryBot.define do
|
2
2
|
factory :user do
|
3
|
-
name_fr "Name fr"
|
4
|
-
name_en "Name en"
|
5
|
-
body_fr "Body fr"
|
6
|
-
body_en "Body en"
|
7
|
-
active true
|
3
|
+
name_fr { "Name fr" }
|
4
|
+
name_en { "Name en" }
|
5
|
+
body_fr { "Body fr" }
|
6
|
+
body_en { "Body en" }
|
7
|
+
active { true }
|
8
8
|
end
|
9
9
|
end
|