microsoft / microsoft/BotFramework-WebChat

Turing: Extending Adaptive Cards using AC extensibility feature

Open
#3,245 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog community-help-wanted external-others feature-request front-burner needs-team-attention p2 Sample
Dominant language
HTML
Stars
1.8k
Forks
1.6k
Avg merge
22h 58m
Merged PRs (30d)
2

Description

Background

Show how to use AC JavaScript extensibility in Web Chat, as a sample.

Goals

Non-goals

  • Turn into a NPM project
    • This sample is simple enough to be kept as a NPM project

Action items

Implement https://docs.microsoft.com/en-us/adaptive-cards/sdk/rendering-cards/javascript/extensibility in Web Chat as a sample.

+ <script crossorigin="anonymous" src="https://unpkg.com/adaptivecards@1.2.6/dist/adaptivecards.min.js"></script>
+ window.AdaptiveCards.AdaptiveCard.elementTypeRegistry.registerType('ProgressBar', () => new window.WebChatSample.ProgressBar());

  window.WebChat.renderWebChat(
    {
+     adaptiveCardsPackage: window.AdaptiveCards,
      directLine: window.WebChat.createDirectLine({ token })
    },
    document.getElementById('webchat')
  );

Prototype

image

Very preliminary POC for this sample in this sample.zip.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with README.md and the provided sample.zip, then trace the sample's window.WebChat.renderWebChat entry point and Adaptive Cards registration. Done means demonstrating the JavaScript extensibility sample with a custom Adaptive Cards package, preserving the TypeScript ProgressBar, documenting compatible versions in README.md, and addressing the missing Adaptive.getStringValueOrDefault and Adaptive.getValueOrDefault behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
babel, html, javascript, typescript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.