Gremlin/Gremlin_BlazorServer/Pages/ProductLines.razor

83 lines
4.8 KiB
Plaintext

@page "/ProductLines"
@using Gremlin_BlazorServer.Services
@using Gremlin_BlazorServer.Data.EntityClasses
@inject GenericController GenericController
@inject ILoadingIndicatorService ApplicationLoadingIndicatorService
<AuthorizeView>
<Authorized Context="auth">
<Div Margin="Margin.Is3"
Border="Border.Dark.OnAll"
Padding="Padding.Is3"
style="box-shadow: 10px 10px #343A40">
<Heading Size="HeadingSize.Is4">ProductLines</Heading>
<Paragraph>
<DataGrid TItem="ProductLine"
Data="@productLines"
SelectedRow="@selectedProductLine"
SelectedRowChanged="@OnSelectedProductLineChanged"
RowInserted="@OnRowInsertedAsync"
RowUpdated="@OnRowUpdatedAsync"
RowRemoved="@OnRowRemovedAsync"
CommandMode="DataGridCommandMode.ButtonRow"
EditMode="DataGridEditMode.Popup"
UseValidation Narrow Editable ShowPager Bordered Hoverable Sortable Filterable Striped Responsive FixedHeader>
<DataGridColumns>
<DataGridCommandColumn NewCommandAllowed="false" EditCommandAllowed="false" DeleteCommandAllowed="false">
<SaveCommandTemplate>
<Button ElementId="btnSave" Type="ButtonType.Submit" 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(ProductLine.ProductLineCode)" Caption="ProductLineCode" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(ProductLine.ProductLineDescription)" Caption="ProductLineDescription" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(ProductLine.DataStatus)" Caption="DataStatus" Filterable Sortable Editable/>
</DataGridColumns>
<ButtonRowTemplate>
<Button Color="Color.Primary" Clicked="context.NewCommand.Clicked">New</Button>
<Button Color="Color.Warning" Disabled="selectedProductLine is null" Clicked="context.EditCommand.Clicked">Edit</Button>
<Button Color="Color.Danger" Disabled="selectedProductLine is null" Clicked="context.DeleteCommand.Clicked">Delete</Button>
<Button Color="Color.Secondary" Clicked="context.ClearFilterCommand.Clicked">Clear Filter</Button>
</ButtonRowTemplate>
</DataGrid>
</Paragraph>
</Div>
@if (selectedProductLine?.Products != null) {
<Div Margin="Margin.Is3"
Border="Border.Dark.OnAll"
Padding="Padding.Is3"
style="box-shadow: 10px 10px #343A40">
<Heading Size="HeadingSize.Is4">Products in PL @selectedProductLine.ProductLineCode</Heading>
<Paragraph>
<DataGrid TItem="Product" Data="@selectedProductLine.Products" Narrow FixedHeader ShowPager Bordered Hoverable Sortable Filterable Striped Responsive>
<DataGridCommandColumn/>
<DataGridColumn Field="@nameof(Product.ProductNumber)" Caption="ProductNumber" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(Product.OptionNumber)" Caption="OptionNumber" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(Product.SapShortDescription)" Caption="SapShortDescription" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(Product.SapLongDescription)" Caption="SapLongDescription" Filterable Sortable Editable/>
<DataGridColumn Field="@nameof(Product.ProductLine.ProductLineCode)" Caption="ProductLineCode" Filterable Sortable Editable/>
</DataGrid>
</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>