Skip to content

Commit

Permalink
Fixed #558
Browse files Browse the repository at this point in the history
  • Loading branch information
MarvinHo64 committed Sep 4, 2024
1 parent de6334b commit e113482
Showing 1 changed file with 86 additions and 93 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@using System.Diagnostics.CodeAnalysis
@using Microsoft.Extensions.Localization
@using Presentation.Components.Forms;
@using Presentation.Components.Forms
@using Presentation.PresentationLogic.API
@using Presentation.PresentationLogic.LearningContent
@using Presentation.PresentationLogic.LearningContent.AdaptivityContent
Expand All @@ -12,114 +12,107 @@
@using Presentation.PresentationLogic.LearningElement
@using Presentation.PresentationLogic.LearningWorld
@using Shared.Adaptivity

<div class="relative w-[800px] h-[520px] flex flex-col mx-4">
<MudText Class="px-2 mb-1 text-sm">@Localizer["Reference.Text"]</MudText>
<div class="border-adlerdarkblue border-4 rounded-lg m-2">

<MudTabs @ref="_tabs">
<MudTabPanel Disabled="@(ExistingAction is ContentReferenceActionViewModel)" @ref="_elementPanel" Text="@Localizer["Element.Text"]"
Class="tab-panel-element relative text-adlertextgrey bg-adlergrey-100 text-sm font-bold normal-case">
<!-- Element reference -->
<MudForm Class="bg-white border-t-2 border-adlergrey-100" @ref="_form">
<div class="p-2 mb-4">
<MudText Class="cursor-default font-bold text-sm pl-2">@Localizer["Note.Label.Text"]</MudText>
<div class="border-4 border-adlergrey-100 rounded-md m-1.5">
<MudTextField Variant="Variant.Outlined"
Class="shadow-none m-0"
T="string"
Placeholder="@Localizer["Comment.Label.Text.Placeholder"]"
@bind-Value="_comment"
Lines="2"
Required="false"/>
</div>

<MudTabs @ref="_tabs">
<MudTabPanel Disabled="@(ExistingAction is ContentReferenceActionViewModel)" @ref="_elementPanel" Text="@Localizer["Element.Text"]"
Class="tab-panel-element relative text-adlertextgrey bg-adlergrey-100 text-sm font-bold normal-case">
<!-- Element reference -->
<MudForm Class="bg-white border-t-2 border-adlergrey-100" @ref="_form">
<div class="p-2 mb-4">
<MudText Class="cursor-default font-bold text-sm pl-2">@Localizer["Note.Label.Text"]</MudText>
<div class="border-4 border-adlergrey-100 rounded-md m-1.5">
<MudTextField Variant="Variant.Outlined"
Class="shadow-none m-0"
T="string"
Placeholder="@Localizer["Comment.Label.Text.Placeholder"]"
@bind-Value="_comment"
Lines="2"
Required="false"/>
</div>
<div class="p-2">
<div class="flex flex-row gap-1">
<MudText Class="cursor-default font-bold text-sm pl-2">@Localizer["Reference.Element.Label.Text"]</MudText>
<MudTooltip Placement="Placement.Right" Class="w-96 p-4 bg-adlerdarkblue-200 shadow-xl text-start leading-relaxed" Text="@Localizer["Reference.Element.Info.Text"]">
<MudIcon Size="Size.Small" Icon="@Icons.Material.Filled.Info" Class="text-adlergrey hover:text-adlerdarkblue"></MudIcon>
</MudTooltip>
</div>
<GridSelect T="ILearningElementViewModel"
Elements="LearningElements"
@bind-Value="_learningElement"
Required="true"
RequiredError="@Localizer["Element.RequiredError.Text"]"
FilterFuncSearchableStrings="element => new[] { element.Name }">
<ElementTemplate>
<div>@context.Name</div>
</ElementTemplate>
</GridSelect>
</div>
<div class="p-2">
<div class="flex flex-row gap-1">
<MudText Class="cursor-default font-bold text-sm pl-2">@Localizer["Reference.Element.Label.Text"]</MudText>
<MudTooltip Placement="Placement.Right" Class="w-96 p-4 bg-adlerdarkblue-200 shadow-xl text-start leading-relaxed" Text="@Localizer["Reference.Element.Info.Text"]">
<MudIcon Size="Size.Small" Icon="@Icons.Material.Filled.Info" Class="text-adlergrey hover:text-adlerdarkblue"></MudIcon>
</MudTooltip>
</div>
</MudForm>
</MudTabPanel>
<MudTabPanel Disabled="@(ExistingAction is ElementReferenceActionViewModel)" @ref="_contentPanel" Text="@Localizer["Content.Text"]"
Class="tab-panel-content relative text-adlertextgrey bg-adlergrey-100 text-sm break-all font-bold normal-case">
<!-- Content reference -->
<MudForm Class="bg-white border-t-2 border-adlergrey-100" @ref="_form">
<div class="p-2 mb-4">
<MudText Class="font-bold text-sm pl-2">@Localizer["Note.Label.Text"]</MudText>
<div class="border-4 border-adlergrey-100 rounded-md m-1.5">
<MudTextField T="string"
@bind-Value="_comment"
Placeholder="@Localizer["Comment.Label.Text.Placeholder"]"
Lines="2"
Required="false"
Class="shadow-none m-0"
Variant="Variant.Outlined"/>
</div>
<GridSelect T="ILearningElementViewModel"
Elements="LearningElements.OrderBy(x => x.Name, StringComparer.OrdinalIgnoreCase)"
@bind-Value="_learningElement"
Required="true"
RequiredError="@Localizer["Element.RequiredError.Text"]"
FilterFuncSearchableStrings="element => new[] { element.Name }">
<ElementTemplate>
<div>@context.Name</div>
</ElementTemplate>
</GridSelect>
</div>
</MudForm>
</MudTabPanel>
<MudTabPanel Disabled="@(ExistingAction is ElementReferenceActionViewModel)" @ref="_contentPanel" Text="@Localizer["Content.Text"]"
Class="tab-panel-content relative text-adlertextgrey bg-adlergrey-100 text-sm break-all font-bold normal-case">
<!-- Content reference -->
<MudForm Class="bg-white border-t-2 border-adlergrey-100" @ref="_form">
<div class="p-2 mb-4">
<MudText Class="font-bold text-sm pl-2">@Localizer["Note.Label.Text"]</MudText>
<div class="border-4 border-adlergrey-100 rounded-md m-1.5">
<MudTextField T="string"
@bind-Value="_comment"
Placeholder="@Localizer["Comment.Label.Text.Placeholder"]"
Lines="2"
Required="false"
Class="shadow-none m-0"
Variant="Variant.Outlined"/>
</div>
<div class="p-2">
<div class="flex flex-row gap-1">
<MudText Class="font-bold text-sm pl-2">@Localizer["Reference.Content.Label.Text"]</MudText>
<MudTooltip Placement="Placement.Right" Class="w-96 p-4 bg-adlerdarkblue-200 shadow-xl text-start leading-relaxed" Text="@Localizer["Reference.Content.Info.Text"]">
<MudIcon Size="Size.Small" Icon="@Icons.Material.Filled.Info" Class="text-adlergrey hover:text-adlerdarkblue"></MudIcon>
</MudTooltip>
</div>
<GridSelect T="ILearningContentViewModel"
Elements="LearningContents"
@bind-Value="_learningContent"
Required="true"
RequiredError="@Localizer["Content.RequiredError.Text"]"
FilterFuncSearchableStrings="content => new[] { content.Name }">
<ElementTemplate>
<MudText Class="text-adlertextgrey text-xs font-bold break-all leading-none truncate">@context.Name</MudText>
</ElementTemplate>
</GridSelect>
</div>
<div class="p-2">
<div class="flex flex-row gap-1">
<MudText Class="font-bold text-sm pl-2">@Localizer["Reference.Content.Label.Text"]</MudText>
<MudTooltip Placement="Placement.Right" Class="w-96 p-4 bg-adlerdarkblue-200 shadow-xl text-start leading-relaxed" Text="@Localizer["Reference.Content.Info.Text"]">
<MudIcon Size="Size.Small" Icon="@Icons.Material.Filled.Info" Class="text-adlergrey hover:text-adlerdarkblue"></MudIcon>
</MudTooltip>
</div>
</MudForm>
</MudTabPanel>
</MudTabs>
</div>
</div>
<div class="flex justify-end items-center">
<MudButton Class="btn-standard sticky m-6"
@onclick="SubmitAsync">
@Localizer["Button.Submit.Text"]
</MudButton>
<GridSelect T="ILearningContentViewModel"
Elements="LearningContents.OrderBy(x => x.Name, StringComparer.OrdinalIgnoreCase)"
@bind-Value="_learningContent"
Required="true"
RequiredError="@Localizer["Content.RequiredError.Text"]"
FilterFuncSearchableStrings="content => new[] { content.Name }">
<ElementTemplate>
<MudText Class="text-adlertextgrey text-xs font-bold break-all leading-none truncate">@context.Name</MudText>
</ElementTemplate>
</GridSelect>
</div>
</MudForm>
</MudTabPanel>
</MudTabs>
</div>
</div>
<div class="flex justify-end items-center">
<MudButton Class="btn-standard sticky m-6"
@onclick="SubmitAsync">
@Localizer["Button.Submit.Text"]
</MudButton>
</div>


@code {

[Inject, AllowNull]
internal IPresentationLogic PresentationLogic { get; set; }
[Inject, AllowNull] internal IPresentationLogic PresentationLogic { get; set; }

[Inject, AllowNull]
internal ILearningWorldPresenter LearningWorldPresenter { get; set; }
[Inject, AllowNull] internal ILearningWorldPresenter LearningWorldPresenter { get; set; }

[Inject, AllowNull]
internal IStringLocalizer<CreateEditReferenceActionDialog> Localizer { get; set; }
[Inject, AllowNull] internal IStringLocalizer<CreateEditReferenceActionDialog> Localizer { get; set; }

[Parameter]
public IAdaptivityActionViewModel? ExistingAction { get; set; }
[Parameter] public IAdaptivityActionViewModel? ExistingAction { get; set; }

[Parameter, EditorRequired, AllowNull]
public IAdaptivityQuestionViewModel Question { get; set; }
[Parameter, EditorRequired, AllowNull] public IAdaptivityQuestionViewModel Question { get; set; }

[CascadingParameter, AllowNull]
public MudDialogInstance DialogInstance { get; set; }
[CascadingParameter, AllowNull] public MudDialogInstance DialogInstance { get; set; }

private IEnumerable<ILearningElementViewModel> LearningElements =>
LearningWorldPresenter.LearningWorldVm!.AllLearningElements
Expand Down Expand Up @@ -202,6 +195,6 @@
FileContentViewModel fileContent => LearningContents.OfType<FileContentViewModel>().SingleOrDefault(fc => fc.Equals(fileContent)),
LinkContentViewModel question => LearningContents.OfType<LinkContentViewModel>().SingleOrDefault(q => q.Equals(question)),
_ => throw new ArgumentOutOfRangeException(nameof(actionContent), "Content must be File or Link")
};
};

}

0 comments on commit e113482

Please sign in to comment.