コード例 #1
0
        static void OpenFromSelectionGrid()
        {
            _mode = ResponsiveMode.SelectionGrid;
            EditorWindow window = GetWindow(typeof(ResponsiveGUI), false, "ResponsiveGUI");

            window.Show();
        }
コード例 #2
0
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (baseModule == null)
            {
                baseModule = await JSRuntime !.InvokeAsync <IJSObjectReference>("import", BasePath);
            }
            if (firstRender)
            {
                Rectangle?windowRect = await baseModule !.InvokeAsync <Rectangle>("getWindowRect");
                foreach (object?item in Enum.GetValues(typeof(ResponsiveMode)))
                {
                    if (windowRect.Width <= ResponsiveModeUtils.RESPONSIVE_MAX_CONSTRAINT[(int)item])
                    {
                        CurrentMode = (ResponsiveMode)item;
                        break;
                    }
                }
                _resizeEventGuid = Guid.NewGuid().ToString().Replace("-", "");
                selfReference    = DotNetObjectReference.Create(this);
                await baseModule.InvokeVoidAsync("registerResizeEvent", selfReference, "OnResizedAsync", _resizeEventGuid);

                StateHasChanged();  // we will never have window size until after first render, so re-render after this to update the component with ResponsiveMode info.
            }
            await base.OnAfterRenderAsync(firstRender);
        }
コード例 #3
0
        static void OpenFromGuiLayout()
        {
            _mode = ResponsiveMode.GuiLayout;
            EditorWindow window = GetWindow(typeof(ResponsiveGUI), false, "ResponsiveGUI");

            window.Show();
        }
コード例 #4
0
        static void OpenFromRawScripts()
        {
            _mode = ResponsiveMode.RawScript;
            EditorWindow window = GetWindow(typeof(ResponsiveGUI), false, "ResponsiveGUI");

            window.Show();
        }
コード例 #5
0
 protected override async Task OnAfterRenderAsync(bool firstRender)
 {
     if (firstRender)
     {
         _jsAvailable = true;
         Rectangle?windowRect = await JSRuntime !.InvokeAsync <Rectangle>("FluentUIBaseComponent.getWindowRect");
         foreach (object?item in Enum.GetValues(typeof(ResponsiveMode)))
         {
             if (windowRect.Width <= ResponsiveModeUtils.RESPONSIVE_MAX_CONSTRAINT[(int)item])
             {
                 CurrentMode = (ResponsiveMode)item;
                 break;
             }
         }
         _resizeEventTokenTask = JSRuntime !.InvokeAsync <string>("FluentUIBaseComponent.registerResizeEvent", DotNetObjectReference.Create(this), "OnResizedAsync");
         StateHasChanged();  // we will never have window size until after first render, so re-render after this to update the component with ResponsiveMode info.
     }
     await base.OnAfterRenderAsync(firstRender);
 }
コード例 #6
0
        public virtual Task OnResizedAsync(double windowWidth, double windowHeight)
        {
            ResponsiveMode oldMode = CurrentMode;

            foreach (object?item in Enum.GetValues(typeof(ResponsiveMode)))
            {
                if (windowWidth <= ResponsiveModeUtils.RESPONSIVE_MAX_CONSTRAINT[(int)item])
                {
                    CurrentMode = (ResponsiveMode)item;
                    break;
                }
            }

            if (oldMode != CurrentMode)
            {
                //Debug.WriteLine($"ResponsiveMode: {CurrentMode}");
                StateHasChanged();
            }
            return(Task.CompletedTask);
        }
コード例 #7
0
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (firstRender)
            {
                var windowRect = await jSRuntime !.InvokeAsync <Rectangle>("BlazorFluentUiBaseComponent.getWindowRect");
                foreach (var item in Enum.GetValues(typeof(ResponsiveMode)))
                {
                    if (windowRect.width <= ResponsiveModeUtils.RESPONSIVE_MAX_CONSTRAINT[(int)item])
                    {
                        CurrentMode = (ResponsiveMode)item;
                        break;
                    }
                }
                //Debug.WriteLine($"ResponsiveMode: {CurrentMode}");

                _resizeRegistration = await jSRuntime !.InvokeAsync <string>("BlazorFluentUiBaseComponent.registerResizeEvent", DotNetObjectReference.Create(this), "OnResizedAsync");
                StateHasChanged();  // we will never have window size until after first render, so re-render after this to update the component with ResponsiveMode info.
            }
            await base.OnAfterRenderAsync(firstRender);
        }
コード例 #8
0
 public static CssValue ToMinCssValue(this ResponsiveMode responsiveMode)
 {
     return(RESPONSIVE_MAX_CONSTRAINT[(int)responsiveMode] + 1);
 }