Migrated repository
Go to file
James Yeung ceb32ae264 merge 0.9.3 to feature (#1892)
* fix(module: table): fix initial load and render (#1835)

* fix(module: table): fix initial load and render

* delete the useless method

* chore: remove redundant semi-colons (#1812)

Co-authored-by: James Yeung <shunjiey@hotmail.com>

* fix(module: checkbox): checked state didn't follow the value change (#1841)

* fix(module: menu): menu item click event should be triggered when menu selectable is false (#1843)

* fix(module: tag): Tag component style parameters are not rendered (#1847)

* fix(module: tag): Tag component style parameters are not rendered (#1846)

* fix(module: tag): change call GetStyle  in OnParameterSet

Co-authored-by: haojiajun <haojiajun@vanelink.net>

* fix(module: tree): SelectedNodeChanged would be fired twice twice (#1849)

* fix(module: table): prevent propagation of expand button click events (#1850)

* changelog 0.9.2 (#1851)

* feat(module: upload): add method parameter (#1853)

* add method parameter to upload component
* update documentation
* add test

Co-authored-by: Noah Potash <noah.potash@outbreaklabs.com>

* fix(module: table): avoid `OnChange` being called multiple times during initialization (#1855)

* fix(module: table): avoid OnChange being called multiple times during initialisation

* fix indent

* fix(module: table): didn't refresh when using client side data source (#1858)

* feat(module: table): add TheSameDateWith condition operator for DateTime column (#1856)

* use date in datetime filter

* fix spelling errors

* Restore changes and add Date and Month FilterCompareOperator

* hide time when filter date or month

* Remove the month FilterCompareOperator

* add locale data

Co-authored-by: James Yeung <shunjiey@hotmail.com>

* fix(module: checkbox): option change does not lock checkboxes (#1863)

* fix(module: table): ignore milliseconds when applying the datetime filter (#1864)

* remove milliseconds when filtering

* remove the milliseconds when set the datetime filter value

Co-authored-by: James Yeung <shunjiey@hotmail.com>

* fix(module: input-number): default value binding (#1871)

* fix(module: input-number): default value binding

* fix default value

* fix(module: autocomplete): overlay is showing for AutoCompleteSearch (#1860)

* fix(module:autocomplete): overlay is showing for AutoCompleteSearch

* translate comments

* code cleanup

Co-authored-by: ElderJames <shunjiey@hotmail.com>

* fix(module: tag): rename  `CheckedChange` to  `CheckedChanged` (#1876)

* Update Tag compliance with Blazor conventions

Add the missing 'd' to CheckedChanged callback in order to properly support two ways binding on the Checked property

* Fix references to renamed method in Tag component

* Update tests for Tag

Co-authored-by: Stefano Drussi <stefano.driussi@hotmail.it>
Co-authored-by: James Yeung <shunjiey@hotmail.com>

* feat(module: menu): Add IconTemplate for menu item (#1879)

* docs: update CONTRIBUTING (#1882)

* feat(module: breadcrumb): add `Href` parameter and overlay dropdown (#1859)

* Setup breadcrumb dropdown

* Setup breadcrumb href

* fix dropdown style

* fix dropdown trigger class

* fix tests

Co-authored-by: James Yeung <shunjiey@hotmail.com>

* fix(module: table): call `StateHasChanged` in `InternalReload` (#1874) (#1875)

* fix(module: table): not automatically load with ActionColumn (#1883)

Fixed an issue where a table would not automatically load after initialization when an ActionColumn was used.

* feat(module: table): add nested table demo (#1884)

* fix(module: modal): auto focus the ok button and remove the focus of the trigger button (#1838)

* fix: second opening of focus in modal fails if DestroyOnClose is false

* fix: confirm cannot get focus element

* fix: set ConfirmAutoFocusButton is OK

* fix: module ImagePreview cannot close on second click

* fix: blur active element when comfirm focus element is disabled

* fix(module: table): fix the format issue of datetime samedate filter (#1889)

* changelog 0.9.3 (#1890)

Co-authored-by: Simon Cropp <simon.cropp@gmail.com>
Co-authored-by: JohnHao421 <544106829@qq.com>
Co-authored-by: haojiajun <haojiajun@vanelink.net>
Co-authored-by: Noah Potash <digitalnugget@gmail.com>
Co-authored-by: Noah Potash <noah.potash@outbreaklabs.com>
Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com>
Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy>
Co-authored-by: Stefano Driussi <stedri@gmail.com>
Co-authored-by: Stefano Drussi <stefano.driussi@hotmail.it>
Co-authored-by: Guyiming <guyiming2011@126.com>
Co-authored-by: YongQuanRao <79885120+JamesGit-hash@users.noreply.github.com>
Co-authored-by: Maksim <maksalmak@gmail.com>
Co-authored-by: Nikolay Krondev <nikolaykrondev@users.noreply.github.com>
Co-authored-by: zxyao <zxyao145@gmail.com>
Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com>
2021-08-29 15:52:14 +08:00
.config chore: add format hook (#477) 2020-08-11 05:41:46 +08:00
.github refactor(interop): reorganization into classes and typescript tests (#1791) 2021-07-29 22:45:47 +08:00
.vscode rename the docs project 2021-02-06 20:15:46 +08:00
components merge 0.9.3 to feature 2021-08-29 15:32:27 +08:00
docs docs: update recommend (#1755) 2021-07-21 00:47:23 +08:00
scripts docs: dynamic primary color changing (#1332) 2021-04-10 12:34:41 +08:00
site merge 0.9.3 to feature 2021-08-29 15:32:27 +08:00
tests feat(module: breadcrumb): add Href parameter and overlay dropdown (#1859) 2021-08-28 03:07:46 +00:00
.editorconfig feat: add simple table component (#86) 2020-05-30 01:46:41 +08:00
.gitattributes Make github main language as C# (#153) 2020-05-25 22:59:11 +08:00
.gitignore refactor(interop): reorganization into classes and typescript tests (#1791) 2021-07-29 22:45:47 +08:00
AntDesign.sln refactor(interop): reorganization into classes and typescript tests (#1791) 2021-07-29 22:45:47 +08:00
CHANGELOG.en-US.md changelog 0.9.3 (#1890) 2021-08-29 15:17:56 +08:00
CHANGELOG.zh-CN.md changelog 0.9.3 (#1890) 2021-08-29 15:17:56 +08:00
CODE_OF_CONDUCT.md docs: add guides (#414) 2020-07-23 14:44:33 +08:00
commitlint.config.js chore: add commit lint & adjust build directory 2020-03-09 18:16:44 +08:00
CONTRIBUTING.md docs: update CONTRIBUTING (#1882) 2021-08-28 10:43:10 +08:00
Directory.Build.props chore: fix SolutionDir for building (#1011) 2021-01-23 01:15:23 +08:00
LICENSE docs: add the copyright of .NET Foundation (#1272) 2021-03-23 17:38:41 +08:00
LICENSE-ant-design.txt chore: prepare for 0.4.0 (#592) 2020-09-11 13:42:22 +08:00
logo.svg chore: add a logo and update readme 2019-12-26 15:50:38 +08:00
package.json refactor(interop): reorganization into classes and typescript tests (#1791) 2021-07-29 22:45:47 +08:00
README-zh_CN.md docs: fix dingtalk's broken links (#1330) 2021-04-09 17:36:19 +08:00
README.md docs: fix dingtalk's broken links (#1330) 2021-04-09 17:36:19 +08:00

Ant Design Blazor

A set of enterprise-class UI components based on Ant Design and Blazor.

AntDesign AntDesign AntDesign.Templates codecov AntDesign Slack Group Ding Talk Group Discord Server

English | 简体中文

Features

  • 🌈 Enterprise-class UI designed for web applications.
  • 📦 A set of high-quality Blazor components out of the box.
  • 💕 Supports WebAssembly-based client-side and SignalR-based server-side UI event interaction.
  • 🎨 Supports Progressive Web Applications (PWA).
  • 🛡 Build with C#, a multi-paradigm static language for an efficient development experience.
  • ⚙️ .NET Standard 2.1/.NET 5 based, with direct reference to the rich .NET ecosystem.
  • 🎁 Seamless integration with existing ASP.NET Core MVC and Razor Pages projects.

🌈 Online Examples

WebAssembly static hosting examples:

🖥 Environment Support

  • .NET Core 3.1 / .NET 5
  • Blazor WebAssembly 3.2/.NET 5 Release
  • Supports two-way binding on the server side
  • Supports WebAssembly static file deployment
  • Support 4 major browsers engines, and Internet Explorer 11+ (Blazor Server only)
  • Run directly on Electron and other Web standards-based environments
IE / Edge
Edge / IE
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
Electron
Electron
Edge 16 / IE 11† 522 57 11 44 Chromium 57

Due to WebAssembly restriction, Blazor WebAssembly doesn't support IE browser, but Blazor Server supports IE 11† with additional polyfills. See official documentation

💿 Current Version

🎨 Design Specification

Regularly synchronize with Official Ant Design specifications, you can check the sync logs online.

Therefore, you can use the custom theme styles of Ant Design directly.

📦 Installation Guide

Create a new project from the dotnet new template AntDesign.Templates

We have provided the dotnet new template to create a Boilerplate project out of the box

  • Install the template

    $ dotnet new --install AntDesign.Templates
    
  • Create the Boilerplate project with the template

    $ dotnet new antdesign -o MyAntDesignApp
    

Options for the template

Options Description Type Default
-f | --full If specified, generates all pages of Ant Design Pro bool false
-ho | --host Specify the hosting model 'wasm' | 'server' | 'hosted' 'wasm'
--no-restore If specified, skips the automatic restore of the project on create bool false

Import Ant Design Blazor into an existing project

  • Go to the project folder of the application and install the Nuget package reference

    $ dotnet add package AntDesign
    
  • Register the services in Program.cs (WebAssembly)

    builder.Services.AddAntDesign();
    

    or Startup.cs (Server)

    services.AddAntDesign();
    
  • Link the static files in wwwroot/index.html (WebAssembly) or Pages/_Host.cshtml (Server)

    <link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" />
    <script src="_content/AntDesign/js/ant-design-blazor.js"></script>
    
  • Add namespace in _Imports.razor

    @using AntDesign
    
  • To display the pop-up component dynamically, you need to add the <AntContainer /> component in App.razor.

    <Router AppAssembly="@typeof(MainLayout).Assembly">
        <Found Context="routeData">
            <RouteView RouteData="routeData" DefaultLayout="@typeof(MainLayout)" />
        </Found>
        <NotFound>
            <LayoutView Layout="@typeof(MainLayout)">
                <Result Status="404" />
            </LayoutView>
        </NotFound>
    </Router>
    
    <AntContainer />   <-- add this component ✨
    
  • Finally, it can be referenced in the `.razor' component!

    <Button Type="primary">Hello World!</Button>
    

⌨️ Local Development

  • Install .NET Core SDK 5.0.100 or later.

  • Install Node.js (only for building style files and interoperable TypeScript files)

  • Clone to local development

    $ git clone git@github.com:ant-design-blazor/ant-design-blazor.git
    $ cd ant-design-blazor
    $ npm install
    $ npm start
    
  • Visit https://localhost:5001 in your supported browser and check local development documentation for details.

    Visual Studio 2019 is recommended for development.

🗺 Roadmap

Check out this issue to learn about our development plans for 2020.

🤝 Contributing

PRs Welcome

If you would like to contribute, feel free to create a Pull Request, or give us Bug Report.

Contributors

This project exists thanks to all the people who contribute.

💕 Donation

This project is an MIT-licensed open source project. In order to achieve better and sustainable development of the project, we expect to gain more backers. We will use the proceeds for community operations and promotion. You can support us in any of the following ways:

We will put the detailed donation records on the backer list.

Community Support

If you encounter any problems in the process, feel free to ask for help via following channels. We also encourage experienced users to help newcomers.

  • Discord Server

  • 钉钉群

    Scan QR Code with DingTalk

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

☀️ License

AntDesign

.NET Foundation

This project is supported by the .NET Foundation.