-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOptionGroup.java
More file actions
56 lines (53 loc) · 3.24 KB
/
Copy pathOptionGroup.java
File metadata and controls
56 lines (53 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package compositionobjects;
import static com.slack.api.model.block.composition.BlockCompositions.markdownText;
import static com.slack.api.model.block.composition.BlockCompositions.plainText;
import com.slack.api.model.block.Blocks;
import com.slack.api.model.block.LayoutBlock;
import com.slack.api.model.block.composition.OptionGroupObject;
import com.slack.api.model.block.composition.OptionObject;
import com.slack.api.model.block.element.BlockElements;
import java.util.List;
/**
* Defines a way to group options in a menu.
* {@link https://docs.slack.dev/reference/block-kit/composition-objects/option-group-object/}
*/
public class OptionGroup {
/**
* Option groups hosted in a static select menu across several blocks.
*/
public static List<LayoutBlock> example01() {
List<LayoutBlock> blocks = List.of(
Blocks.section(s -> s.text(markdownText(":mag: Search results for *Cata*"))),
Blocks.divider(),
Blocks.section(s -> s.text(
markdownText(
"*<fakeLink.toYourApp.com|Use Case Catalogue>*\nUse Case Catalogue for the following departments/roles..."))
.accessory(BlockElements.staticSelect(m -> m.placeholder(
plainText(pt -> pt.text("Manage").emoji(true)))
.optionGroups(List.of(
OptionGroupObject.builder()
.label(plainText("Group 1"))
.options(List.of(
OptionObject.builder()
.text(plainText("*this is plain_text text*"))
.value("value-0")
.build(),
OptionObject.builder()
.text(plainText("*this is plain_text text*"))
.value("value-1")
.build(),
OptionObject.builder()
.text(plainText("*this is plain_text text*"))
.value("value-2")
.build()))
.build(),
OptionGroupObject.builder()
.label(plainText("Group 2"))
.options(List.of(OptionObject.builder()
.text(plainText("*this is plain_text text*"))
.value("value-3")
.build()))
.build()))))));
return blocks;
}
}