!2841 doc(#I5A6AQ): update repo link

* chore: 更新 bug 追踪配置
* doc: 更新重连组件模板地址
* doc: 资源文件中的仓库地址使用配置文件
* chore: 仓库地址更改
* doc: 仓库链接改为配置项
* doc: 组件页面 Url 更改为配置项
* refactor: 更新模板地址
* refactor: 更新日志弹窗更改为组件
* doc: 更改 注释文档
pull/2842/MERGE
Argo 3 years ago
parent 5e192f680b
commit 31ea0f7df5

@ -4,7 +4,7 @@
[issuetracker "Gitee-Issue"]
regex = "#(.+?)\\)"
url = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/$1"
url = "https://gitee.com/Longbow/BootstrapBlazor/issues/$1"
[issuetracker "Gitee-Url"]
regex = "([a-zA-z]+://[^\\s]*)"
@ -12,8 +12,8 @@
[issuetracker "Gitee-Commit"]
regex = "[C|c]ommit:([^\\s]*)"
url = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/commit/$1"
url = "https://gitee.com/Longbow/BootstrapBlazor/commit/$1"
[issuetracker "Gitee-PR"]
regex = "!([\\d]+)"
url = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/pulls/$1"
url = "https://gitee.com/Longbow/BootstrapBlazor/pulls/$1"

@ -47,12 +47,12 @@ WTM 快速开发框架,设计的核心理念就是 "尽一切可能提高开
1. 安装 .net core sdk 最新版 [官方网址](http://www.microsoft.com/net/download)
2. 安装 Visual Studio 2022 最新版 [官方网址](https://visualstudio.microsoft.com/vs/getting-started/)
3. 获取本项目代码 [BootstrapBlazor](https://gitee.com/LongbowEnterprise/BootstrapBlazor)
3. 获取本项目代码 [BootstrapBlazor](https://gitee.com/Longbow/BootstrapBlazor)
### 克隆代码
```shell
git clone https://gitee.com/LongbowEnterprise/BootstrapBlazor.git
git clone https://gitee.com/Longbow/BootstrapBlazor.git
cd BootstrapBlazor/src/BootstrapBlazor.Server
dotnet run
```
@ -80,7 +80,7 @@ dotnet run
### 项目模板
- [微软市场](https://marketplace.visualstudio.com/items?itemName=Longbow.BootstrapBlazorUITemplate)
- [码云镜像](https://gitee.com/LongbowEnterprise/BootstrapBlazorVsix/raw/master/dist/BootstrapBlazor.UITemplate.vsix)
- [码云镜像](https://gitee.com/Longbow/BootstrapBlazorVsix/raw/master/dist/BootstrapBlazor.UITemplate.vsix)
### 更多文档
@ -170,16 +170,16 @@ Blazor 应用基于组件。 Blazor 中的组件是指 UI 元素,例如页面
## 项目截图
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Toggle.png "Toggle.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Toast.png "Toast.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Upload.png "Upload.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Upload2.png "Upload2.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Bar.png "Bar.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Pie.png "Pei.png")
![登录可查看](https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Doughnut.png "Doughnut.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Toggle.png "Toggle.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Toast.png "Toast.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Upload.png "Upload.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Upload2.png "Upload2.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Bar.png "Bar.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Pie.png "Pei.png")
![登录可查看](https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Doughnut.png "Doughnut.png")
## 开源协议
[![Gitee license](https://img.shields.io/github/license/argozhang/bootstrapblazor.svg?logo=git&logoColor=red)](https://gitee.com/LongbowEnterprise/BootstrapBlazor/blob/master/LICENSE)
[![Gitee license](https://img.shields.io/github/license/argozhang/bootstrapblazor.svg?logo=git&logoColor=red)](https://gitee.com/Longbow/BootstrapBlazor/blob/master/LICENSE)
## 特别鸣谢
@ -187,7 +187,7 @@ Blazor 应用基于组件。 Blazor 中的组件是指 UI 元素,例如页面
特别鸣谢胡总对本项目的鼎力赞助 **10000**
<img src="https://gitee.com/LongbowEnterprise/Pictures/raw/master/BootstrapBlazor/Donate@x2.png" width="552px;" />
<img src="https://gitee.com/Longbow/Pictures/raw/master/BootstrapBlazor/Donate@x2.png" width="552px;" />
## 参与贡献
@ -200,4 +200,4 @@ Blazor 应用基于组件。 Blazor 中的组件是指 UI 元素,例如页面
如果这个项目对您有所帮助,请扫下方二维码打赏一杯咖啡。
<img src="https://gitee.com/LongbowEnterprise/Pictures/raw/master/WeChat/BarCode@2x.png" width="382px;" />
<img src="https://gitee.com/Longbow/Pictures/raw/master/WeChat/BarCode@2x.png" width="382px;" />

@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Web
@using BootstrapBlazor.Shared.Components
@using Microsoft.AspNetCore.Components.Web
@namespace BootstrapBlazor.Server
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@ -54,25 +55,7 @@
</div>
<component type="typeof(ReconnectorOutlet)" param-AutoReconnect="true" render-mode="ServerPrerendered" />
<div class="blazor-intro">
<h5><b>Bootstrap Blazor</b> 组件库 更新到 <span class="version">6.6.0</span></h5>
<div class="d-flex">
<div class="blazor-intro-body">
<p>首先感谢您对本套组件的关注,本目前本套组件已经拥有超过 120 个组件,本组件是基于 <b>Bootstrap</b> 风格的 <b>Blazor</b> 企业级组件库,提供如布局、导航、表单、数据、通知、图标、语音等几大类通用组件,每一个组件都经过静心设计,具有模块化、响应式和优秀的性能。从更多实际场景出发,满足多种场景的需求,极大的减少开发者时间成本,大大缩短开发周期,大幅提高开发效率,并提供了一套 <a href="https://admin.blazor.zone" target="_blank"><b>通用权限管理系统</b></a> 示例工程。<b>Bootstrap Blazor</b> 产品是由一支专业的全职技术团队进行维护,高效的响应速度,多元化的解决方案,长期提供支持,并提供企业级支持。目前已在多家知名国企内部使用,项目最高在线 <b>1200</b> 人稳定运行。右侧为国内人数最多的中文 Blazor QQ 社区二维码,欢迎扫描加群。</p>
<p>组件更新到 <span class="version">6.6.0</span> 更新日志 <a target="_blank" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97?sort_id=4062034"><b>[传送门]</b></a> 如果组件给您带来了方便,请您帮忙给项目点亮 <b>Star</b>
<a class="px-2" href="https://github.com/ArgoZhang/BootstrapBlazor" target="_blank"><img src="_content/BootstrapBlazor.Shared/images/git.svg" alt="github" /></a>
<a href="https://gitee.com/LongbowEnterprise/BootstrapBlazor" target="_blank"><img src="_content/BootstrapBlazor.Shared/images/gitee.svg" alt="gitee" /></a></p>
</div>
<div class="blazor-intro-barcode">
<img src="_content/BootstrapBlazor.Shared/images/QQGroup@2x.png" alt="QQGroup" />
<div>QQ 795206915</div>
</div>
</div>
<div class="blazor-intro-button">
<svg viewBox="0 0 24 24"><path d="M19.707 5.707l-1.414-1.414L12 10.586 5.707 4.293 4.293 5.707 10.586 12l-6.293 6.293 1.414 1.414L12 13.414l6.293 6.293 1.414-1.414L13.414 12l6.293-6.293z"></path></svg>
</div>
</div>
<component type="typeof(UpdateIntro)" render-mode="ServerPrerendered" />
<script src="_content/BootstrapBlazor/js/bootstrap.blazor.bundle.min.js" asp-append-version="true"></script>
<script src="_content/BootstrapBlazor.Chart/js/bootstrap.blazor.chart.bundle.min.js" asp-append-version="true"></script>

@ -1,4 +1,6 @@
<Reconnector>
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<Reconnector>
<ReconnectingTemplate>
<div class="connection-mask"></div>
<div class="connection-body">
@ -57,6 +59,8 @@
</Reconnector>
@code {
private string TemplateUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B";
RenderFragment RenderBootstrapBlazor =>
@<div class="col-12 col-sm-5">
<h5>Bootstrap Blazor UI 组件库</h5>
@ -65,7 +69,7 @@
<div class="mb-2">一套基于 <b>Bootstrap</b> 样式的企业级 <b>Blazor UI</b> 组件库,支持 Server 与 WebAssembly</div>
<div class="mb-2">适配移动端支持各种主流浏览器以及移动端,适配 <b>ABP</b>,同时支持 <b>NET5/NET6</b></div>
<div class="mb-2"></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B" target="_blank">项目模板</a></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl" target="_blank">项目模板</a></div>
</div>
<img src="_content/BootstrapBlazor.Shared/images/QQGroup@2x.png" alt="QQGroup" />
<div class="connection-body-tail d-none d-sm-block"></div>

@ -0,0 +1,18 @@
<div class="blazor-intro">
<h5><b>Bootstrap Blazor</b> 组件库 更新到 <span class="version">6.6.0</span></h5>
<div class="d-flex">
<div class="blazor-intro-body">
<p>首先感谢您对本套组件的关注,本目前本套组件已经拥有超过 120 个组件,本组件是基于 <b>Bootstrap</b> 风格的 <b>Blazor</b> 企业级组件库,提供如布局、导航、表单、数据、通知、图标、语音等几大类通用组件,每一个组件都经过静心设计,具有模块化、响应式和优秀的性能。从更多实际场景出发,满足多种场景的需求,极大的减少开发者时间成本,大大缩短开发周期,大幅提高开发效率,并提供了一套 <a href="@WebsiteOption.CurrentValue.AdminUrl" target="_blank"><b>通用权限管理系统</b></a> 示例工程。<b>Bootstrap Blazor</b> 产品是由一支专业的全职技术团队进行维护,高效的响应速度,多元化的解决方案,长期提供支持,并提供企业级支持。目前已在多家知名国企内部使用,项目最高在线 <b>1200</b> 人稳定运行。右侧为国内人数最多的中文 Blazor QQ 社区二维码,欢迎扫描加群。</p>
<p>组件更新到 <span class="version">6.6.0</span> 更新日志 <a target="_blank" href="@UpdateLogUrl"><b>[传送门]</b></a> 如果组件给您带来了方便,请您帮忙给项目点亮 <b>Star</b>
<a class="px-2" href="https://github.com/ArgoZhang/BootstrapBlazor" target="_blank"><img src="_content/BootstrapBlazor.Shared/images/git.svg" alt="github" /></a>
<a href="@WebsiteOption.CurrentValue.BootstrapBlazorLink" target="_blank"><img src="_content/BootstrapBlazor.Shared/images/gitee.svg" alt="gitee" /></a></p>
</div>
<div class="blazor-intro-barcode">
<img src="_content/BootstrapBlazor.Shared/images/QQGroup@2x.png" alt="QQGroup" />
<div>QQ 795206915</div>
</div>
</div>
<div class="blazor-intro-button">
<svg viewBox="0 0 24 24"><path d="M19.707 5.707l-1.414-1.414L12 10.586 5.707 4.293 4.293 5.707 10.586 12l-6.293 6.293 1.414 1.414L12 13.414l6.293 6.293 1.414-1.414L13.414 12l6.293-6.293z"></path></svg>
</div>
</div>

@ -0,0 +1,22 @@
// Copyright (c) Argo Zhang (argo@163.com). All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Website: https://www.blazor.zone or https://argozhang.github.io/
using BootstrapBlazor.Components;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Options;
namespace BootstrapBlazor.Shared.Components;
/// <summary>
/// 更新日志介绍组件
/// </summary>
public partial class UpdateIntro
{
[Inject]
[NotNull]
private IOptionsMonitor<WebsiteOptions>? WebsiteOption { get; set; }
[NotNull]
private string? UpdateLogUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/wikis/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97?sort_id=4062034";
}

@ -34,27 +34,27 @@ public class WebsiteOptions
/// <summary>
///
/// </summary>
public string BootstrapAdminLink { get; set; } = "https://gitee.com/LongbowEnterprise/BootstrapAdmin";
public string BootstrapAdminLink { get; set; } = "https://gitee.com/Longbow/BootstrapAdmin";
/// <summary>
///
/// </summary>
public string BootstrapBlazorLink { get; set; } = "https://gitee.com/LongbowEnterprise/BootstrapBlazor";
public string BootstrapBlazorLink { get; set; } = "https://gitee.com/Longbow/BootstrapBlazor";
/// <summary>
///
/// </summary>
public string VideoLibUrl { get; set; } = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E8%A7%86%E9%A2%91%E8%B5%84%E6%BA%90?sort_id=3300624";
public string VideoLibUrl { get; set; } = "https://gitee.com/Longbow/BootstrapBlazor/wikis/%E8%A7%86%E9%A2%91%E8%B5%84%E6%BA%90?sort_id=3300624";
/// <summary>
///
/// </summary>
public string RepositoryUrl { get; set; } = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/raw/main/src/BootstrapBlazor.Shared/Samples/";
public string RepositoryUrl { get; set; } = "https://gitee.com/Longbow/BootstrapBlazor/raw/main/src/BootstrapBlazor.Shared/Samples/";
/// <summary>
///
/// </summary>
public string WikiUrl { get; set; } = "https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97?sort_id=4062034";
public string WikiUrl { get; set; } = "https://gitee.com/Longbow/BootstrapBlazor/wikis/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97?sort_id=4062034";
/// <summary>
/// 获得 QQ 1 群链接地址

@ -104,7 +104,7 @@
"EnvBuildTitle": "Project Environment Construction",
"EnvLi1": "Install .net core sdk <a href='http://www.microsoft.com/net/download' target='_blan'>Official Website</a>",
"EnvLi2": "Install Visual Studio 2019 and above <a href='https://visualstudio.microsoft.com/vs/getting-started' target='_blank'>Official website",
"EnvLi3": "Pull the project code BootstrapBlazor <a href='https://gitee.com/LongbowEnterprise/BootstrapBlazor' target='_blank'>Warehouse URL</a>"
"EnvLi3": "Pull the project code BootstrapBlazor <a href='{0}' target='_blank'>Warehouse URL</a>"
},
"BootstrapBlazor.Shared.Pages.Template": {
"Title": "Project Template",
@ -3090,7 +3090,7 @@
"AutoGenerateColumnsP1": "In this example, by setting the value of <code>AutoGenerateColumns</code> to <code>true</code>, the automatic column generation function is enabled. All attributes of the bound model entity class are all generated by default. code>AutoGenerateColumnAttribute</code> tag class for function settings, such as: ",
"AutoGenerateColumnsLi1": "<code>Ignore</code> means ignore this property, i.e. not generate",
"AutoGenerateColumnsLi2": "<code>Readonly</code> means read only",
"AutoGenerateColumnsLi3": "For more attributes, see <a href=\"https://gitee.com/LongbowEnterprise/BootstrapBlazor/blob/master/src/BootstrapBlazor/Attributes/AutoGenerateColumnAttribute.cs\" target=\"_blank\" >Source code</a>",
"AutoGenerateColumnsLi3": "For more attributes, see <a href=\"{0}/blob/master/src/BootstrapBlazor/Attributes/AutoGenerateColumnAttribute.cs\" target=\"_blank\" >Source code</a>",
"AutoGenerateColumnsP2": " In this example the <code>date</code> column is formatted through the <code>[AutoGenerateColumn(Order = 1, FormatString = \"yyyy-MM-dd\")]</code> tag; Set the template column in the code to customize the <code>Complete</code> column and use the <code>Switch</code> component to render; through the <code>[AutoGenerateColumn(Order = 10)]</code> tag in the <code>Order</code> set the display order",
"OnColumnCreatingTitle": "Set current column properties",
"OnColumnCreatingIntro": "By specifying <code>OnColumnCreating</code> callback, make secondary data changes to the column collection",

@ -104,7 +104,7 @@
"EnvBuildTitle": "项目环境搭建",
"EnvLi1": "安装 .net core sdk <a href='http://www.microsoft.com/net/download' target='_blan'>官方网址</a>",
"EnvLi2": "安装 Visual Studio 2019 以上 <a href='https://visualstudio.microsoft.com/vs/getting-started' target='_blank'>官方网址</a>",
"EnvLi3": "拉取项目代码 BootstrapBlazor <a href='https://gitee.com/LongbowEnterprise/BootstrapBlazor' target='_blank'>仓库网址</a>"
"EnvLi3": "拉取项目代码 BootstrapBlazor <a href='{0}' target='_blank'>仓库网址</a>"
},
"BootstrapBlazor.Shared.Pages.Template": {
"Title": "项目模板",
@ -3103,7 +3103,7 @@
"AutoGenerateColumnsP1": "本例中通过设置 <code>AutoGenerateColumns</code> 值为 <code>true</code> 开启自动生成列功能,默认绑定模型实体类所有属性全部生成,实体类可以通过 <code>AutoGenerateColumnAttribute</code> 标签类进行功能设置,如:",
"AutoGenerateColumnsLi1": "<code>Ignore</code> 表示忽略此属性,即不生成",
"AutoGenerateColumnsLi2": "<code>Readonly</code> 表示只读",
"AutoGenerateColumnsLi3": "更多属性详见 <a href=\"https://gitee.com/LongbowEnterprise/BootstrapBlazor/blob/master/src/BootstrapBlazor/Attributes/AutoGenerateColumnAttribute.cs\" target=\"_blank\">源码</a>",
"AutoGenerateColumnsLi3": "更多属性详见 <a href=\"{0}/blob/master/src/BootstrapBlazor/Attributes/AutoGenerateColumnAttribute.cs\" target=\"_blank\">源码</a>",
"AutoGenerateColumnsP2": " 本例中通过 <code>[AutoGenerateColumn(Order = 1, FormatString = \"yyyy-MM-dd\")]</code> 标签格式化 <code>日期</code> 列;通过代码中设置模板列对 <code>Complete</code> 列进行自定义使用 <code>Switch</code> 组件进行渲染;通过 <code>[AutoGenerateColumn(Order = 10)]</code> 标签中的 <code>Order</code> 对显示顺序进行设定",
"OnColumnCreatingTitle": "设置当前列属性",
"OnColumnCreatingIntro": "通过指定 <code>OnColumnCreating</code>回调,对列集合进行数据二次更改",

@ -1,6 +1,7 @@
@page "/install"
@inject VersionService VersionManager
@inject IStringLocalizer<Install> Localizer
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<h3>@Localizer["InstallTitle"]</h3>
@ -40,10 +41,10 @@
<ol>
<li>@((MarkupString)Localizer["EnvLi1"].Value)</li>
<li>@((MarkupString)Localizer["EnvLi2"].Value)</li>
<li>@((MarkupString)Localizer["EnvLi3"].Value)</li>
<li>@((MarkupString)string.Format(Localizer["EnvLi3"].Value, WebsiteOption.CurrentValue.BootstrapBlazorLink))</li>
</ol>
<Pre class="no-highlight">git clone https://gitee.com/LongbowEnterprise/BootstrapBlazor</Pre>
<Pre class="no-highlight">git clone @WebsiteOption.CurrentValue.BootstrapBlazorLink</Pre>
@code {
/// <summary>

@ -1,6 +1,7 @@
@page "/template"
@inject VersionService VersionManager
@inject IStringLocalizer<Template> Localizer
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<h3>@Localizer["Title"]</h3>
@ -29,7 +30,7 @@
<p class="code-label mb-3">1. 下载项目模板</p>
<div class="mb-2">可以通过 <b>Visual Studio 2022 内置插件扩展</b> 或者 <b>微软插件扩展市场</b> <a href="https://marketplace.visualstudio.com/items?itemName=Longbow.BootstrapBlazorUITemplate" target="_blank">[传送门]</a> 直接下载; 国内访问微软插件市场速度比较慢,可以访问码云连接 <a href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B?sort_id=3059284" target="_blank">[传送门]</a></div>
<div class="mb-2">可以通过 <b>Visual Studio 2022 内置插件扩展</b> 或者 <b>微软插件扩展市场</b> <a href="https://marketplace.visualstudio.com/items?itemName=Longbow.BootstrapBlazorUITemplate" target="_blank">[传送门]</a> 直接下载; 国内访问微软插件市场速度比较慢,可以访问码云连接 <a href="@TemplateUrl" target="_blank">[传送门]</a></div>
<img src="_content/BootstrapBlazor.Shared/images/seach-extensions.png" style="width: 800px; border-radius: 6px;" class="d-none d-sm-block mb-3" />

@ -14,6 +14,8 @@ public sealed partial class Template
/// </summary>
private string Version { get; set; } = "*";
private string TemplateUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B?sort_id=3059284";
/// <summary>
/// OnInitializedAsync 方法
/// </summary>

@ -1,5 +1,6 @@
@page "/reconnectors"
@inject IStringLocalizer<Reconnectors> Localizer
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<h3>@Localizer["Title"]</h3>
@ -97,7 +98,7 @@
<div class="flex-fill">
<div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div>
<div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET5/NET6</b>,交流群 <b>795206915</b></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B">项目模板</a></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div>
</div>
<div class="connection-body-tail d-none d-sm-block"></div>
</div>
@ -126,7 +127,7 @@
&lt;div class="flex-fill"&gt;
&lt;div class="mb-2"&gt;基于 &lt;b&gt;Bootstrap&lt;/b&gt; 样式的 &lt;b&gt;Blazor UI&lt;/b&gt; 组件库&lt;/div&gt;
&lt;div class="mb-2"&gt;适配移动端支持各种主流浏览器,适配 &lt;b&gt;ABP&lt;/b&gt;,同时支持 &lt;b&gt;NET5/NET6&lt;/b&gt;,交流群 &lt;b&gt;795206915&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="@TemplateUrl"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="connection-body-tail d-none d-sm-block"&gt;&lt;/div&gt;
&lt;/div&gt;
@ -157,7 +158,7 @@
<div class="flex-fill">
<div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div>
<div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET5/NET6</b>,交流群 <b>795206915</b></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B">项目模板</a></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div>
</div>
<div class="connection-body-tail d-none d-sm-block"></div>
</div>
@ -187,7 +188,7 @@
&lt;div class="flex-fill"&gt;
&lt;div class="mb-2"&gt;基于 &lt;b&gt;Bootstrap&lt;/b&gt; 样式的 &lt;b&gt;Blazor UI&lt;/b&gt; 组件库&lt;/div&gt;
&lt;div class="mb-2"&gt;适配移动端支持各种主流浏览器,适配 &lt;b&gt;ABP&lt;/b&gt;,同时支持 &lt;b&gt;NET5/NET6&lt;/b&gt;,交流群 &lt;b&gt;795206915&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="@TemplateUrl"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="connection-body-tail d-none d-sm-block"&gt;&lt;/div&gt;
&lt;/div&gt;
@ -219,7 +220,7 @@
<div class="flex-fill">
<div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div>
<div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET5/NET6</b>,交流群 <b>795206915</b></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B">项目模板</a></div>
<div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div>
</div>
<div class="connection-body-tail d-none d-sm-block"></div>
</div>
@ -248,7 +249,7 @@
&lt;div class="flex-fill"&gt;
&lt;div class="mb-2"&gt;基于 &lt;b&gt;Bootstrap&lt;/b&gt; 样式的 &lt;b&gt;Blazor UI&lt;/b&gt; 组件库&lt;/div&gt;
&lt;div class="mb-2"&gt;适配移动端支持各种主流浏览器,适配 &lt;b&gt;ABP&lt;/b&gt;,同时支持 &lt;b&gt;NET5/NET6&lt;/b&gt;,交流群 &lt;b&gt;795206915&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;已提供项目模板方便快速上手 &lt;a class="connection-link" href="@TemplateUrl"&gt;项目模板&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="connection-body-tail d-none d-sm-block"&gt;&lt;/div&gt;
&lt;/div&gt;

@ -12,6 +12,8 @@ namespace BootstrapBlazor.Shared.Samples;
/// </summary>
public partial class Reconnectors
{
private string TemplateUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/wikis/%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B";
private IEnumerable<AttributeItem> GetAttributes() => new AttributeItem[]
{
new AttributeItem()

@ -1,4 +1,5 @@
@page "/tables/column"
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<h3>@ColumnLocalizer["Title"]</h3>
@ -243,7 +244,7 @@
<ul class="ul-demo mb-3">
<li>@((MarkupString)ColumnLocalizer["AutoGenerateColumnsLi1"].Value)</li>
<li>@((MarkupString)ColumnLocalizer["AutoGenerateColumnsLi2"].Value)</li>
<li>@((MarkupString)ColumnLocalizer["AutoGenerateColumnsLi3"].Value)</li>
<li>@((MarkupString)string.Format(ColumnLocalizer["AutoGenerateColumnsLi3"].Value, WebsiteOption.CurrentValue.BootstrapBlazorLink))</li>
</ul>
@((MarkupString)ColumnLocalizer["AutoGenerateColumnsP2"].Value)
</p>

@ -156,7 +156,7 @@
<li><code>OnSaveAsync</code></li>
<li><code>OnQueryAsync</code></li>
</ul>
<div class="mb-3">Startup 文件注入数据服务 <a href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis/Table%20%E7%BB%84%E4%BB%B6%E6%95%B0%E6%8D%AE%E6%9C%8D%E5%8A%A1%E4%BB%8B%E7%BB%8D?sort_id=3207977" target="_blank">实现原理与用法介绍</a></div>
<div class="mb-3">Startup 文件注入数据服务 <a href="@DataServiceUrl" target="_blank">实现原理与用法介绍</a></div>
<b>自定义数据服务</b>
<div class="mt-1">开启使用注入数据服务后,可通过设置 <code>DataServices</code> 参数对组件进行单独设置,如未设置内部使用注入服务提供的实例</div>
</p>

@ -6,6 +6,7 @@ using BootstrapBlazor.Components;
using BootstrapBlazor.Shared.Services;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Options;
namespace BootstrapBlazor.Shared.Samples.Table;
@ -18,6 +19,10 @@ public partial class TablesEdit
[NotNull]
private IStringLocalizer<Foo>? Localizer { get; set; }
[Inject]
[NotNull]
private IOptionsMonitor<WebsiteOptions>? WebsiteOption { get; set; }
private static IEnumerable<int> PageItemsSource => new int[] { 4, 10, 20 };
[NotNull]
@ -26,6 +31,8 @@ public partial class TablesEdit
[NotNull]
private List<Foo>? Items { get; set; }
private string DataServiceUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/wikis/Table%20%E7%BB%84%E4%BB%B6%E6%95%B0%E6%8D%AE%E6%9C%8D%E5%8A%A1%E4%BB%8B%E7%BB%8D?sort_id=3207977";
/// <summary>
/// OnInitialized 方法
/// </summary>

@ -43,7 +43,7 @@
<p>
<code>FilterTemplate</code> 类型为 <code>RenderFragment</code>
<span>其值为自定义组件,组件必须继承</span> <code>FilterBase</code> 本例中最后一列 <b>数量列</b> 通过筛选模板使用自定义组件 <code>CustomerFilter</code>
<a href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/blob/main/src/BootstrapBlazor.Shared/Samples/Table/CustomerFilter.razor" target="_blank">[传送门] CustomerFilter 组件源码</a>
<a href="@ComponentSourceCodeUrl" target="_blank">[传送门] CustomerFilter 组件源码</a>
</p>
<Table TItem="Foo"
IsPagination="true" PageItemsSource="@PageItemsSource"

@ -5,6 +5,7 @@
using BootstrapBlazor.Components;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Options;
namespace BootstrapBlazor.Shared.Samples.Table;
@ -22,8 +23,14 @@ public partial class TablesFilter
[NotNull]
private IStringLocalizer<Foo>? Localizer { get; set; }
[Inject]
[NotNull]
private IOptionsMonitor<WebsiteOptions>? WebsiteOption { get; set; }
private string SortString { get; set; } = "DateTime desc, Address";
private string ComponentSourceCodeUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/blob/main/src/BootstrapBlazor.Shared/Samples/Table/CustomerFilter.razor";
/// <summary>
/// OnInitialized 方法
/// </summary>

@ -35,13 +35,13 @@
<a class="nav-link p-2" href="https://github.com/ArgoZhang/BootstrapBlazor"><img src="_content/BootstrapBlazor.Shared/images/git.svg" /></a>
</li>
<li class="nav-item">
<a class="nav-link p-2" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor"><img src="_content/BootstrapBlazor.Shared/images/gitee.svg" /></a>
<a class="nav-link p-2" href="@WebsiteOption.CurrentValue.BootstrapBlazorLink"><img src="_content/BootstrapBlazor.Shared/images/gitee.svg" /></a>
</li>
<li class="nav-item">
<FullScreenButton class="nav-link p-2" Title="点击切换全屏模式" />
</li>
</ul>
<a class="btn btn-bd-download d-none d-lg-inline-block mb-3 mb-md-0 ms-md-3" target="_blank" href="https://gitee.com/LongbowEnterprise/BootstrapBlazor/repository/archive/main.zip">@DownloadText</a>
<a class="btn btn-bd-download d-none d-lg-inline-block mb-3 mb-md-0 ms-md-3" target="_blank" href="@DownloadUrl">@DownloadText</a>
</header>
<CascadingValue Value="@BBVersion" Name="BBVersion" IsFixed="true">

@ -54,6 +54,8 @@ public partial class BaseLayout
private string? BBVersion { get; set; }
private string DownloadUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/repository/archive/main.zip";
/// <summary>
/// OnInitialized 方法
/// </summary>

@ -1,10 +1,11 @@
@inherits LayoutComponentBase
@layout MainLayout
@inject IOptionsMonitor<WebsiteOptions> WebsiteOption
<div class="bb-title"><img class="bb-icon" src="_content/BootstrapBlazor.Shared/images/logo.png" /><span>@Title</span></div>
<div class="text-center shields">
<ImageViewer Alt="gitee" IsAsync="true" Url="https://gitee.com/LongbowEnterprise/BootstrapBlazor/badge/star.svg?theme=gvp" />
<ImageViewer Alt="gitee" IsAsync="true" Url="@GVPUrl" />
<span class="d-none d-sm-inline">
<ImageViewer Alt="version" IsAsync="true" Url="https://img.shields.io/nuget/vpre/BootstrapBlazor.svg?logo=nuget&logoColor=green" />
<ImageViewer Alt="license" IsAsync="true" Url="https://img.shields.io/github/license/argozhang/bootstrapblazor.svg?logo=git&logoColor=red" />

@ -48,6 +48,8 @@ public sealed partial class ComponentLayout
[NotNull]
private Tab? TabSet { get; set; }
private string GVPUrl => $"{WebsiteOption.CurrentValue.BootstrapBlazorLink}/badge/star.svg?theme=gvp";
/// <summary>
/// OnInitialized 方法
/// </summary>

@ -17,13 +17,13 @@
<a class="footer-link" href="@WebsiteOption.CurrentValue.BootstrapAdminLink" target="_blank">Bootstrap Admin</a>
</li>
<li>
<a class="footer-link" href="https://gitee.com/LongbowEnterprise/SliderCaptcha" target="_blank">@Localizer["FooterLi1"]</a>
<a class="footer-link" href="https://gitee.com/Longbow/SliderCaptcha" target="_blank">@Localizer["FooterLi1"]</a>
</li>
<li>
<a class="footer-link" href="https://gitee.com/LongbowEnterprise/longbow-select" target="_blank">Longbow-select</a>
<a class="footer-link" href="https://gitee.com/Longbow/longbow-select" target="_blank">Longbow-select</a>
</li>
<li>
<a class="footer-link" href="https://gitee.com/LongbowEnterprise/longbow-validate" target="_blank">Longbow-validate</a>
<a class="footer-link" href="https://gitee.com/Longbow/longbow-validate" target="_blank">Longbow-validate</a>
</li>
</ul>
</div>

@ -194,7 +194,7 @@ public partial class Modal : IAsyncDisposable
if (disposing)
{
// 切换线程防止 JS 清理 DOM 后 C# 代码报错
// https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I4PKOC
// https://gitee.com/Longbow/BootstrapBlazor/issues/I4PKOC
await Task.Delay(300);
// JS 清理 DOM

@ -194,7 +194,7 @@ internal class InternalTableColumn : ITableColumn
var attr = prop.GetCustomAttribute<AutoGenerateColumnAttribute>(true);
// Issue: 增加定义设置标签 AutoGenerateClassAttribute
// https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I381ED
// https://gitee.com/Longbow/BootstrapBlazor/issues/I381ED
var displayName = attr?.Text ?? Utility.GetDisplayName(type, prop.Name);
if (attr == null)
{

@ -108,7 +108,7 @@ public partial class Table<TItem>
AddInCell = false;
EditInCell = false;
// https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I1UYQG
// https://gitee.com/Longbow/BootstrapBlazor/issues/I1UYQG
StateHasChanged();
}
}

@ -619,7 +619,7 @@ public partial class Table<TItem>
// 删除成功 重新查询
// 由于数据删除导致页码会改变,尤其是最后一页
// 重新计算页码
// https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I1UJSL
// https://gitee.com/Longbow/BootstrapBlazor/issues/I1UJSL
PageIndex = Math.Max(1, Math.Min(PageIndex, int.Parse(Math.Ceiling((TotalCount - SelectedRows.Count) * 1d / PageItems).ToString())));
var items = PageItemsSource.Where(item => item >= (TotalCount - SelectedRows.Count));
PageItems = Math.Min(PageItems, items.Any() ? items.Min() : PageItems);

@ -15,7 +15,7 @@
<IsPackable>true</IsPackable>
<PackageIcon>logo.png</PackageIcon>
<PackageReadmeFile>readme.md</PackageReadmeFile>
<PackageReleaseNotes>https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis</PackageReleaseNotes>
<PackageReleaseNotes>https://gitee.com/Longbow/BootstrapBlazor/wikis</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>

@ -240,7 +240,7 @@ public static class LambdaExtensions
private static Expression Contains(this Expression left, Expression right)
{
// https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I2DIR4
// https://gitee.com/Longbow/BootstrapBlazor/issues/I2DIR4
// 兼容 EFCore 与普通逻辑 EFCore 内自动处理空问题
var method = typeof(string).GetMethod("Contains", new Type[1] { typeof(string) })!;
return Expression.AndAlso(Expression.NotEqual(left, Expression.Constant(null)), Expression.Call(left, method, right));

Loading…
Cancel
Save