-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOption.java
More file actions
58 lines (54 loc) · 2.69 KB
/
Copy pathOption.java
File metadata and controls
58 lines (54 loc) · 2.69 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
57
58
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.OptionObject;
import com.slack.api.model.block.element.BlockElements;
import java.util.List;
/**
* Defines a single item in a number of item selection elements.
* {@link https://docs.slack.dev/reference/block-kit/composition-objects/option-object/}
*/
public class Option {
/**
* A single option object.
*/
public static OptionObject example01() {
OptionObject option = OptionObject.builder()
.text(plainText(pt -> pt.text("Save it").emoji(true)))
.value("value-2")
.build();
return option;
}
/**
* Options hosted in a static select menu across several blocks.
*/
public static List<LayoutBlock> example02() {
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)))
.options(List.of(
OptionObject.builder()
.text(plainText(
pt -> pt.text("Edit it").emoji(true)))
.value("value-0")
.build(),
OptionObject.builder()
.text(plainText(
pt -> pt.text("Read it").emoji(true)))
.value("value-1")
.build(),
OptionObject.builder()
.text(plainText(
pt -> pt.text("Save it").emoji(true)))
.value("value-2")
.build()))))));
return blocks;
}
}