private async Task OpenMetadataDetailsModalTemplate(Metadata metadata)
        {
            var templateOptions = new ViewModels.MetadataDetailsViewModel
            {
                Metadata = metadata
            };

            var modalConfig = new ModalOptions();

            modalConfig.Title          = "Metadata Preview";
            modalConfig.Width          = "90%";
            modalConfig.DestroyOnClose = true;
            modalConfig.OnCancel       = async(e) =>
            {
                await metadataDetailsModalRef.CloseAsync();
            };
            modalConfig.OnOk = async(e) =>
            {
                await metadataDetailsModalRef.CloseAsync();
            };

            modalConfig.AfterClose = () =>
            {
                InvokeAsync(StateHasChanged);

                return(Task.CompletedTask);
            };

            metadataDetailsModalRef = await ModalService
                                      .CreateModalAsync <MetadataDetailsModal, ViewModels.MetadataDetailsViewModel>(
                modalConfig, templateOptions);
        }
        private async Task OpenMetadataDetailsModalTemplate(CatalogVariable catalogVariable)
        {
            var metadata = State.Catalog.Metadatas.FirstOrDefault(m =>
                                                                  (m.Dataset.Zone == catalogVariable.Zone) &&
                                                                  (m.Dataset.Project == catalogVariable.ProjectName) &&
                                                                  (m.Dataset.Name == catalogVariable.DatasetName));

            if (metadata == null)
            {
                return;
            }

            var templateOptions = new ViewModels.MetadataDetailsViewModel
            {
                Metadata = metadata
            };

            var modalConfig = new ModalOptions();

            modalConfig.Title          = "Metadata Preview";
            modalConfig.Width          = "90%";
            modalConfig.DestroyOnClose = true;
            modalConfig.OnCancel       = async(e) =>
            {
                await metadataDetailsModalRef.CloseAsync();
            };
            modalConfig.OnOk = async(e) =>
            {
                await metadataDetailsModalRef.CloseAsync();
            };

            modalConfig.AfterClose = () =>
            {
                InvokeAsync(StateHasChanged);

                return(Task.CompletedTask);
            };

            metadataDetailsModalRef = await ModalService
                                      .CreateModalAsync <MetadataDetailsModal, ViewModels.MetadataDetailsViewModel>(
                modalConfig, templateOptions);
        }