Gremlin/Gremlin_BlazorServer/Pages/Opportunities.razor

106 lines
5.7 KiB
Plaintext

@page "/Opportunities"
@using Gremlin_BlazorServer.Data.EntityClasses
@inherits LayoutComponentBase
@inject ILoadingIndicatorService ApplicationLoadingIndicatorService
<AuthorizeView>
<Authorized Context="_">
<Div Margin="Margin.Is3"
Border="Border.Dark.OnAll"
Padding="Padding.Is3"
style="box-shadow: 10px 10px #343A40">
<Heading Size="HeadingSize.Is4">Opportunities</Heading>
<Paragraph>
<DataGrid TItem="Opportunity"
Data="@opportunities"
SelectedRow="@selectedOpportunity"
SelectedRowChanged="@OnSelectedOpportunityChanged"
RowInserted="@OnRowInsertedAsync"
RowUpdated="@OnRowUpdatedAsync"
RowRemoved="@OnRowRemovedAsync"
CommandMode="DataGridCommandMode.ButtonRow"
EditMode="DataGridEditMode.Popup"
UseValidation Narrow Editable ShowPager Hoverable Sortable Filterable Striped Responsive>
<DataGridColumns>
<DataGridCommandColumn NewCommandAllowed="false" EditCommandAllowed="false" DeleteCommandAllowed="false">
<SaveCommandTemplate>
<Button ElementId="btnSave" PreventDefaultOnSubmit Color="Color.Primary" Clicked="context.Clicked">@context.LocalizationString</Button>
</SaveCommandTemplate>
<CancelCommandTemplate>
<Button ElementId="btnCancel" Color="Color.Secondary" Clicked="context.Clicked">@context.LocalizationString</Button>
</CancelCommandTemplate>
</DataGridCommandColumn>
<DataGridColumn Field="@nameof(Opportunity.OpportunityId)" Caption="OpportunityId" Filterable Sortable/>
@* <DataGridColumn Field="@nameof(Opportunity.OpportunityName)" Caption="OpportunityName" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.Street)" Caption="Street" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.Zip)" Caption="Zip" Filterable Sortable Editable> *@
@* <EditTemplate> *@
@* <NumericEdit TValue="uint" Value="Convert.ToUInt32(context.CellValue)" ValueChanged="v => context.CellValue = v"/> *@
@* </EditTemplate> *@
@* </DataGridColumn> *@
@* <DataGridColumn Field="@nameof(Opportunity.City)" Caption="City" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.PhoneNumber)" Caption="PhoneNumber" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.EMail)" Caption="EMail" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.FaxNumber)" Caption="FaxNumber" Filterable Sortable Editable/> *@
@* *@
@* <DataGridColumn Field="@nameof(Opportunity.Webpage)" Caption="Webpage" Filterable Sortable Editable/> *@
<DataGridColumn Field="@nameof(Opportunity.SapOpportunityNumber)" Caption="SapOpportunityNumber" Filterable Sortable Editable>
<EditTemplate>
<NumericEdit TValue="uint" Value="Convert.ToUInt32(context.CellValue)" ValueChanged="v => context.CellValue = v"/>
</EditTemplate>
</DataGridColumn>
<DataGridColumn Field="@nameof(Opportunity.DataModificationDate)" Caption="DataModificationDate" Filterable Sortable/>
</DataGridColumns>
<ButtonRowTemplate>
<Button Color="Color.Primary" Clicked="context.NewCommand.Clicked">New</Button>
<Button Color="Color.Warning" Disabled="selectedOpportunity is null" Clicked="context.EditCommand.Clicked">Edit</Button>
<Button Color="Color.Danger" Disabled="selectedOpportunity is null" Clicked="context.DeleteCommand.Clicked">Delete</Button>
<Button Color="Color.Secondary" Clicked="context.ClearFilterCommand.Clicked">Clear Filter</Button>
</ButtonRowTemplate>
</DataGrid>
</Paragraph>
</Div>
<Div Margin="Margin.Is3"
Border="Border.Dark.OnAll"
Padding="Padding.Is3"
style="box-shadow: 10px 10px #343A40">
<Paragraph>
<Button Color="Color.Primary" Clicked="@OnRemoveDublicates">Remove Dublicates</Button>
</Paragraph>
<Heading Size="HeadingSize.Is6">Import Opportunities from TSV</Heading>
<Paragraph>
<Field>
<FileEdit Filter=".csv" Changed="@OnImportOpportunities"/>
</Field>
</Paragraph>
</Div>
</Authorized>
<NotAuthorized>
<Div Margin="Margin.Is3"
Border="Border.Dark.OnAll"
Padding="Padding.Is3"
style="box-shadow: 10px 10px #343A40">
<Heading Size="HeadingSize.Is3">Authentication Failure!</Heading>
<Paragraph>You're not signed in. Please click on the upper right to either register or log in.</Paragraph>
</Div>
</NotAuthorized>
</AuthorizeView>