ui_bibz 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +68 -60
- data/app/assets/javascripts/input-connected.coffee +2 -0
- data/app/assets/javascripts/interface.coffee +12 -3
- data/app/assets/javascripts/ui_bibz.coffee +18 -21
- data/app/assets/stylesheets/_custom_variables.sass +3 -3
- data/app/assets/stylesheets/_panel.scss +1 -1
- data/app/assets/stylesheets/forms.sass +3 -5
- data/app/assets/stylesheets/navigations.sass +3 -0
- data/app/assets/stylesheets/notifications.sass +7 -0
- data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +15 -6
- data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +1 -1
- data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +1 -1
- data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +1 -7
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +1 -1
- data/lib/ui_bibz/rails/engine.rb +7 -0
- data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +2 -2
- data/lib/ui_bibz/ui/core/component.rb +4 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +8 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +7 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +51 -0
- data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +2 -2
- data/lib/ui_bibz/ui/core/navigations/tab_group.rb +1 -1
- data/lib/ui_bibz/ui/core/notifications/alert.rb +6 -0
- data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +4 -4
- data/lib/ui_bibz/version.rb +1 -1
- data/lib/ui_bibz.rb +27 -0
- data/test/dummy/config/environments/test.rb +1 -0
- data/test/ui/core/boxes/card_test.rb +1 -1
- data/test/ui/core/navigations/navbar_test.rb +1 -1
- data/test/ui/core/notifications/alert_test.rb +7 -0
- data/test/ui/ux/tables/table_test.rb +7 -6
- data/ui_bibz.gemspec +0 -1
- data/vendor/assets/javascripts/jquery-ui.min.js +5 -3
- data/vendor/assets/stylesheets/awesome-bootstrap-checkbox.css +327 -0
- data/vendor/assets/stylesheets/jquery-ui.css +609 -0
- metadata +6 -5
- data/lib/ui_bibz/inputs/ui_bibz_inputs/auto_complete_field_input.rb +0 -14
- data/vendor/assets/stylesheets/awesome-bootstrap-checkbox.scss +0 -270
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f43bb10fac13d2823e385b38bd8b32ca2e1b87d
|
4
|
+
data.tar.gz: 0be25ec589d432d7f22921ed689fa4a88b5c5667
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68dab72ac5152cdec6c232d83ae2405327fef4fff83e52e8239c167a8389ca283661185be6644c3a0d7a6feb8ec9951840c923210999066ecae97f924ca039d4
|
7
|
+
data.tar.gz: 2a5d3cd2577cdd69c63b181f71196bcf66e6dea7f2c97399648832603954c02fff0348b5d6681f033ead02564f12ec8ba5a0edd7a3fae3b492955c21326f0df7
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ui_bibz (2.0.
|
4
|
+
ui_bibz (2.0.1)
|
5
5
|
bootstrap (= 4.0.0)
|
6
6
|
font-awesome-sass
|
7
7
|
haml
|
@@ -16,45 +16,49 @@ PATH
|
|
16
16
|
GEM
|
17
17
|
remote: https://rubygems.org/
|
18
18
|
specs:
|
19
|
-
actioncable (5.
|
20
|
-
actionpack (= 5.
|
19
|
+
actioncable (5.2.0)
|
20
|
+
actionpack (= 5.2.0)
|
21
21
|
nio4r (~> 2.0)
|
22
|
-
websocket-driver (
|
23
|
-
actionmailer (5.
|
24
|
-
actionpack (= 5.
|
25
|
-
actionview (= 5.
|
26
|
-
activejob (= 5.
|
22
|
+
websocket-driver (>= 0.6.1)
|
23
|
+
actionmailer (5.2.0)
|
24
|
+
actionpack (= 5.2.0)
|
25
|
+
actionview (= 5.2.0)
|
26
|
+
activejob (= 5.2.0)
|
27
27
|
mail (~> 2.5, >= 2.5.4)
|
28
28
|
rails-dom-testing (~> 2.0)
|
29
|
-
actionpack (5.
|
30
|
-
actionview (= 5.
|
31
|
-
activesupport (= 5.
|
29
|
+
actionpack (5.2.0)
|
30
|
+
actionview (= 5.2.0)
|
31
|
+
activesupport (= 5.2.0)
|
32
32
|
rack (~> 2.0)
|
33
33
|
rack-test (>= 0.6.3)
|
34
34
|
rails-dom-testing (~> 2.0)
|
35
35
|
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
36
|
-
actionview (5.
|
37
|
-
activesupport (= 5.
|
36
|
+
actionview (5.2.0)
|
37
|
+
activesupport (= 5.2.0)
|
38
38
|
builder (~> 3.1)
|
39
39
|
erubi (~> 1.4)
|
40
40
|
rails-dom-testing (~> 2.0)
|
41
41
|
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
42
|
-
activejob (5.
|
43
|
-
activesupport (= 5.
|
42
|
+
activejob (5.2.0)
|
43
|
+
activesupport (= 5.2.0)
|
44
44
|
globalid (>= 0.3.6)
|
45
|
-
activemodel (5.
|
46
|
-
activesupport (= 5.
|
47
|
-
activerecord (5.
|
48
|
-
activemodel (= 5.
|
49
|
-
activesupport (= 5.
|
50
|
-
arel (
|
51
|
-
|
45
|
+
activemodel (5.2.0)
|
46
|
+
activesupport (= 5.2.0)
|
47
|
+
activerecord (5.2.0)
|
48
|
+
activemodel (= 5.2.0)
|
49
|
+
activesupport (= 5.2.0)
|
50
|
+
arel (>= 9.0)
|
51
|
+
activestorage (5.2.0)
|
52
|
+
actionpack (= 5.2.0)
|
53
|
+
activerecord (= 5.2.0)
|
54
|
+
marcel (~> 0.3.1)
|
55
|
+
activesupport (5.2.0)
|
52
56
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
53
|
-
i18n (
|
57
|
+
i18n (>= 0.7, < 2)
|
54
58
|
minitest (~> 5.1)
|
55
59
|
tzinfo (~> 1.1)
|
56
|
-
arel (
|
57
|
-
autoprefixer-rails (8.
|
60
|
+
arel (9.0.0)
|
61
|
+
autoprefixer-rails (8.3.0)
|
58
62
|
execjs
|
59
63
|
awesome_print (1.8.0)
|
60
64
|
bootstrap (4.0.0)
|
@@ -62,13 +66,13 @@ GEM
|
|
62
66
|
popper_js (>= 1.12.9, < 2)
|
63
67
|
sass (>= 3.5.2)
|
64
68
|
builder (3.2.3)
|
65
|
-
byebug (10.0.
|
66
|
-
codeclimate-test-reporter (1.0.
|
67
|
-
simplecov
|
69
|
+
byebug (10.0.2)
|
70
|
+
codeclimate-test-reporter (1.0.8)
|
71
|
+
simplecov (<= 0.13)
|
68
72
|
concurrent-ruby (1.0.5)
|
69
|
-
crass (1.0.
|
73
|
+
crass (1.0.4)
|
70
74
|
docile (1.1.5)
|
71
|
-
erubi (1.7.
|
75
|
+
erubi (1.7.1)
|
72
76
|
erubis (2.7.0)
|
73
77
|
execjs (2.7.0)
|
74
78
|
factory_bot (4.8.2)
|
@@ -77,7 +81,7 @@ GEM
|
|
77
81
|
factory_bot (~> 4.8.2)
|
78
82
|
railties (>= 3.0.0)
|
79
83
|
ffi (1.9.23)
|
80
|
-
font-awesome-sass (5.0.
|
84
|
+
font-awesome-sass (5.0.9)
|
81
85
|
sass (>= 3.2)
|
82
86
|
globalid (0.4.1)
|
83
87
|
activesupport (>= 4.2.0)
|
@@ -95,59 +99,63 @@ GEM
|
|
95
99
|
haml (>= 4.0, < 6)
|
96
100
|
nokogiri (>= 1.6.0)
|
97
101
|
ruby_parser (~> 3.5)
|
98
|
-
i18n (0.
|
102
|
+
i18n (1.0.1)
|
99
103
|
concurrent-ruby (~> 1.0)
|
100
|
-
jquery-rails (4.3.
|
104
|
+
jquery-rails (4.3.3)
|
101
105
|
rails-dom-testing (>= 1, < 3)
|
102
106
|
railties (>= 4.2.0)
|
103
107
|
thor (>= 0.14, < 2.0)
|
104
108
|
json (2.1.0)
|
105
|
-
loofah (2.2.
|
109
|
+
loofah (2.2.2)
|
106
110
|
crass (~> 1.0.2)
|
107
111
|
nokogiri (>= 1.5.9)
|
108
112
|
mail (2.7.0)
|
109
113
|
mini_mime (>= 0.1.1)
|
114
|
+
marcel (0.3.2)
|
115
|
+
mimemagic (~> 0.3.2)
|
110
116
|
method_source (0.9.0)
|
117
|
+
mimemagic (0.3.2)
|
111
118
|
mini_mime (1.0.0)
|
112
119
|
mini_portile2 (2.3.0)
|
113
120
|
minitest (5.11.3)
|
114
|
-
nio4r (2.
|
121
|
+
nio4r (2.3.0)
|
115
122
|
nokogiri (1.8.2)
|
116
123
|
mini_portile2 (~> 2.3.0)
|
117
124
|
popper_js (1.12.9)
|
118
|
-
rack (2.0.
|
119
|
-
rack-test (0.
|
125
|
+
rack (2.0.5)
|
126
|
+
rack-test (1.0.0)
|
120
127
|
rack (>= 1.0, < 3)
|
121
|
-
rails (5.
|
122
|
-
actioncable (= 5.
|
123
|
-
actionmailer (= 5.
|
124
|
-
actionpack (= 5.
|
125
|
-
actionview (= 5.
|
126
|
-
activejob (= 5.
|
127
|
-
activemodel (= 5.
|
128
|
-
activerecord (= 5.
|
129
|
-
|
128
|
+
rails (5.2.0)
|
129
|
+
actioncable (= 5.2.0)
|
130
|
+
actionmailer (= 5.2.0)
|
131
|
+
actionpack (= 5.2.0)
|
132
|
+
actionview (= 5.2.0)
|
133
|
+
activejob (= 5.2.0)
|
134
|
+
activemodel (= 5.2.0)
|
135
|
+
activerecord (= 5.2.0)
|
136
|
+
activestorage (= 5.2.0)
|
137
|
+
activesupport (= 5.2.0)
|
130
138
|
bundler (>= 1.3.0)
|
131
|
-
railties (= 5.
|
139
|
+
railties (= 5.2.0)
|
132
140
|
sprockets-rails (>= 2.0.0)
|
133
141
|
rails-dom-testing (2.0.3)
|
134
142
|
activesupport (>= 4.2.0)
|
135
143
|
nokogiri (>= 1.6)
|
136
|
-
rails-html-sanitizer (1.0.
|
137
|
-
loofah (~> 2.
|
138
|
-
railties (5.
|
139
|
-
actionpack (= 5.
|
140
|
-
activesupport (= 5.
|
144
|
+
rails-html-sanitizer (1.0.4)
|
145
|
+
loofah (~> 2.2, >= 2.2.2)
|
146
|
+
railties (5.2.0)
|
147
|
+
actionpack (= 5.2.0)
|
148
|
+
activesupport (= 5.2.0)
|
141
149
|
method_source
|
142
150
|
rake (>= 0.8.7)
|
143
151
|
thor (>= 0.18.1, < 2.0)
|
144
|
-
rake (12.3.
|
152
|
+
rake (12.3.1)
|
145
153
|
rb-fsevent (0.10.3)
|
146
154
|
rb-inotify (0.9.10)
|
147
155
|
ffi (>= 0.5.0, < 2)
|
148
156
|
ruby_parser (3.11.0)
|
149
157
|
sexp_processor (~> 4.9)
|
150
|
-
sass (3.5.
|
158
|
+
sass (3.5.6)
|
151
159
|
sass-listen (~> 4.0.0)
|
152
160
|
sass-listen (4.0.0)
|
153
161
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
@@ -158,11 +166,11 @@ GEM
|
|
158
166
|
sprockets (>= 2.8, < 4.0)
|
159
167
|
sprockets-rails (>= 2.0, < 4.0)
|
160
168
|
tilt (>= 1.1, < 3)
|
161
|
-
sexp_processor (4.
|
162
|
-
simple_form (
|
163
|
-
actionpack (> 4
|
164
|
-
activemodel (> 4
|
165
|
-
simplecov (0.
|
169
|
+
sexp_processor (4.11.0)
|
170
|
+
simple_form (4.0.0)
|
171
|
+
actionpack (> 4)
|
172
|
+
activemodel (> 4)
|
173
|
+
simplecov (0.13.0)
|
166
174
|
docile (~> 1.1.0)
|
167
175
|
json (>= 1.8, < 3)
|
168
176
|
simplecov-html (~> 0.10.0)
|
@@ -181,7 +189,7 @@ GEM
|
|
181
189
|
tilt (2.0.8)
|
182
190
|
tzinfo (1.2.5)
|
183
191
|
thread_safe (~> 0.1)
|
184
|
-
websocket-driver (0.
|
192
|
+
websocket-driver (0.7.0)
|
185
193
|
websocket-extensions (>= 0.1.0)
|
186
194
|
websocket-extensions (0.1.3)
|
187
195
|
will-paginate-i18n (0.1.15)
|
@@ -22,6 +22,8 @@
|
|
22
22
|
componentTarget.multiSelect('refresh') if componentTarget.hasClass('multi-column-field')
|
23
23
|
componentTarget.selectpicker('refresh') if componentTarget.hasClass('dropdown-select-field')
|
24
24
|
componentTarget.multiselect('rebuild') if componentTarget.hasClass('multi-select-field')
|
25
|
+
componentTarget.attr("disabled", false)
|
26
|
+
componentTarget.removeClass("disabled")
|
25
27
|
componentTarget.change()
|
26
28
|
|
27
29
|
updateTargetRefreshButton = (componentTarget, component) ->
|
@@ -6,11 +6,10 @@
|
|
6
6
|
@dropdown()
|
7
7
|
@checkbox()
|
8
8
|
@popover()
|
9
|
+
@notify()
|
9
10
|
|
10
11
|
nav: ->
|
11
|
-
$('.nav-tabs
|
12
|
-
e.preventDefault()
|
13
|
-
$(this).tab('show')
|
12
|
+
$('.nav-tabs nav-link').tab('show')
|
14
13
|
|
15
14
|
popover: ->
|
16
15
|
$('[data-toggle="popover"]').popover({ html: true })
|
@@ -22,6 +21,16 @@
|
|
22
21
|
dropdown: ->
|
23
22
|
$('.dropdown-toggle').dropdown()
|
24
23
|
|
24
|
+
notify: ->
|
25
|
+
$('.alert').each ->
|
26
|
+
timeoutValue = $(this).data('timeout')
|
27
|
+
if timeoutValue?
|
28
|
+
me = $(this)
|
29
|
+
setTimeout ->
|
30
|
+
me.addClass('fade')
|
31
|
+
, timeoutValue
|
32
|
+
|
33
|
+
|
25
34
|
checkbox: ->
|
26
35
|
$('.abc-checkbox.indeterminate input[type=checkbox]').on 'click', ->
|
27
36
|
el = $(this)
|
@@ -39,24 +39,21 @@
|
|
39
39
|
|
40
40
|
@UiBibz = class UiBibz
|
41
41
|
|
42
|
-
constructor: ->
|
43
|
-
@
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
$(document).on('turbolinks:load page:change', ready) # catch event for turbolinks and fix in ready() function
|
61
|
-
else
|
62
|
-
$(document).on('ready', ready) # catch event for turbolinks and fix in ready() function
|
42
|
+
constructor: (args = {}) ->
|
43
|
+
@turbolinks = args.turbolinks
|
44
|
+
return this
|
45
|
+
|
46
|
+
load: ->
|
47
|
+
new window.UiBibzTable()
|
48
|
+
new window.UiBibzForm()
|
49
|
+
new window.UiBibzInterface()
|
50
|
+
new window.UiBibzFormula()
|
51
|
+
$( "textarea[data-provide*='markdown']" ).markdown() # fix markdown js if turbolinks exists
|
52
|
+
return false
|
53
|
+
|
54
|
+
ready: ->
|
55
|
+
me = this
|
56
|
+
if @turbolinks?
|
57
|
+
$(document).on('turbolinks:load', me.load) # catch event for turbolinks and fix in ready() function
|
58
|
+
else
|
59
|
+
$(document).on('ready', me.load)
|
@@ -5,10 +5,10 @@ $panel-spacer-y: .75rem !default
|
|
5
5
|
$panel-spacer-x: 1.25rem !default
|
6
6
|
$panel-border-width: $border-width !default
|
7
7
|
$panel-border-radius: $border-radius !default
|
8
|
-
$panel-border-color:
|
8
|
+
$panel-border-color: $card-border-color
|
9
9
|
$panel-inner-border-radius: calc(#{$panel-border-radius} - #{$panel-border-width}) !default
|
10
|
-
$panel-cap-bg:
|
11
|
-
$panel-bg: $
|
10
|
+
$panel-cap-bg: $card-cap-bg
|
11
|
+
$panel-bg: $card-bg
|
12
12
|
|
13
13
|
$panel-img-overlay-padding: 1.25rem !default
|
14
14
|
|
@@ -11,7 +11,7 @@
|
|
11
11
|
border-top-right-radius: 0 !important
|
12
12
|
width: 100%
|
13
13
|
.form-control[readonly]
|
14
|
-
background-color:
|
14
|
+
background-color: darken($body-bg, 2%)
|
15
15
|
.formula-field_alert, .formula-field-result, .formula-field-sign
|
16
16
|
display: none
|
17
17
|
|
@@ -22,8 +22,8 @@
|
|
22
22
|
.btn
|
23
23
|
padding: 10px 16px
|
24
24
|
|
25
|
-
.input-group-addon.abc-checkbox label, .input-group-addon.abc-radio label
|
26
|
-
|
25
|
+
// .input-group-addon.abc-checkbox label, .input-group-addon.abc-radio label
|
26
|
+
// margin-bottom: 0
|
27
27
|
|
28
28
|
.checkbox-inline, .radio-inline
|
29
29
|
display: inline-block
|
@@ -44,8 +44,6 @@
|
|
44
44
|
min-width: 104px
|
45
45
|
|
46
46
|
.ui_surround_field
|
47
|
-
select
|
48
|
-
-webkit-appearance: none
|
49
47
|
.mr-sm-2
|
50
48
|
margin-right: 0px !important
|
51
49
|
input:not(:first-child):not(:last-child)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module UiBibzForm
|
2
|
-
if defined?(SimpleForm)
|
2
|
+
#if defined?(SimpleForm)
|
3
3
|
class UiBibzFormBuilder < SimpleForm::FormBuilder
|
4
4
|
include ActionView::Helpers::TagHelper
|
5
5
|
include ActionView::Helpers::TextHelper
|
@@ -11,12 +11,21 @@ module UiBibzForm
|
|
11
11
|
content = (options || {}).merge(content || {})
|
12
12
|
content = content.merge(template: @template, form: self)
|
13
13
|
|
14
|
-
input_classes
|
15
|
-
wrapper_html
|
14
|
+
input_classes = UiBibz::Utils::Screwdriver.join_classes('form-group', 'surround_field', options[:input_html].try(:[], :class))
|
15
|
+
wrapper_html = (options[:input_html] || {}).merge({ class: input_classes })
|
16
|
+
surround_field = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new(content, opts, html_options).tap(&block)
|
17
|
+
errors_text = surround_field.errors.flatten.to_sentence
|
18
|
+
required = surround_field.required_fields.any?{ |u| u == true }
|
19
|
+
wrapper_classes = UiBibz::Utils::Screwdriver.join_classes(("has-error" unless errors_text.blank?), wrapper_html.try(:[], :class))
|
20
|
+
label_classes = UiBibz::Utils::Screwdriver.join_classes(("required" if required), 'control-label')
|
21
|
+
abbr_html = content_tag("abbr", I18n.t(:"simple_form.required.mark", default: '*'), title: I18n.t(:"simple_form.required.text", default: 'required')) if required
|
22
|
+
|
23
|
+
wrapper_html[:class] = wrapper_classes
|
16
24
|
|
17
25
|
content_tag :div, wrapper_html do
|
18
|
-
concat content_tag(:label, content[:label])
|
19
|
-
concat
|
26
|
+
concat content_tag(:label, "#{ abbr_html } #{ content[:label] }".html_safe, class: label_classes) if content[:label]
|
27
|
+
concat surround_field.render
|
28
|
+
concat content_tag(:span, errors_text || content[:hint], class: 'help-block') if !errors_text.blank? || !content[:hint].nil?
|
20
29
|
end
|
21
30
|
end
|
22
31
|
|
@@ -34,5 +43,5 @@ module UiBibzForm
|
|
34
43
|
end
|
35
44
|
|
36
45
|
end
|
37
|
-
end
|
46
|
+
#end
|
38
47
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module UiBibzInputs
|
2
|
-
class StringInput <
|
2
|
+
class StringInput < BaseInput
|
3
3
|
|
4
4
|
enable :placeholder, :maxlength, :minlength, :pattern
|
5
5
|
|
@@ -24,11 +24,5 @@ module UiBibzInputs
|
|
24
24
|
input_type == :string
|
25
25
|
end
|
26
26
|
|
27
|
-
protected
|
28
|
-
|
29
|
-
def input_attribute_name
|
30
|
-
"#{ @builder.object.class.to_s.parameterize.underscore }[#{ attribute_name }]"
|
31
|
-
end
|
32
|
-
|
33
27
|
end
|
34
28
|
end
|
data/lib/ui_bibz/rails/engine.rb
CHANGED
@@ -13,12 +13,19 @@ module UiBibz
|
|
13
13
|
initializer "ui_bibz.helpers" do
|
14
14
|
ActionView::Base.send :include, UiBibz::Helpers::UtilsHelper
|
15
15
|
end
|
16
|
+
|
16
17
|
initializer "ui_bibz.helpers.ui" do
|
17
18
|
ActionView::Base.send :include, UiBibz::Helpers::Ui::CoreHelper
|
18
19
|
ActionView::Base.send :include, UiBibz::Helpers::Ui::UxHelper
|
19
20
|
end
|
20
21
|
|
22
|
+
|
21
23
|
config.autoload_paths += Dir["#{config.root}/lib/ui_bibz/inputs/**/"] if defined?(::SimpleForm)
|
24
|
+
initializer "ui_bibz.helpers.form" do
|
25
|
+
ActionView::Base.send :include, UiBibzForm
|
26
|
+
#Dir["#{config.root}/lib/ui_bibz/inputs/**/**"].each{ |b| require b } if defined?(::SimpleForm)
|
27
|
+
end
|
28
|
+
|
22
29
|
|
23
30
|
end
|
24
31
|
end
|
@@ -40,8 +40,8 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
40
40
|
|
41
41
|
# Render html tag
|
42
42
|
def pre_render
|
43
|
-
#image_tag
|
44
|
-
image_tag content, html_options
|
43
|
+
#image_tag content, html_options
|
44
|
+
image_tag asset_path("assets/#{content}"), html_options
|
45
45
|
end
|
46
46
|
|
47
47
|
private
|
@@ -98,11 +98,11 @@ module UiBibz::Ui::Core
|
|
98
98
|
# Override this method to add html data
|
99
99
|
def component_html_data
|
100
100
|
# To stimulusjs
|
101
|
-
add_html_data :target, options.try(:delete, :target)
|
102
|
-
add_html_data :controller, options.try(:delete, :controller)
|
103
|
-
add_html_data :action, options.try(:delete, :action)
|
101
|
+
add_html_data :target, html_options.try(:[], :data).try(:[], :target) || options.try(:delete, :target)
|
102
|
+
add_html_data :controller, html_options.try(:[], :data).try(:[], :controller) || options.try(:delete, :controller)
|
103
|
+
add_html_data :action, html_options.try(:[], :data).try(:[], :action) || options.try(:delete, :action)
|
104
104
|
# To turbolinks
|
105
|
-
add_html_data :turbolinks, options.try(:delete, :turbolinks)
|
105
|
+
add_html_data :turbolinks, html_options.try(:[], :data).try(:[], :turbolinks) || options.try(:delete, :turbolinks)
|
106
106
|
end
|
107
107
|
|
108
108
|
# Override this method to add html Options
|
@@ -50,10 +50,14 @@ module UiBibz::Ui::Core::Forms::Surrounds
|
|
50
50
|
#
|
51
51
|
class SurroundField < UiBibz::Ui::Core::Component
|
52
52
|
|
53
|
+
attr_reader :errors, :required_fields
|
54
|
+
|
53
55
|
# See UiBibz::Ui::Core::Component.initialize
|
54
56
|
def initialize content = nil, options = nil, html_options = nil, &block
|
55
57
|
super
|
56
58
|
@items = []
|
59
|
+
@errors = []
|
60
|
+
@required_fields = []
|
57
61
|
end
|
58
62
|
|
59
63
|
# Render html tag
|
@@ -66,7 +70,10 @@ module UiBibz::Ui::Core::Forms::Surrounds
|
|
66
70
|
end
|
67
71
|
|
68
72
|
def input attribute_name, options = {}, &block
|
69
|
-
@items << @options[:form].input(attribute_name, options.merge({ label: false, wrapper: false }), &block)
|
73
|
+
@items << @options[:form].input(attribute_name, options.merge({ label: false, wrapper: false, error: false }), &block)
|
74
|
+
obj = @options[:form].object
|
75
|
+
@errors << obj.errors[attribute_name] unless obj.errors[attribute_name].empty?
|
76
|
+
@required_fields << (obj._validators[attribute_name].try(:first).class.to_s == "ActiveRecord::Validations::PresenceValidator")
|
70
77
|
end
|
71
78
|
|
72
79
|
def glyph content = nil, options = {}, html_options = nil, &block
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'ui_bibz/ui/core/navigations/components/nav_link_link'
|
2
2
|
require 'ui_bibz/ui/core/navigations/components/nav_link_list'
|
3
|
+
require 'ui_bibz/ui/core/navigations/components/nav_link_span'
|
3
4
|
module UiBibz::Ui::Core::Navigations
|
4
5
|
|
5
6
|
# Create a NavLink
|
@@ -43,6 +44,7 @@ module UiBibz::Ui::Core::Navigations
|
|
43
44
|
# See UiBibz::Ui::Core::Component.initialize
|
44
45
|
def initialize content = nil, options = nil, html_options = nil, &block
|
45
46
|
super
|
47
|
+
@old_options = options
|
46
48
|
end
|
47
49
|
|
48
50
|
# Render html tag
|
@@ -50,7 +52,11 @@ module UiBibz::Ui::Core::Navigations
|
|
50
52
|
if options[:nav_type] == "nav-links"
|
51
53
|
UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options, html_options).render
|
52
54
|
else
|
53
|
-
|
55
|
+
if options[:tag_type] == "span"
|
56
|
+
cont = UiBibz::Ui::Core::Navigations::NavLinkSpan.new(content, @old_options).render
|
57
|
+
else
|
58
|
+
cont = UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options).render
|
59
|
+
end
|
54
60
|
#html_options[:class] = remove_class(html_options[:class])
|
55
61
|
remove_classes
|
56
62
|
UiBibz::Ui::Core::Navigations::NavLinkList.new(cont, options, html_options).render
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module UiBibz::Ui::Core::Navigations
|
2
|
+
|
3
|
+
# Create a NavLinkLink
|
4
|
+
#
|
5
|
+
# This element is an extend of UiBibz::Ui::Core::Component.
|
6
|
+
#
|
7
|
+
# ==== Attributes
|
8
|
+
#
|
9
|
+
# * +content+ - Content of element
|
10
|
+
# * +options+ - Options of element
|
11
|
+
# * +html_options+ - Html Options of element
|
12
|
+
#
|
13
|
+
# ==== Options
|
14
|
+
#
|
15
|
+
# You can add HTML attributes using the +html_options+.
|
16
|
+
# You can pass arguments in options attribute:
|
17
|
+
# * +state+ - status of élement with symbol value:
|
18
|
+
# (+:active+)
|
19
|
+
#
|
20
|
+
class NavLinkSpan < UiBibz::Ui::Core::Component
|
21
|
+
|
22
|
+
# UiBibz::Ui::Core::Component.initialize
|
23
|
+
def initialize content = nil, options = nil, html_options = nil, &block
|
24
|
+
super
|
25
|
+
end
|
26
|
+
|
27
|
+
# Render html tag
|
28
|
+
def pre_render
|
29
|
+
content_tag :span, html_options do
|
30
|
+
concat glyph_and_content_html
|
31
|
+
concat tag_html if options[:tag]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def component_html_classes
|
38
|
+
"nav-link"
|
39
|
+
end
|
40
|
+
|
41
|
+
def component_html_options
|
42
|
+
{ "data-toggle" => "tab", role: 'tab' }
|
43
|
+
end
|
44
|
+
|
45
|
+
def component_html_data
|
46
|
+
super
|
47
|
+
add_html_data "link", options[:link] if options[:link]
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
@@ -63,8 +63,8 @@ module UiBibz::Ui::Core::Navigations
|
|
63
63
|
when :ui_form_for
|
64
64
|
begin
|
65
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.'
|
66
|
+
## rescue
|
67
|
+
## raise 'You must install simple form to use ui_form_for.'
|
68
68
|
end
|
69
69
|
else
|
70
70
|
@form = form_tag_with_body(html_options, capture(&@content))
|
@@ -68,7 +68,7 @@ module UiBibz::Ui::Core::Navigations
|
|
68
68
|
# Add nav link items
|
69
69
|
# See UiBibz::Ui::Core::Navigations::NavLink
|
70
70
|
def tab content = nil, options = {}, html_options = nil, &block
|
71
|
-
block_given? ? content.merge!({ nav_type: type }) : options.merge!({ nav_type: type })
|
71
|
+
block_given? ? content.merge!({ nav_type: type, tag_type: @options[:tag_type] }) : options.merge!({ nav_type: type, tag_type: @options[:tag_type] })
|
72
72
|
@items << NavLink.new(content, options, html_options, &block)
|
73
73
|
end
|
74
74
|
|