playbook_ui 13.10.0.pre.alpha.PLAY1046multilevelsingleselectphase21323 → 13.10.0.pre.alpha.PLAY1046multilevelsingleselectphase21328
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/pb_multi_level_select/_multi_level_select.tsx +3 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +0 -3
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +0 -3
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +74 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +88 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +3 -0
- data/dist/playbook-rails.js +4 -4
- data/lib/playbook/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0644f1e685425faa2c4f2955e8631573bcafd8c9ec64b504c15e2a59aeb1e45
|
4
|
+
data.tar.gz: 35d0cb4e4f59b4eb099fedd73819c0fe450e766b0d7d25fe5cf5e53fc043b5dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73813bea1c749e60cacf7c60f886326ed297bf05842bad59be1af460c981a97104948bc49d45d9df25e079c1506956ea8f87b21ace412b8bd1762363a9e43fe1
|
7
|
+
data.tar.gz: 368f7b2a0e4edba51e0ba7699cf3f54ed859bb0ee810d3814f1e125c71a737b3cc2827499eed7c192b971404589ad2c0c707fa842fd088d16a96bbdf8d4511df
|
@@ -31,6 +31,7 @@ type MultiLevelSelectProps = {
|
|
31
31
|
treeData?: { [key: string]: string }[]
|
32
32
|
onSelect?: (prop: { [key: string]: any }) => void
|
33
33
|
selectedIds?: string[]
|
34
|
+
ultimateChildrenOnly?: boolean
|
34
35
|
variant?: "multi" | "single"
|
35
36
|
} & GlobalProps
|
36
37
|
|
@@ -47,6 +48,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
47
48
|
treeData,
|
48
49
|
onSelect = () => null,
|
49
50
|
selectedIds,
|
51
|
+
ultimateChildrenOnly = false,
|
50
52
|
variant = "multi"
|
51
53
|
} = props
|
52
54
|
|
@@ -378,7 +380,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
378
380
|
{ variant === "single" ? (
|
379
381
|
<Radio
|
380
382
|
checked={item.checked}
|
381
|
-
class={item.
|
383
|
+
class={ultimateChildrenOnly ? item.children ? "singleHidden" : "" : null}
|
382
384
|
id={`${item.id}-${item.label}`}
|
383
385
|
label={item.label}
|
384
386
|
name={inputName}
|
@@ -9,7 +9,6 @@
|
|
9
9
|
value: "People",
|
10
10
|
id: "201",
|
11
11
|
expanded: true,
|
12
|
-
hidden: true,
|
13
12
|
children: [
|
14
13
|
{
|
15
14
|
label: "Talent Acquisition",
|
@@ -20,7 +19,6 @@
|
|
20
19
|
label: "Business Affairs",
|
21
20
|
value: "Business Affairs",
|
22
21
|
id: "203",
|
23
|
-
hidden: true,
|
24
22
|
children: [
|
25
23
|
{
|
26
24
|
label: "Initiatives",
|
@@ -45,7 +43,6 @@
|
|
45
43
|
label: "Contact Center",
|
46
44
|
value: "Contact Center",
|
47
45
|
id: "207",
|
48
|
-
hidden: true,
|
49
46
|
children: [
|
50
47
|
{
|
51
48
|
label: "Appointment Management",
|
@@ -13,7 +13,6 @@ const treeData = [
|
|
13
13
|
value: "People",
|
14
14
|
id: "people2",
|
15
15
|
expanded: true,
|
16
|
-
hidden: true,
|
17
16
|
children: [
|
18
17
|
{
|
19
18
|
label: "Talent Acquisition",
|
@@ -24,7 +23,6 @@ const treeData = [
|
|
24
23
|
label: "Business Affairs",
|
25
24
|
value: "Business Affairs",
|
26
25
|
id: "business2",
|
27
|
-
hidden: true,
|
28
26
|
children: [
|
29
27
|
{
|
30
28
|
label: "Initiatives",
|
@@ -49,7 +47,6 @@ const treeData = [
|
|
49
47
|
label: "Contact Center",
|
50
48
|
value: "Contact Center",
|
51
49
|
id: "contact2",
|
52
|
-
hidden: true,
|
53
50
|
children: [
|
54
51
|
{
|
55
52
|
label: "Appointment Management",
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<% treeData = [{
|
2
|
+
label: "Power Home Remodeling",
|
3
|
+
value: "Power Home Remodeling",
|
4
|
+
id: "300",
|
5
|
+
expanded: true,
|
6
|
+
children: [
|
7
|
+
{
|
8
|
+
label: "People",
|
9
|
+
value: "People",
|
10
|
+
id: "301",
|
11
|
+
expanded: true,
|
12
|
+
children: [
|
13
|
+
{
|
14
|
+
label: "Talent Acquisition",
|
15
|
+
value: "Talent Acquisition",
|
16
|
+
id: "302",
|
17
|
+
},
|
18
|
+
{
|
19
|
+
label: "Business Affairs",
|
20
|
+
value: "Business Affairs",
|
21
|
+
id: "303",
|
22
|
+
children: [
|
23
|
+
{
|
24
|
+
label: "Initiatives",
|
25
|
+
value: "Initiatives",
|
26
|
+
id: "304",
|
27
|
+
},
|
28
|
+
{
|
29
|
+
label: "Learning & Development",
|
30
|
+
value: "Learning & Development",
|
31
|
+
id: "305",
|
32
|
+
},
|
33
|
+
],
|
34
|
+
},
|
35
|
+
{
|
36
|
+
label: "People Experience",
|
37
|
+
value: "People Experience",
|
38
|
+
id: "306",
|
39
|
+
},
|
40
|
+
],
|
41
|
+
},
|
42
|
+
{
|
43
|
+
label: "Contact Center",
|
44
|
+
value: "Contact Center",
|
45
|
+
id: "307",
|
46
|
+
children: [
|
47
|
+
{
|
48
|
+
label: "Appointment Management",
|
49
|
+
value: "Appointment Management",
|
50
|
+
id: "308",
|
51
|
+
},
|
52
|
+
{
|
53
|
+
label: "Customer Service",
|
54
|
+
value: "Customer Service",
|
55
|
+
id: "309",
|
56
|
+
},
|
57
|
+
{
|
58
|
+
label: "Energy",
|
59
|
+
value: "Energy",
|
60
|
+
id: "310",
|
61
|
+
},
|
62
|
+
],
|
63
|
+
},
|
64
|
+
],
|
65
|
+
}] %>
|
66
|
+
|
67
|
+
<%= pb_rails("multi_level_select", props: {
|
68
|
+
id: "multi-level-select-single-children-only-rails",
|
69
|
+
name: "my_single_children_only_select_array",
|
70
|
+
tree_data: treeData,
|
71
|
+
input_name: "PowerChildren",
|
72
|
+
ultimate_children_only: true,
|
73
|
+
variant: "single"
|
74
|
+
}) %>
|
data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import MultiLevelSelect from "../_multi_level_select";
|
3
|
+
|
4
|
+
const treeData = [
|
5
|
+
{
|
6
|
+
label: "Power Home Remodeling",
|
7
|
+
value: "Power Home Remodeling",
|
8
|
+
id: "powerhome3",
|
9
|
+
expanded: true,
|
10
|
+
children: [
|
11
|
+
{
|
12
|
+
label: "People",
|
13
|
+
value: "People",
|
14
|
+
id: "people3",
|
15
|
+
expanded: true,
|
16
|
+
children: [
|
17
|
+
{
|
18
|
+
label: "Talent Acquisition",
|
19
|
+
value: "Talent Acquisition",
|
20
|
+
id: "talent3",
|
21
|
+
},
|
22
|
+
{
|
23
|
+
label: "Business Affairs",
|
24
|
+
value: "Business Affairs",
|
25
|
+
id: "business3",
|
26
|
+
children: [
|
27
|
+
{
|
28
|
+
label: "Initiatives",
|
29
|
+
value: "Initiatives",
|
30
|
+
id: "initiative3",
|
31
|
+
},
|
32
|
+
{
|
33
|
+
label: "Learning & Development",
|
34
|
+
value: "Learning & Development",
|
35
|
+
id: "development3",
|
36
|
+
},
|
37
|
+
],
|
38
|
+
},
|
39
|
+
{
|
40
|
+
label: "People Experience",
|
41
|
+
value: "People Experience",
|
42
|
+
id: "experience3",
|
43
|
+
},
|
44
|
+
],
|
45
|
+
},
|
46
|
+
{
|
47
|
+
label: "Contact Center",
|
48
|
+
value: "Contact Center",
|
49
|
+
id: "contact3",
|
50
|
+
children: [
|
51
|
+
{
|
52
|
+
label: "Appointment Management",
|
53
|
+
value: "Appointment Management",
|
54
|
+
id: "appointment3",
|
55
|
+
},
|
56
|
+
{
|
57
|
+
label: "Customer Service",
|
58
|
+
value: "Customer Service",
|
59
|
+
id: "customer3",
|
60
|
+
},
|
61
|
+
{
|
62
|
+
label: "Energy",
|
63
|
+
value: "Energy",
|
64
|
+
id: "energy3",
|
65
|
+
},
|
66
|
+
],
|
67
|
+
},
|
68
|
+
],
|
69
|
+
},
|
70
|
+
];
|
71
|
+
|
72
|
+
const MultiLevelSelectSingleChildrenOnly = (props) => {
|
73
|
+
return (
|
74
|
+
<div>
|
75
|
+
<MultiLevelSelect
|
76
|
+
id="multiselect-single-children-only"
|
77
|
+
inputName="PowerChildren"
|
78
|
+
onSelect={(selectedNode) => console.log("Selected Node", selectedNode)}
|
79
|
+
treeData={treeData}
|
80
|
+
ultimateChildrenOnly
|
81
|
+
variant="single"
|
82
|
+
{...props}
|
83
|
+
/>
|
84
|
+
</div>
|
85
|
+
)
|
86
|
+
};
|
87
|
+
|
88
|
+
export default MultiLevelSelectSingleChildrenOnly;
|
@@ -2,6 +2,7 @@ examples:
|
|
2
2
|
rails:
|
3
3
|
- multi_level_select_default: Default
|
4
4
|
- multi_level_select_single: Single Select
|
5
|
+
- multi_level_select_single_children_only: Single Select Ultimate Children Only
|
5
6
|
- multi_level_select_return_all_selected: Return All Selected
|
6
7
|
- multi_level_select_selected_ids: Selected Ids
|
7
8
|
- multi_level_select_with_form: With Form
|
@@ -9,5 +10,6 @@ examples:
|
|
9
10
|
react:
|
10
11
|
- multi_level_select_default: Default
|
11
12
|
- multi_level_select_single: Single Select
|
13
|
+
- multi_level_select_single_children_only: Single Select Ultimate Children Only
|
12
14
|
- multi_level_select_return_all_selected: Return All Selected
|
13
15
|
- multi_level_select_selected_ids: Selected Ids
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export { default as MultiLevelSelectDefault } from './_multi_level_select_default.jsx'
|
2
2
|
export { default as MultiLevelSelectSingle } from './_multi_level_select_single.jsx'
|
3
|
+
export { default as MultiLevelSelectSingleChildrenOnly } from './_multi_level_select_single_children_only.jsx'
|
3
4
|
export { default as MultiLevelSelectReturnAllSelected } from './_multi_level_select_return_all_selected.jsx'
|
4
5
|
export { default as MultiLevelSelectSelectedIds } from "./_multi_level_select_selected_ids.jsx"
|
@@ -16,6 +16,8 @@ module Playbook
|
|
16
16
|
default: "pills"
|
17
17
|
prop :input_name, type: Playbook::Props::String,
|
18
18
|
default: ""
|
19
|
+
prop :ultimate_children_only, type: Playbook::Props::Boolean,
|
20
|
+
default: false
|
19
21
|
prop :variant, type: Playbook::Props::Enum,
|
20
22
|
values: %w[multi single],
|
21
23
|
default: "multi"
|
@@ -33,6 +35,7 @@ module Playbook
|
|
33
35
|
returnAllSelected: return_all_selected,
|
34
36
|
selectedIds: selected_ids,
|
35
37
|
input_name: input_name,
|
38
|
+
ultimateChildrenOnly: ultimate_children_only,
|
36
39
|
variant: variant,
|
37
40
|
}
|
38
41
|
end
|