From 551f99860b92d8c1fd1e5d015d58519fda5af71b Mon Sep 17 00:00:00 2001 From: Bogdan <95131266+iam0k@users.noreply.github.com> Date: Mon, 18 Mar 2024 10:33:48 +0100 Subject: [PATCH 1/5] Update README.md --- README.md | 135 +++++++++++++++++------------------------------------- 1 file changed, 42 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index 785aed6..d850fcc 100644 --- a/README.md +++ b/README.md @@ -2,96 +2,45 @@ [![](https://img.shields.io/badge/Open_in_DevExpress_Support_Center-FF7200?style=flat-square&logo=DevExpress&logoColor=white)](https://supportcenter.devexpress.com/ticket/details/T1223158) [![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183) -# DXHtmlEditor - - - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://gitserver/mikhailov.alexander/DXHtmlEditor.git -git branch -M master -git push -uf origin master -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://gitserver/mikhailov.alexander/DXHtmlEditor/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README - -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +# Integrate JavaScript HTML Editor into a WinForms App + +This example integrates the JavaScript WYSIWYG HTML Editor (a components that ships as part of [DevExteme UI component suite](https://js.devexpress.com)) within a WinForms application. The client-side HTML Editor is embedded into the Microsoft Edge WebView2 control (`DXHtmlEditorWebView`). + +## HTML Editor Features + +- HTML and Markdown Support +- HTML Editor features include: +- Inline and Block Formats +- Copy/Paste Rich Text Formatting +- Insert Media and Upload Images +- Tables +- Mail Merge +- UI Customization +- Light/Dark Themes + +> Note +> - Using DevExpress JavaScript HTML Editor within your desktop application requires an active [DevExtreme license](https://www.devexpress.com/buy/js/). +> - The DevExtreme HTML Editor does not support all HTML-related features and tags ([read about limitations](https://js.devexpress.com/Angular/Documentation/Guide/UI_Components/HtmlEditor/Overview/)). + +The example also implements the following: + +- Auto-syncs the WinForms application skin with the HTML Editor’s theme. When switching from a dark to a light color palette (and vice versa), the corresponding theme (dark or light) is applied to the HTML Editor. +- Undo/Redo Ribbon commands allow users to revert or redo actions within the HTML Editor. + +## Use the HTML Editor in Your WinForms App + +1. Copy the `DXHtmlEditor` folder to your project. +2. Install the `Microsoft.Web.WebView2` NuGet package. +3. Open the *DXHtmlEditorClient.cs* file and specify the default namespace within the `OnWebResourceRequested` method: + ```csharp + void OnWebResourceRequested(object sender, CoreWebView2WebResourceRequestedEventArgs e) { + var environment = webView?.Environment; + if(environment == null) + return; + string asset = $@"{nameof(MyDefaultNamespace)}.{nameof(DXHtmlEditor)}.Assets.{e.Request.Uri.Substring(rootURIFilter.Length - 1)}"; + // ... + } + ``` +4. Set **Build Action** to "Embedded Resource" for all files in the Assets folder. +5. Build the solution. +6. Drop the `DXHtmlEditorWebView` component from the toolbox onto a form. From a81cfeb1ad373761735cd95c1e30cb5f0a1cad83 Mon Sep 17 00:00:00 2001 From: Bogdan <95131266+iam0k@users.noreply.github.com> Date: Mon, 18 Mar 2024 10:40:52 +0100 Subject: [PATCH 2/5] Create temp.md --- i/temp.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 i/temp.md diff --git a/i/temp.md b/i/temp.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/i/temp.md @@ -0,0 +1 @@ + From ad5522d8ef8aea447250ade6ed428c289f523c88 Mon Sep 17 00:00:00 2001 From: Bogdan <95131266+iam0k@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:41:16 +0700 Subject: [PATCH 3/5] Add files via upload --- ...vextreme-html-editor-within-winforms-app.png | Bin 0 -> 50650 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i/devextreme-html-editor-within-winforms-app.png diff --git a/i/devextreme-html-editor-within-winforms-app.png b/i/devextreme-html-editor-within-winforms-app.png new file mode 100644 index 0000000000000000000000000000000000000000..85ceed4590549193c1f9eb1cb4963ba9438e4871 GIT binary patch literal 50650 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 Date: Mon, 18 Mar 2024 10:41:43 +0100 Subject: [PATCH 4/5] Delete i/temp.md --- i/temp.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 i/temp.md diff --git a/i/temp.md b/i/temp.md deleted file mode 100644 index 8b13789..0000000 --- a/i/temp.md +++ /dev/null @@ -1 +0,0 @@ - From 7ccc0f4f0db645cd711cefc24a48f307f43585fc Mon Sep 17 00:00:00 2001 From: Bogdan <95131266+iam0k@users.noreply.github.com> Date: Mon, 18 Mar 2024 10:53:09 +0100 Subject: [PATCH 5/5] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index d850fcc..7caa52a 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ This example integrates the JavaScript WYSIWYG HTML Editor (a components that ships as part of [DevExteme UI component suite](https://js.devexpress.com)) within a WinForms application. The client-side HTML Editor is embedded into the Microsoft Edge WebView2 control (`DXHtmlEditorWebView`). +![Integrate JavaScript HTML Editor into a WinForms Application](https://raw.githubusercontent.com/DevExpress-Examples/integrate-devextreme-javascript-html-editor-into-winforms-app/main/i/devextreme-html-editor-within-winforms-app.png?token=GHSAT0AAAAAACOLUA4BY24LLNXJFVZ63SBCZPYBT7Q) + ## HTML Editor Features - HTML and Markdown Support @@ -44,3 +46,10 @@ The example also implements the following: 4. Set **Build Action** to "Embedded Resource" for all files in the Assets folder. 5. Build the solution. 6. Drop the `DXHtmlEditorWebView` component from the toolbox onto a form. + +## Files to Review + +- [DXHtmlEditorClient.cs](./DXHtmlEditor/DXHtmlEditorClient.cs) +- [DXHtmlEditorWebView.cs](./DXHtmlEditor/DXHtmlEditorWebView.cs) +- [MainForm.cs](./MainForm.cs) +- [index.js](./DXHtmlEditor/Assets/index.js)