|
1 year ago | |
---|---|---|
Adaptive Card Editor UWP | 3 years ago | |
Assets | 4 years ago | |
Example | 1 year ago | |
MonacoEditorComponent | 4 years ago | |
Scripts | 4 years ago | |
.gitattributes | 4 years ago | |
.gitignore | 4 years ago | |
Adaptive Card Editor UWP.sln | 3 years ago | |
LICENSE | 4 years ago | |
README.md | 1 year 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.