An editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript isn't a real programming language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Claire f34fcfaf47 Updated readme 2 years ago
Adaptive Card Editor UWP updated rendering code to only run if text field is non-empty 4 years ago
Assets Added app icons, started work on template parser 4 years ago
Example Added example data, updated readme 2 years ago
MonacoEditorComponent - Added Monaco editor to text input fields 4 years ago
Scripts Completed design of template renderer 4 years ago
.gitattributes initial commit (blank app) 4 years ago
.gitignore Initial commit 4 years ago
Adaptive Card Editor UWP.sln updated rendering code to only run if text field is non-empty 4 years ago
LICENSE Initial commit 4 years ago
README.md Updated readme 2 years ago

README.md

Adaptive Card Editor

A UWP editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript is fake and gay.

Features

  • VSCode's amazing text editor, Monaco, is baked right in!
  • Auto-updates layout while you work!
  • Uses native .NET for everything!

Planned Features

Save your work!

The goal is to make it possible to both save and read zip files containing the payload, the

Usage

This renderer takes JSON input to output a standard adaptive card. The top output box (labeled UWP Library) displays the formatted card payload without any data. The bottom output box (labeled Template Library) displays the formatted card payload with data.

About Adaptive Cards

Adaptive Cards is a Microsoft product that makes it relatively simple to generate a nicely-formatted display of data passed as JSON to the card renderer. You can learn more about adaptive cards here.

Microsoft has released SDKs to make it easier to implement adaptive cards on various platforms. The .NET SDK was originally a wrapper for the JavaScript SDK, so I wrote my own adaptive card renderer using pure .NET.

Microsoft's .NET SDK

It appears the latest .NET SDK on GitHub no longer relies on JavaScript for card rendering, which means that at some point, I might update this application to use Microsoft's library.

On the other hand, my implementation takes no dependencies other than Json.NET, which is well-maintained, so I might just leave it as-is. My implementation hasn't been updated since 2020, so it doesn't support any features or changes since then.

Other Notes

This UWP app makes use of VSCode's very awesome text editor library, Monaco, using this third-party wrapper. I try to avoid using third-party .NET libraries, but in this particular case, I didn't see a need to write my own wrapper. My primary goal with this app was to work on the code for rendering adaptive cards in UWP using native .NET, since that code will be reused in other projects.

It also implements a timer function, which allows realtime updates to both rendered sections as you work with the app. It makes use of System.Windows.Threading.DispatcherTimer to handle realtime updates properly.