Esempio n. 1
0
        internal override async Task Changed(bool e)
        {
            if (!_isInitialized)
            {
                return;
            }
            OnChanged?.Invoke(e);
            BSModalEvent = new BSModalEvent()
            {
                Target = this
            };
            if (e)
            {
                if (!IsInline)
                {
                    _ = await _jsRuntime.InvokeAsync <string>("blazorStrap.modal.open", Me.Id).ConfigureAwait(false);

                    _ = await _jsRuntime.InvokeAsync <string>("blazorStrap.modal.initOnEscape", Me.Id).ConfigureAwait(false);
                }
                _onEscapeCallback += OnEscapeCallback;
                //await BlazorStrapInterop.ModalEscapeKey(this);
                new Task(async() =>
                {
                    _toggleModel = true;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                    await Task.Delay(300).ConfigureAwait(false);
                    _toggleShow = e;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                }).Start();
                await ShowEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
            }
            else
            {
                new Task(async() =>
                {
                    _toggleShow = e;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                    await Task.Delay(300).ConfigureAwait(false);
                    _toggleModel = false;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                }).Start();
                await HideEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);

                if (!IsInline)
                {
                    _onEscapeCallback -= OnEscapeCallback;
                    _ = await _jsRuntime.InvokeAsync <string>("blazorStrap.modal.close", Me.Id).ConfigureAwait(false);
                }
                //await BlazorStrapInterop.RemoveBodyClass("modal-open");
            }
        }
Esempio n. 2
0
        internal override async Task Changed(bool e)
        {
            if (!_isInitialized)
            {
                return;
            }
            if (!DisableAnimations)
            {
                _drawing = true;
                await new BlazorStrapInterop(JSRuntime).AddEventAnimationEnd(MyRef);
            }
            else
            {
                _canShow = true;
                return;
            }
            BSModalEvent = new BSModalEvent()
            {
                Target = this
            };
            if (e)
            {
                await new BlazorStrapInterop(JSRuntime).AddBodyClass("modal-open");
                if (!IgnoreEscape)
                {
                    await new BlazorStrapInterop(JSRuntime).ModalEscapeKey();
                    BlazorStrapInterop.OnEscapeEvent += OnEscape;
                }
                new Task(async() =>
                {
                    await Task.Delay(300).ConfigureAwait(false);
                    _canShow = true;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                }).Start();
                await ShowEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
            }
            else
            {
                await new BlazorStrapInterop(JSRuntime).RemoveClass(MyRef, "show");
                new Task(async() =>
                {
                    await Task.Delay(300).ConfigureAwait(false);
                    await new BlazorStrapInterop(JSRuntime).RemoveBodyClass("modal-open");
                }).Start();

                await HideEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
            }
        }
        internal override async Task Changed(bool e)
        {
            if (!_isInitialized)
            {
                return;
            }

            BSModalEvent = new BSModalEvent()
            {
                Target = this
            };
            if (e)
            {
                await new BlazorStrapInterop(JSRuntime).AddBodyClass("modal-open");
                if (!IgnoreEscape)
                {
                    //TODO: This sucks make it better
                    await new BlazorStrapInterop(JSRuntime).ModalEscapeKey();
                    BlazorStrapInterop.OnEscapeEvent += OnEscape;
                }
                new Task(async() =>
                {
                    _toggleModel = true;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                    await Task.Delay(300).ConfigureAwait(false);
                    _toggleShow = e;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                }).Start();
                await ShowEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
            }
            else
            {
                new Task(async() =>
                {
                    _toggleShow = e;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                    await Task.Delay(300).ConfigureAwait(false);
                    _toggleModel = false;
                    await InvokeAsync(StateHasChanged).ConfigureAwait(false);
                }).Start();
                await HideEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);

                await new BlazorStrapInterop(JSRuntime).RemoveBodyClass("modal-open");
            }
        }
Esempio n. 4
0
 internal override void Changed(bool e)
 {
     BSModalEvent = new BSModalEvent()
     {
         Target = this
     };
     if (e)
     {
         ShowEvent.InvokeAsync(BSModalEvent);
         EventQue.Add(ShownEvent);
     }
     else
     {
         Closed = true;
         HideEvent.InvokeAsync(BSModalEvent);
         EventQue.Add(HiddenEvent);
     }
 }
Esempio n. 5
0
 private async Task OnAnimationEnd(string id)
 {
     BSModalEvent = new BSModalEvent()
     {
         Target = this
     };
     if (id != MyRef.Id)
     {
         await new BlazorStrapInterop(JSRuntime).RemoveEventAnimationEnd(MyRef);
         if (IsOpen ?? false)
         {
             await ShownEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
         }
         else
         {
             await HiddenEvent.InvokeAsync(BSModalEvent).ConfigureAwait(false);
         }
         _canShow = IsOpen ?? false;
         _drawing = false;
         await InvokeAsync(StateHasChanged).ConfigureAwait(false);
     }
 }