playbook_ui 6.5.1 → 6.5.2
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/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +6 -3
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +3 -3
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +4 -10
- data/app/pb_kits/playbook/pb_date_picker/docs/{_date_picker_read_only.html.erb → _date_picker_allow_input.html.erb} +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -1
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +1 -0
- data/lib/playbook/version.rb +1 -1
- metadata +5 -5
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 189a578c049c4d3de980ed42c9f15390a0c2e75eb001a30ef49952c0bdcfb708
|
4
|
+
data.tar.gz: 5e13504ed89a6452cf39ce141d2f9a2859b4e3c5a56b545c64e72b10d156f61c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cb88a7b04c68efa695d9794036ce648beebd22802437f6663cbb6e102589000ce24827fde7eb93fc0faa61b9a9c4a93dba77a4fe7c1c8b6d035954d4d11d23f
|
7
|
+
data.tar.gz: 1c6118da84bc1ab07fc64c9b19f60370ff59ea45aa636bb46ae02c770d15b519b3c609fa443ec535cef6ac162a90fa9550efeb2482264b5cc0d1f9f53f32778c
|
@@ -8,6 +8,7 @@ import { Icon, TextInput } from '../'
|
|
8
8
|
import datePickerHelper from './date_picker_helper.js'
|
9
9
|
|
10
10
|
type DatePickerProps = {
|
11
|
+
allowInput?: Boolean,
|
11
12
|
aria?: object,
|
12
13
|
className?: String,
|
13
14
|
dark?: Boolean,
|
@@ -29,14 +30,15 @@ type DatePickerProps = {
|
|
29
30
|
minDate: String,
|
30
31
|
mode?: String,
|
31
32
|
name: String,
|
33
|
+
onChange: (String) => void,
|
32
34
|
pickerId?: String,
|
33
35
|
placeholder?: String,
|
34
|
-
readOnly?: Boolean,
|
35
36
|
type?: String,
|
36
37
|
yearRange?: Array,
|
37
38
|
}
|
38
39
|
const DatePicker = (props: DatePickerProps) => {
|
39
40
|
const {
|
41
|
+
allowInput = false,
|
40
42
|
aria = {},
|
41
43
|
className,
|
42
44
|
dark = false,
|
@@ -58,9 +60,9 @@ const DatePicker = (props: DatePickerProps) => {
|
|
58
60
|
minDate,
|
59
61
|
mode = 'single',
|
60
62
|
name,
|
63
|
+
onChange = () => {},
|
61
64
|
pickerId,
|
62
65
|
placeholder,
|
63
|
-
readOnly = false,
|
64
66
|
type,
|
65
67
|
yearRange = [ 1900, 2100 ],
|
66
68
|
} = props
|
@@ -76,6 +78,7 @@ const DatePicker = (props: DatePickerProps) => {
|
|
76
78
|
|
77
79
|
useEffect(() => {
|
78
80
|
datePickerHelper({
|
81
|
+
allowInput: allowInput,
|
79
82
|
defaultDate: defaultDate,
|
80
83
|
disableDate: disableDate,
|
81
84
|
disableRange: disableRange,
|
@@ -86,7 +89,6 @@ const DatePicker = (props: DatePickerProps) => {
|
|
86
89
|
minDate: minDate,
|
87
90
|
mode: mode,
|
88
91
|
pickerId: pickerId,
|
89
|
-
readOnly: readOnly,
|
90
92
|
yearRange: yearRange,
|
91
93
|
})
|
92
94
|
}, [])
|
@@ -124,6 +126,7 @@ const DatePicker = (props: DatePickerProps) => {
|
|
124
126
|
id={pickerId}
|
125
127
|
label={hideLabel ? null : label}
|
126
128
|
name={name}
|
129
|
+
onChange={onChange}
|
127
130
|
placeholder={placeholder}
|
128
131
|
type={type}
|
129
132
|
/>
|
@@ -7,6 +7,8 @@ module Playbook
|
|
7
7
|
|
8
8
|
partial "pb_date_picker/date_picker"
|
9
9
|
|
10
|
+
prop :allow_input, type: Playbook::Props::Boolean,
|
11
|
+
default: false
|
10
12
|
prop :dark, type: Playbook::Props::Boolean,
|
11
13
|
default: false
|
12
14
|
prop :default_date, type: Playbook::Props::String,
|
@@ -40,8 +42,6 @@ module Playbook
|
|
40
42
|
prop :picker_id, type: Playbook::Props::String,
|
41
43
|
required: true
|
42
44
|
prop :placeholder, type: Playbook::Props::String
|
43
|
-
prop :read_only, type: Playbook::Props::Boolean,
|
44
|
-
default: false
|
45
45
|
prop :required, type: Playbook::Props::Boolean,
|
46
46
|
default: false
|
47
47
|
prop :type, type: Playbook::Props::String
|
@@ -54,6 +54,7 @@ module Playbook
|
|
54
54
|
|
55
55
|
def date_picker_config
|
56
56
|
{
|
57
|
+
allowInput: allow_input,
|
57
58
|
defaultDate: default_date,
|
58
59
|
disableDate: disable_date,
|
59
60
|
disableRange: disable_range,
|
@@ -64,7 +65,6 @@ module Playbook
|
|
64
65
|
minDate: min_date,
|
65
66
|
mode: mode,
|
66
67
|
pickerId: picker_id,
|
67
|
-
readOnly: read_only,
|
68
68
|
yearRange: year_range,
|
69
69
|
}.to_json.html_safe
|
70
70
|
end
|
@@ -2,17 +2,16 @@ import flatpickr from 'flatpickr'
|
|
2
2
|
|
3
3
|
const datePickerHelper = (config) => {
|
4
4
|
const {
|
5
|
+
allowInput,
|
5
6
|
defaultDate,
|
6
7
|
disableDate,
|
7
8
|
disableRange,
|
8
9
|
disableWeekdays,
|
9
10
|
format,
|
10
|
-
hideIcon,
|
11
11
|
maxDate,
|
12
12
|
minDate,
|
13
13
|
mode,
|
14
14
|
pickerId,
|
15
|
-
readOnly,
|
16
15
|
yearRange,
|
17
16
|
} = config
|
18
17
|
|
@@ -65,7 +64,6 @@ const datePickerHelper = (config) => {
|
|
65
64
|
|
66
65
|
flatpickr(`#${pickerId}`, {
|
67
66
|
disableMobile: true,
|
68
|
-
allowInput: !readOnly,
|
69
67
|
dateFormat: format,
|
70
68
|
defaultDate: defaultDateGetter(),
|
71
69
|
disable: disableWeekdays && disableWeekdays.length > 0 ? [
|
@@ -141,13 +139,6 @@ const datePickerHelper = (config) => {
|
|
141
139
|
}
|
142
140
|
picker.config.onYearChange.push(yearChangeHook)
|
143
141
|
|
144
|
-
// click handling for Calendar Icon
|
145
|
-
if (!hideIcon){
|
146
|
-
document.querySelector(`#cal-icon-${pickerId}`).addEventListener('click', () => {
|
147
|
-
picker.toggle()
|
148
|
-
})
|
149
|
-
}
|
150
|
-
|
151
142
|
// Adding dropdown icons to year and month selects
|
152
143
|
picker.monthElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down month-dropdown-icon"></i>')
|
153
144
|
dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
|
@@ -166,6 +157,9 @@ const datePickerHelper = (config) => {
|
|
166
157
|
dropdown.value = picker.currentYear
|
167
158
|
}
|
168
159
|
})
|
160
|
+
if (allowInput){
|
161
|
+
picker.input.removeAttribute('readonly')
|
162
|
+
}
|
169
163
|
}
|
170
164
|
|
171
165
|
export default datePickerHelper
|
@@ -0,0 +1 @@
|
|
1
|
+
By default the date picker input can only be modified by picking a date on the calendar. This prop allows your users to manually type in the date.
|
@@ -12,7 +12,7 @@ examples:
|
|
12
12
|
- date_picker_min_max: Min Max
|
13
13
|
- date_picker_error: Error
|
14
14
|
- date_picker_hooks: Hooks
|
15
|
-
-
|
15
|
+
# - date_picker_allow_input: Allow Input
|
16
16
|
- date_picker_year_range: Year Range
|
17
17
|
- date_picker_dark: Dark
|
18
18
|
|
@@ -29,7 +29,7 @@ examples:
|
|
29
29
|
- date_picker_min_max: Min Max
|
30
30
|
- date_picker_error: Error
|
31
31
|
- date_picker_hooks: Hooks
|
32
|
-
-
|
32
|
+
# - date_picker_allow_input: Allow Input
|
33
33
|
- date_picker_year_range: Year Range
|
34
34
|
- date_picker_dark: Dark
|
35
35
|
|
@@ -9,6 +9,6 @@ export { default as DatePickerDisabled } from './_date_picker_disabled.jsx'
|
|
9
9
|
export { default as DatePickerMinMax } from './_date_picker_min_max.jsx'
|
10
10
|
export { default as DatePickerError } from './_date_picker_error.jsx'
|
11
11
|
export { default as DatePickerHooks } from './_date_picker_hooks.jsx'
|
12
|
-
export { default as
|
12
|
+
// export { default as DatePickerAllowInput } from './_date_picker_allow_input.jsx'
|
13
13
|
export { default as DatePickerYearRange } from './_date_picker_year_range.jsx'
|
14
14
|
export { default as DatePickerDark } from './_date_picker_dark.jsx'
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.5.
|
4
|
+
version: 6.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-09-
|
12
|
+
date: 2020-09-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -712,6 +712,9 @@ files:
|
|
712
712
|
- app/pb_kits/playbook/pb_date_picker/_date_picker.scss
|
713
713
|
- app/pb_kits/playbook/pb_date_picker/date_picker.rb
|
714
714
|
- app/pb_kits/playbook/pb_date_picker/date_picker_helper.js
|
715
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb
|
716
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx
|
717
|
+
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md
|
715
718
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb
|
716
719
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx
|
717
720
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb
|
@@ -740,9 +743,6 @@ files:
|
|
740
743
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx
|
741
744
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb
|
742
745
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx
|
743
|
-
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.html.erb
|
744
|
-
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx
|
745
|
-
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md
|
746
746
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.html.erb
|
747
747
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.jsx
|
748
748
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.md
|
@@ -1 +0,0 @@
|
|
1
|
-
Read only inputs do not accept keyboard input. The only way to change the date value is by picking a date on the calendar. Especially useful on mobile as it prevents the keyboard from popping up and obscuring the date picker.
|