playbook_ui 6.0.1.pre.alpha4 → 6.0.1.pre.alpha5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +0 -1
- data/app/pb_kits/playbook/data/menu.yml +0 -1
- data/app/pb_kits/playbook/index.js +0 -2
- data/app/pb_kits/playbook/packs/examples.js +0 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +7 -4
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +2 -2
- data/app/pb_kits/playbook/pb_form/form_builder.rb +2 -1
- data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +26 -0
- data/app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb +1 -0
- data/app/pb_kits/playbook/vendor.js +0 -6
- data/lib/playbook/version.rb +1 -1
- metadata +3 -26
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +0 -38
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +0 -101
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +0 -846
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -41
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +0 -91
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +0 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +0 -12
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +0 -24
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +0 -30
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +0 -43
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +0 -48
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +0 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +0 -19
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +0 -25
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +0 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +0 -14
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +0 -22
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +0 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -23
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +0 -8
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -41
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbDatePicker
|
5
|
-
class DatePicker
|
6
|
-
include Playbook::Props
|
7
|
-
|
8
|
-
partial "pb_date_picker/date_picker"
|
9
|
-
|
10
|
-
prop :default_date, type: Playbook::Props::String,
|
11
|
-
default: ""
|
12
|
-
prop :disable_date, type: Playbook::Props::Array,
|
13
|
-
default: []
|
14
|
-
prop :disable_range, type: Playbook::Props::Array,
|
15
|
-
default: []
|
16
|
-
prop :disable_weekdays, type: Playbook::Props::Array,
|
17
|
-
default: []
|
18
|
-
prop :error, type: Playbook::Props::String
|
19
|
-
prop :format, type: Playbook::Props::String,
|
20
|
-
default: "m/d/Y"
|
21
|
-
prop :label, type: Playbook::Props::String,
|
22
|
-
default: "Date Picker"
|
23
|
-
prop :max_date, type: Playbook::Props::String
|
24
|
-
prop :min_date, type: Playbook::Props::String
|
25
|
-
prop :name, type: Playbook::Props::String
|
26
|
-
prop :mode, type: Playbook::Props::String,
|
27
|
-
default: "single"
|
28
|
-
prop :picker_id, type: Playbook::Props::String
|
29
|
-
prop :required, type: Playbook::Props::Boolean,
|
30
|
-
default: false
|
31
|
-
|
32
|
-
def classname
|
33
|
-
generate_classname("pb_date_picker_kit")
|
34
|
-
end
|
35
|
-
|
36
|
-
def error_class
|
37
|
-
error ? "error" : ""
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,91 +0,0 @@
|
|
1
|
-
import flatpickr from 'flatpickr'
|
2
|
-
|
3
|
-
const datePickerHelper = (config) => {
|
4
|
-
const {
|
5
|
-
defaultDate,
|
6
|
-
disableDate,
|
7
|
-
disableRange,
|
8
|
-
disableWeekdays,
|
9
|
-
format,
|
10
|
-
maxDate,
|
11
|
-
minDate,
|
12
|
-
mode,
|
13
|
-
pickerId,
|
14
|
-
propModel,
|
15
|
-
} = config
|
16
|
-
|
17
|
-
const defaultDateGetter = () => {
|
18
|
-
if (defaultDate !== '') {
|
19
|
-
if (propModel === 'rails' && defaultDate.includes('[') == true) {
|
20
|
-
return JSON.parse(defaultDate.replace(/"/g, '"'))
|
21
|
-
} else if (defaultDate === 'blank') {
|
22
|
-
return ''
|
23
|
-
} else {
|
24
|
-
return defaultDate
|
25
|
-
}
|
26
|
-
}
|
27
|
-
if (mode === 'single' && defaultDate === '') {
|
28
|
-
return new Date()
|
29
|
-
} else if (mode === 'range' && defaultDate === '') {
|
30
|
-
const today = new Date()
|
31
|
-
const tomorrow = new Date(today)
|
32
|
-
tomorrow.setDate(tomorrow.getDate() + 1)
|
33
|
-
return [today, tomorrow]
|
34
|
-
}
|
35
|
-
}
|
36
|
-
const disabledParser = () => {
|
37
|
-
if (disableDate && disableDate.length > 0) {
|
38
|
-
return disableDate
|
39
|
-
} else if (disableRange && disableRange.length > 0) {
|
40
|
-
return disableRange
|
41
|
-
} else {
|
42
|
-
return []
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
flatpickr(`#${pickerId}`, {
|
47
|
-
allowInput: true,
|
48
|
-
dateFormat: format,
|
49
|
-
defaultDate: defaultDateGetter(),
|
50
|
-
disable: disableWeekdays && disableWeekdays.length > 0 ? [
|
51
|
-
(date) => {
|
52
|
-
const weekdayObj = {
|
53
|
-
Sunday: 0,
|
54
|
-
Monday: 1,
|
55
|
-
Tuesday: 2,
|
56
|
-
Wednesday: 3,
|
57
|
-
Thursday: 4,
|
58
|
-
Friday: 5,
|
59
|
-
Saturday: 6,
|
60
|
-
}
|
61
|
-
return (
|
62
|
-
// try to refactor with for loop
|
63
|
-
date.getDay() === weekdayObj[disableWeekdays[0]] ||
|
64
|
-
date.getDay() === weekdayObj[disableWeekdays[1]] ||
|
65
|
-
date.getDay() === weekdayObj[disableWeekdays[2]] ||
|
66
|
-
date.getDay() === weekdayObj[disableWeekdays[3]] ||
|
67
|
-
date.getDay() === weekdayObj[disableWeekdays[4]] ||
|
68
|
-
date.getDay() === weekdayObj[disableWeekdays[5]] ||
|
69
|
-
date.getDay() === weekdayObj[disableWeekdays[6]]
|
70
|
-
)
|
71
|
-
},
|
72
|
-
] : disabledParser(),
|
73
|
-
maxDate: maxDate,
|
74
|
-
minDate: minDate,
|
75
|
-
mode: mode,
|
76
|
-
static: true,
|
77
|
-
})
|
78
|
-
|
79
|
-
document.querySelector(`#${pickerId}`).addEventListener('input', (e) => {
|
80
|
-
const picker = document.querySelector(`#${pickerId}`)._flatpickr
|
81
|
-
picker.input.setAttribute('value', e.target.value)
|
82
|
-
const variant = picker.config.mode
|
83
|
-
if (variant === 'single' && e.target.value.split('').length === 10) {
|
84
|
-
picker.setDate(e.target.value)
|
85
|
-
} else if (variant === 'range' && e.target.value.split('').length === 24) {
|
86
|
-
picker.setDate(e.target.value)
|
87
|
-
}
|
88
|
-
})
|
89
|
-
}
|
90
|
-
|
91
|
-
export default datePickerHelper
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: { picker_id: "date-picker-default" }) %>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
default_date: "07/31/2020",
|
3
|
-
label: "Default Date String",
|
4
|
-
picker_id: "date-picker-default-date1"
|
5
|
-
}) %>
|
6
|
-
|
7
|
-
<%= pb_rails("date_picker", props: {
|
8
|
-
default_date: (Date.today + 2).httpdate,
|
9
|
-
label: "Default Date Dynamic",
|
10
|
-
picker_id: "date-picker-default-date2"
|
11
|
-
}) %>
|
12
|
-
|
13
|
-
<%= pb_rails("date_picker", props: {
|
14
|
-
default_date: [(Date.today).httpdate, (Date.today + 7).httpdate],
|
15
|
-
label: "Default Date Range",
|
16
|
-
mode: "range",
|
17
|
-
picker_id: "date-picker-default-date3"
|
18
|
-
}) %>
|
19
|
-
|
20
|
-
<%= pb_rails("date_picker", props: {
|
21
|
-
default_date: "blank",
|
22
|
-
label: "Blank",
|
23
|
-
picker_id: "date-picker-default-date4"
|
24
|
-
}) %>
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { DatePicker } from '../../'
|
3
|
-
|
4
|
-
const DatePickerDefaultDate = () => (
|
5
|
-
<div>
|
6
|
-
<DatePicker
|
7
|
-
defaultDate="07/31/2020"
|
8
|
-
label="Default Date String"
|
9
|
-
pickerId="date-picker-default-date1"
|
10
|
-
/>
|
11
|
-
<DatePicker
|
12
|
-
defaultDate={new Date().fp_incr(1)}
|
13
|
-
label="Default Date Dynamic"
|
14
|
-
pickerId="date-picker-default-date2"
|
15
|
-
/>
|
16
|
-
<DatePicker
|
17
|
-
defaultDate={[new Date().fp_incr(1), new Date().fp_incr(3)]}
|
18
|
-
label="Default Date Range"
|
19
|
-
mode="range"
|
20
|
-
pickerId="date-picker-default-date3"
|
21
|
-
/>
|
22
|
-
<DatePicker
|
23
|
-
defaultDate="blank"
|
24
|
-
label="Blank"
|
25
|
-
pickerId="date-picker-default-date4"
|
26
|
-
/>
|
27
|
-
</div>
|
28
|
-
)
|
29
|
-
|
30
|
-
export default DatePickerDefaultDate
|
@@ -1,43 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
disable_date: [(Date.today + 1).httpdate],
|
3
|
-
label: "Disable Single Date",
|
4
|
-
picker_id: "single-disabled-date"
|
5
|
-
}) %>
|
6
|
-
|
7
|
-
<%= pb_rails("date_picker", props: {
|
8
|
-
disable_date: [(Date.today + 1).httpdate, (Date.today + 3).httpdate],
|
9
|
-
label: "Disable Multiple Dates",
|
10
|
-
picker_id: "multiple-disabled-dates"
|
11
|
-
}) %>
|
12
|
-
|
13
|
-
<%= pb_rails("date_picker", props: {
|
14
|
-
disable_range: [
|
15
|
-
{
|
16
|
-
from: (Date.today + 1).httpdate,
|
17
|
-
to: (Date.today + 7).httpdate,
|
18
|
-
},
|
19
|
-
],
|
20
|
-
label: "Disable Single Range",
|
21
|
-
picker_id: "single-date-range"
|
22
|
-
}) %>
|
23
|
-
|
24
|
-
<%= pb_rails("date_picker", props: {
|
25
|
-
disable_range: [
|
26
|
-
{
|
27
|
-
from: (Date.today + 1).httpdate,
|
28
|
-
to: (Date.today + 3).httpdate,
|
29
|
-
},
|
30
|
-
{
|
31
|
-
from: (Date.today + 7).httpdate,
|
32
|
-
to: (Date.today + 14).httpdate,
|
33
|
-
},
|
34
|
-
],
|
35
|
-
label: "Disable Multiple Ranges",
|
36
|
-
picker_id: "multiple-date-ranges"
|
37
|
-
}) %>
|
38
|
-
|
39
|
-
<%= pb_rails("date_picker", props: {
|
40
|
-
disable_weekdays: ['Sunday', 'Saturday'],
|
41
|
-
label: "Disable Weekdays",
|
42
|
-
picker_id: "disabled-weekdays"
|
43
|
-
}) %>
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { DatePicker } from '../../'
|
3
|
-
|
4
|
-
const DatePickerDisabled = () => (
|
5
|
-
<div>
|
6
|
-
<DatePicker
|
7
|
-
disableDate={[new Date().fp_incr(1)]}
|
8
|
-
label="Disable Single Date"
|
9
|
-
pickerId="single-disabled-date"
|
10
|
-
/>
|
11
|
-
<DatePicker
|
12
|
-
disableDate={[new Date().fp_incr(1), new Date().fp_incr(3)]}
|
13
|
-
label="Disable Multiple Dates"
|
14
|
-
pickerId="multiple-disabled-dates"
|
15
|
-
/>
|
16
|
-
<DatePicker
|
17
|
-
disableRange={[
|
18
|
-
{
|
19
|
-
from: new Date().fp_incr(1),
|
20
|
-
to: new Date().fp_incr(7),
|
21
|
-
},
|
22
|
-
]}
|
23
|
-
label="Disable Single Range"
|
24
|
-
pickerId="single-date-range"
|
25
|
-
/>
|
26
|
-
<DatePicker
|
27
|
-
disableRange={[
|
28
|
-
{
|
29
|
-
from: new Date().fp_incr(1),
|
30
|
-
to: new Date().fp_incr(3),
|
31
|
-
},
|
32
|
-
{
|
33
|
-
from: new Date().fp_incr(7),
|
34
|
-
to: new Date().fp_incr(14),
|
35
|
-
},
|
36
|
-
]}
|
37
|
-
label="Disable Multiple Ranges"
|
38
|
-
pickerId="multiple-date-ranges"
|
39
|
-
/>
|
40
|
-
<DatePicker
|
41
|
-
disableWeekdays={['Sunday', 'Saturday']}
|
42
|
-
label="Disable Weekdays"
|
43
|
-
pickerId="disabled-weekdays"
|
44
|
-
/>
|
45
|
-
</div>
|
46
|
-
)
|
47
|
-
|
48
|
-
export default DatePickerDisabled
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { DatePicker } from '../../'
|
3
|
-
|
4
|
-
const DatePickerError = () => (
|
5
|
-
<div>
|
6
|
-
<DatePicker
|
7
|
-
error="Invalid date. Please pick a valid date."
|
8
|
-
pickerId="date-picker-error"
|
9
|
-
/>
|
10
|
-
</div>
|
11
|
-
)
|
12
|
-
|
13
|
-
export default DatePickerError
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
format: "m-d-Y",
|
3
|
-
picker_id: "date-picker-format1"
|
4
|
-
}) %>
|
5
|
-
|
6
|
-
<%= pb_rails("date_picker", props: {
|
7
|
-
format: "m/d/y",
|
8
|
-
picker_id: "date-picker-format2"
|
9
|
-
}) %>
|
10
|
-
|
11
|
-
<%= pb_rails("date_picker", props: {
|
12
|
-
format: "n-j-y",
|
13
|
-
picker_id: "date-picker-format3"
|
14
|
-
}) %>
|
15
|
-
|
16
|
-
<%= pb_rails("date_picker", props: {
|
17
|
-
format: "Y-d-m",
|
18
|
-
picker_id: "date-picker-format4"
|
19
|
-
}) %>
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { DatePicker } from '../../'
|
3
|
-
|
4
|
-
const DatePickerFormat = () => (
|
5
|
-
<div>
|
6
|
-
<DatePicker
|
7
|
-
format="m-d-Y"
|
8
|
-
pickerId="date-picker-format1"
|
9
|
-
/>
|
10
|
-
<DatePicker
|
11
|
-
format="m/d/y"
|
12
|
-
pickerId="date-picker-format2"
|
13
|
-
/>
|
14
|
-
<DatePicker
|
15
|
-
format="n-j-y"
|
16
|
-
pickerId="date-picker-format3"
|
17
|
-
/>
|
18
|
-
<DatePicker
|
19
|
-
format="Y-d-m"
|
20
|
-
pickerId="date-picker-format4"
|
21
|
-
/>
|
22
|
-
</div>
|
23
|
-
)
|
24
|
-
|
25
|
-
export default DatePickerFormat
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
label: "Dynamic dates.",
|
3
|
-
max_date: (Date.today + 3).httpdate,
|
4
|
-
min_date: (Date.today - 3).httpdate,
|
5
|
-
picker_id: "date-picker-min-max1"
|
6
|
-
}) %>
|
7
|
-
|
8
|
-
<%= pb_rails("date_picker", props: {
|
9
|
-
format: "m/d/Y",
|
10
|
-
label: "Absolute formatted dates.",
|
11
|
-
max_date: "10/20/2020",
|
12
|
-
min_date: "10/10/2020",
|
13
|
-
picker_id: "date-picker-min-max2"
|
14
|
-
}) %>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { DatePicker } from '../../'
|
3
|
-
|
4
|
-
const DatePickerMinMax = () => (
|
5
|
-
<div>
|
6
|
-
<DatePicker
|
7
|
-
label="Dynamic dates using flatpickr increment function."
|
8
|
-
maxDate={new Date().fp_incr(3)}
|
9
|
-
minDate={new Date().fp_incr(-3)}
|
10
|
-
pickerId="date-picker-min-max1"
|
11
|
-
/>
|
12
|
-
<DatePicker
|
13
|
-
format="m/d/Y"
|
14
|
-
label="Absolute formatted dates."
|
15
|
-
maxDate="10/20/2020"
|
16
|
-
minDate="10/10/2020"
|
17
|
-
pickerId="date-picker-min-max2"
|
18
|
-
/>
|
19
|
-
</div>
|
20
|
-
)
|
21
|
-
|
22
|
-
export default DatePickerMinMax
|