diff --git a/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj b/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj index 3e74bd76..93af5f20 100644 --- a/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj +++ b/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj @@ -1,7 +1,7 @@  - 10.0.6 + 10.0.7 @@ -9,6 +9,11 @@ Bootstrap UI components extensions of Univer Sheet + + + + + diff --git a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor index 8fdd46e9..44270051 100644 --- a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor +++ b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor @@ -2,4 +2,9 @@ @inherits BootstrapModuleComponentBase @attribute [JSModuleAutoLoader("./_content/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js", JSObjectReference = true)] -
+
+
+
+
@LoadingText
+
+
diff --git a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs index 1c549e46..176561b6 100644 --- a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs +++ b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs @@ -3,6 +3,7 @@ // Website: https://www.blazor.zone or https://argozhang.github.io/ using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Localization; using System.Globalization; namespace BootstrapBlazor.Components; @@ -48,12 +49,21 @@ public partial class UniverSheet [Parameter] public UniverSheetData? Data { get; set; } + /// + /// 获得/设置 正在加载显示文本 默认 null 未设置读取资源文件 + /// + [Parameter] + public string? LoadingText { get; set; } + /// /// 获得/设置 Frame 加载页面传递过来的数据 /// [Parameter] public Func>? OnPostDataAsync { get; set; } + [Inject, NotNull] + private IStringLocalizer? Localizer { get; set; } + private string? ClassString => CssBuilder.Default("bb-univer-sheet") .AddClassFromAttributes(AdditionalAttributes) .Build(); @@ -78,6 +88,7 @@ protected override void OnParametersSet() base.OnParametersSet(); Lang ??= CultureInfo.CurrentUICulture.Name; + LoadingText ??= Localizer[nameof(LoadingText)]; } /// diff --git a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js index 98592fb4..dfbb3b2c 100644 --- a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js +++ b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js @@ -11,14 +11,22 @@ export async function init(id, invoke, options) { const { theme, lang, plugins, data, ribbonType, darkMode } = options; const univerSheet = { - el, + el: el.querySelector('.bb-univer-sheet-wrap'), invoke, data, plugins, theme, lang, ribbonType, - darkMode + darkMode, + events: { + onRendered: () => { + const backdrop = el.querySelector('.bb-univer-sheet-backdrop'); + if (backdrop) { + backdrop.classList.add('d-none'); + } + } + } }; await createUniverSheetAsync(univerSheet); diff --git a/src/components/BootstrapBlazor.UniverSheet/Locales/en.json b/src/components/BootstrapBlazor.UniverSheet/Locales/en.json new file mode 100644 index 00000000..8e3c78f7 --- /dev/null +++ b/src/components/BootstrapBlazor.UniverSheet/Locales/en.json @@ -0,0 +1,5 @@ +{ + "BootstrapBlazor.Components.UniverSheet": { + "LoadingText": "Loading ..." + } +} diff --git a/src/components/BootstrapBlazor.UniverSheet/Locales/zh.json b/src/components/BootstrapBlazor.UniverSheet/Locales/zh.json new file mode 100644 index 00000000..a175db67 --- /dev/null +++ b/src/components/BootstrapBlazor.UniverSheet/Locales/zh.json @@ -0,0 +1,5 @@ +{ + "BootstrapBlazor.Components.UniverSheet": { + "LoadingText": "正在加载 ..." + } +} diff --git a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js index bdda3021..b3aea424 100644 --- a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js +++ b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js @@ -1,4 +1,4 @@ -import { addScript, addLink, getTheme } from '../BootstrapBlazor/modules/utility.js' +import { addScript, addLink, getTheme } from '../BootstrapBlazor/modules/utility.js' import DataService from './data-service.js' const loadAssets2 = async lang => { @@ -30,6 +30,7 @@ const loadAssets = async lang => { await addScript('./_content/BootstrapBlazor.UniverSheet/univer/univer-bundle.js'); await addLink('./_content/BootstrapBlazor.UniverSheet/univer/univer-sheet.bundle.css'); } + export async function createUniverSheetAsync(sheet) { sheet.lang = sheet.lang ?? 'en-US'; await loadAssets(sheet.lang); @@ -46,7 +47,7 @@ export async function createUniverSheetAsync(sheet) { const lang = sheet.lang.replace('-', '') const langStr = lang.charAt(0).toUpperCase() + lang.slice(1) const options = { - theme: sheet.theme, + theme: sheet.theme, darkMode: sheet.darkMode, locale: lang, locales: { @@ -66,12 +67,12 @@ export async function createUniverSheetAsync(sheet) { ribbonType: sheet.ribbonType ?? 'simple', // default | classic | simple menu: { 'sheet.menu.print': { - hidden: true, + hidden: true, }, 'sheets-exchange-client.operation.exchange': { - hidden: true, + hidden: true, }, - }, + }, }), UniverSheetsDrawingPreset(), UniverSheetsThreadCommentPreset(), @@ -113,6 +114,17 @@ export async function createUniverSheetAsync(sheet) { univerAPI.createWorkbook(); } + const { onRendered } = sheet.events; + if (onRendered) { + const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, e => { + const { stage } = e; + if (stage === univerAPI.Enum.LifecycleStages.Rendered) { + onRendered(); + disposable.dispose() + } + }); + } + sheet.univer = univer; sheet.univerAPI = univerAPI; sheet.dispose = () => { diff --git a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer/univer-sheet.bundle.css b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer/univer-sheet.bundle.css index 1a57122d..ef9a9018 100644 --- a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer/univer-sheet.bundle.css +++ b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer/univer-sheet.bundle.css @@ -3,7 +3,6 @@ .bb-univer-sheet { width: 100%; height: 100%; - overflow: hidden; } .univer-theme {