diff --git a/package.json b/package.json index b64cc7c0..866583c1 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "async": "^2.4.0", "bluebird": "^3.4.7", "botbuilder": "^3.15.0", - "botbuilder-teams": "^0.2.1", + "botbuilder-teams": "^0.2.3-beta1", "chrono-node": "^1.2.5", "config": "^1.25.1", "crypto": "0.0.3", diff --git a/src/dialogs/RootDialog.ts b/src/dialogs/RootDialog.ts index 7220e4d4..2ac4a8c2 100644 --- a/src/dialogs/RootDialog.ts +++ b/src/dialogs/RootDialog.ts @@ -41,6 +41,7 @@ import { UpdateTextMsgSetupDialog } from "./examples/teams/UpdateTextMsgSetupDia import { NotifyDialog } from "./examples/teams/NotifyDialog"; import { PopupSignInDialog } from "./examples/basic/PopupSignInDialog"; import { AdaptiveCardDialog } from "./examples/basic/AdaptiveCardDialog"; +import { ListCardDialog } from "./examples/basic/ListCardDialog"; // *************************** END OF EXAMPLES ********************************* // Add imports for dialogs @@ -105,6 +106,7 @@ export class RootDialog extends builder.IntentDialog { new NotifyDialog(bot); new PopupSignInDialog(bot); new AdaptiveCardDialog(bot); + new ListCardDialog(bot); // *************************** END OF EXAMPLES ********************************* // Add child dialogs diff --git a/src/dialogs/examples/basic/ListCardDialog.ts b/src/dialogs/examples/basic/ListCardDialog.ts new file mode 100644 index 00000000..2edf2622 --- /dev/null +++ b/src/dialogs/examples/basic/ListCardDialog.ts @@ -0,0 +1,39 @@ +import * as builderteams from "botbuilder-teams"; +import * as builder from "botbuilder"; +import * as config from "config"; +import { TriggerActionDialog } from "../../../utils/TriggerActionDialog"; +import { DialogIds } from "../../../utils/DialogIds"; +import { DialogMatches } from "../../../utils/DialogMatches"; +import { Strings } from "../../../locale/locale"; + +export class ListCardDialog extends TriggerActionDialog { + + private static async step1(session: builder.Session, args?: any | builder.IDialogResult, next?: (args?: builder.IDialogResult) => void): Promise { + let card = new builderteams.ListCard(session) + .title(session.gettext(Strings.list_card_title)) + // item1 + .addItem(new builderteams.ListCardItem(session) + .icon(config.get("app.baseUri") + "/assets/computer_people.jpg") + .title(session.gettext(Strings.list_card_item1_title)) + .subtitle(session.gettext(Strings.list_card_item1_subtitle))) + // item2 + .addItem(new builderteams.ListCardItem(session) + .icon(config.get("app.baseUri") + "/assets/computer_person.jpg") + .title(session.gettext(Strings.list_card_item2_title)) + .subtitle(session.gettext(Strings.list_card_item2_subtitle))); + + session.send(new builder.Message(session) + .addAttachment(card)); + session.endDialog(); + } + + constructor( + bot: builder.UniversalBot, + ) { + super(bot, + DialogIds.ListCardDialogId, + DialogMatches.ListCardDialogMatch, + ListCardDialog.step1, + ); + } +} diff --git a/src/locale/en/index.json b/src/locale/en/index.json index 743cbbc8..c14b3014 100644 --- a/src/locale/en/index.json +++ b/src/locale/en/index.json @@ -142,5 +142,10 @@ "popupsignin_card_title":"Please click below for popup sign-in experience", "popupsignin_button_title":"Sign In", "popupsignin_successful":"Authentication popup closed, magic number passed through - %s", + "list_card_item1_title":"Item1 title", + "list_card_item2_title":"Item2 title", + "list_card_item1_subtitle":"Item1 sub title", + "list_card_item2_subtitle":"Item2 sub title", + "list_card_title":"List card title here", "end_of_example_string_responses": "******************************* EVERYTHING ABOVE HERE IS FOR A TEMPLATE EXAMPLE DIALOG *******************************" } \ No newline at end of file diff --git a/src/utils/DialogIds.ts b/src/utils/DialogIds.ts index 30f0ea6f..e90ebde3 100644 --- a/src/utils/DialogIds.ts +++ b/src/utils/DialogIds.ts @@ -43,6 +43,7 @@ export const DialogIds = { NotifyDialogId: "NotifyDialog", PopupSignInDialogId: "PopupSignInDialog", AdaptiveCardDialogId: "AdaptiveCardDialog", + ListCardDialogId: "ListCardDialog", // *************************** END OF EXAMPLES ********************************* // Add entries for dialog ids diff --git a/src/utils/DialogMatches.ts b/src/utils/DialogMatches.ts index 57dfd8cb..1d838a0d 100644 --- a/src/utils/DialogMatches.ts +++ b/src/utils/DialogMatches.ts @@ -42,6 +42,7 @@ export const DialogMatches = { NotifyDialogMatch: /notify/i, PopUpSignInDialogMatch: /signin/i, AdaptiveCardDialogMatch: /adaptive card/i, + ListCardDialogMatch: /list card/i, // *************************** END OF EXAMPLES ********************************* // Add regex or string intent matches for dialogs