Repository navigation
Expand file tree
/
Copy pathCarousel.java
More file actions
65 lines (63 loc) · 4.01 KB
/
Copy pathCarousel.java
File metadata and controls
65 lines (63 loc) · 4.01 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
59
60
61
62
63
64
65
package blocks;
import com.slack.api.model.block.Blocks;
import com.slack.api.model.block.CarouselBlock;
import com.slack.api.model.block.composition.BlockCompositions;
import com.slack.api.model.block.element.BlockElements;
import java.util.List;
/**
* Displays related card blocks in a horizontally-scrolling container.
* {@link https://docs.slack.dev/reference/block-kit/blocks/carousel-block/}
*/
public class Carousel {
/**
* A carousel of cards describing different departments.
*/
public static CarouselBlock example01() {
CarouselBlock block = Blocks.carousel(c -> c.elements(List.of(
Blocks.card(card -> card.blockId("carousel-card-1")
.icon(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/36/36").altText("Icon")))
.title(BlockCompositions.markdownText(
mt -> mt.text("MDR").verbatim(false)))
.subtitle(BlockCompositions.markdownText(
mt -> mt.text("Refining data files").verbatim(false)))
.heroImage(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/400/300").altText("Sample hero image")))
.body(BlockCompositions.markdownText(mt ->
mt.text("Blue badge required to gain access.").verbatim(false)))
.actions(List.of(BlockElements.button(b -> b.text(BlockCompositions.plainText(
pt -> pt.text("Action Button").emoji(false)))
.actionId("button_action_1"))))),
Blocks.card(card -> card.blockId("carousel-card-2")
.icon(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/36/36").altText("Icon")))
.title(BlockCompositions.markdownText(
mt -> mt.text("O&D").verbatim(false)))
.subtitle(BlockCompositions.markdownText(
mt -> mt.text("Storage, maintenance, and rotation of art pieces")
.verbatim(false)))
.heroImage(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/400/300").altText("Sample hero image")))
.body(BlockCompositions.markdownText(mt ->
mt.text("Green badge required to gain access.").verbatim(false)))
.actions(List.of(BlockElements.button(b -> b.text(BlockCompositions.plainText(
pt -> pt.text("Action Button").emoji(false)))
.actionId("button_action_2"))))),
Blocks.card(card -> card.blockId("carousel-card-3")
.icon(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/36/36").altText("Icon")))
.title(BlockCompositions.markdownText(
mt -> mt.text("Wellness Center").verbatim(false)))
.subtitle(BlockCompositions.markdownText(
mt -> mt.text("Wellness sessions").verbatim(false)))
.heroImage(BlockElements.imageElement(
i -> i.imageUrl("https://picsum.photos/400/300").altText("Sample hero image")))
.body(BlockCompositions.markdownText(
mt -> mt.text("Please take a seat in the waiting room until called.")
.verbatim(false)))
.actions(List.of(BlockElements.button(b -> b.text(BlockCompositions.plainText(
pt -> pt.text("Action Button").emoji(false)))
.actionId("button_action_3"))))))));
return block;
}
}