Skip to content

Commit 10bc507

Browse files
authored
Add rich_text_input block element support (#1215)
1 parent ab7374c commit 10bc507

File tree

55 files changed

+6007
-39
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+6007
-39
lines changed

bolt-socket-mode/src/test/java/samples/SimpleApp.java

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@
44
import com.slack.api.bolt.AppConfig;
55
import com.slack.api.bolt.socket_mode.SocketModeApp;
66
import com.slack.api.model.Message;
7+
import com.slack.api.model.block.element.RichTextSectionElement;
78
import com.slack.api.model.event.AppMentionEvent;
89
import com.slack.api.model.event.MessageChangedEvent;
910
import com.slack.api.model.event.MessageDeletedEvent;
1011
import com.slack.api.model.event.MessageEvent;
1112
import com.slack.api.model.view.ViewState;
1213
import config.Constants;
1314

15+
import java.util.Arrays;
1416
import java.util.HashMap;
1517
import java.util.Map;
1618

17-
import static com.slack.api.model.block.Blocks.asBlocks;
18-
import static com.slack.api.model.block.Blocks.input;
19+
import static com.slack.api.model.block.Blocks.*;
20+
import static com.slack.api.model.block.composition.BlockCompositions.dispatchActionConfig;
1921
import static com.slack.api.model.block.composition.BlockCompositions.plainText;
2022
import static com.slack.api.model.block.element.BlockElements.*;
2123
import static com.slack.api.model.view.Views.*;
@@ -99,15 +101,44 @@ public static void main(String[] args) throws Exception {
99101
.blockId("date-time-block")
100102
.element(datetimePicker(pti -> pti.actionId("date-time-action")))
101103
.label(plainText(pt -> pt.text("Date Time").emoji(true)))
104+
),
105+
input(input -> input
106+
.blockId("rich-text-block")
107+
.element(richTextInput(pti -> pti.actionId("rich-text-action")
108+
.initialValue(richText(rt -> rt.blockId("b").elements(Arrays.asList(
109+
richTextList(rtl -> rtl.style("bullet").elements(Arrays.asList(
110+
richTextSection(rtl1 -> rtl1.elements(Arrays.asList(
111+
RichTextSectionElement.Text.builder()
112+
.text("Hey!")
113+
.style(RichTextSectionElement.TextStyle.builder().bold(true).build())
114+
.build()
115+
))),
116+
richTextSection(rtl2 -> rtl2.elements(Arrays.asList(
117+
RichTextSectionElement.Text.builder().text("What's up?").build()
118+
)))
119+
)))
120+
))))
121+
.dispatchActionConfig(dispatchActionConfig(dc -> dc.triggerActionsOn(Arrays.asList("on_character_entered"))))
122+
))
123+
.dispatchAction(true)
124+
.label(plainText(pt -> pt.text("Rich Text").emoji(true)))
102125
)
103126
))
104127
)));
105128
return ctx.ack();
106129
});
107130

131+
app.blockAction("rich-text-action", (req, ctx) -> {
132+
ctx.logger.info("state values: {}", req.getPayload().getView().getState().getValues());
133+
ctx.logger.info("action[0]: {}", req.getPayload().getActions().get(0));
134+
return ctx.ack();
135+
});
136+
108137
app.viewSubmission("test-view", (req, ctx) -> {
109138
ViewState.Value time = req.getPayload().getView().getState().getValues().get("time-block").get("time-action");
110139
assert time.getTimezone().equals("America/Los_Angeles");
140+
ViewState.Value richText = req.getPayload().getView().getState().getValues().get("rich-text-block").get("rich-text-action");
141+
assert richText.getRichTextValue().getElements().size() > 0;
111142
return ctx.ack();
112143
});
113144

json-logs/samples/api/users.list.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@
7575
"is_admin": false,
7676
"is_owner": false,
7777
"teams": [
78-
"",
79-
"T00000000"
78+
""
8079
],
8180
"is_primary_owner": false
8281
},

0 commit comments

Comments
 (0)