|
<GridEvents ... PdfQueryCellInfoEvent="Pdf_QueryCell" TValue="Transcriptionjobresult" /> |
|
<GridEvents ... OnActionComplete="OnActionComplete" TValue="Transcriptionjobresult" />
public async Task OnActionComplete(ActionEventArgs<Transcriptionjobresult> args)
{
if (args.RequestType.Equals(Action.Delete))
{
//This will be triggered once the OK button in DeleteConfirmation is clicked
//Use your Delete codes here
}
}
|
<SfGrid Id="FileUploadsGrid" @ref="FileUploadsGrid" AllowTextWrap="true"
DataSource="@FileUploads" AllowPaging="true" AllowSorting="true"
AllowFiltering="false"
Toolbar="@(new List<object>()
{ "Delete","Print", "ExcelExport", "PdfExport", "CsvExport","Search",
new ItemModel() {
Text = "Refresh", TooltipText = "Refresh", PrefixIcon = "e-refresh",
Id = "Refresh"
}})"
AllowExcelExport="true" AllowPdfExport="true">
<GridSearchSettings Operator="Operator.Contains" IgnoreCase="true" />
<GridPageSettings PageSize="10" />
<GridEvents PdfQueryCellInfoEvent="FileUploadsGrid_PdfQueryCellInfoEvent"
RowSelected="FileUploadsGrid_RowSelected"
OnActionComplete="FileUploadsGrid_OnActionComplete"
OnToolbarClick="FileUploadsGrid_OnToolbarClick"
TValue="FileInfoModel" />
<GridEditSettings AllowAdding="false" AllowEditing="false" AllowDeleting="true"
ShowDeleteConfirmDialog="true" />
<GridColumns>
<GridColumn Field=@nameof(FileInfoModel.Id) IsPrimaryKey="true" Visible="false" />
<GridColumn HeaderText="Name">
<Template>
@{
var item = (context as FileInfoModel);
@($"{item?.OriginalName}")
}
Template>
GridColumn>
<GridColumn HeaderText="Upload Date">
<Template>
@{
var item = (context as FileInfoModel);
@($"{item?.CreatedDate:G}")
}
Template>
GridColumn>
GridColumns>
<GridTemplates>
<DetailTemplate>............................. GridTemplates>SfGrid>
public async Task FileUploadsGrid_OnActionComplete(ActionEventArgs<FileInfoModel> args)
{
if (args.RequestType.Equals(Action.Delete))
{
var itemToUpdate =
await this.InstaTranscribeDatabaseService.GetFileUpload(SelectedFileInfoModel.Id);
itemToUpdate.status = FileStatus.Deleted;
await this.InstaTranscribeDatabaseService.UpdateFileupload(SelectedFileInfoModel.Id,
itemToUpdate);
await LoadFileUploads();
}
}
public async Task FileUploadsGrid_OnToolbarClick(
Syncfusion.Blazor.Navigations.ClickEventArgs args)
{
if (args.Item.Text == "Excel Export")
{
await this.FileUploadsGrid.ExcelExport();
}
else if (args.Item.Text == "PDF Export")
{
var pdfExportProperties = new PdfExportProperties {IncludeTemplateColumn = true};
await this.FileUploadsGrid.PdfExport(pdfExportProperties);
}
else if (args.Item.Text == "CSV Export")
{
await this.FileUploadsGrid.CsvExport();
}
else if (args.Item.Text == "Refresh")
{
await LoadFileUploads();
}
}
<SfGrid Id="TranscriptionJobResultsGrid" @ref="TranscriptionJobResultsGrid" AllowTextWrap="true"
DataSource="@TranscriptionJobResults" AllowPaging="true" AllowSorting="true"
AllowFiltering="false"
Toolbar="@(new List<object>()
{ "Delete","Print", "ExcelExport", "PdfExport", "CsvExport","Search",
new ItemModel() {
Text = "Refresh", TooltipText = "Refresh", PrefixIcon = "e-refresh",
Id = "Refresh"
}})"
AllowExcelExport="true" AllowPdfExport="true">
<GridSearchSettings Operator="Operator.Contains" IgnoreCase="true" />
<GridPageSettings PageSize="10" />
<GridEvents PdfQueryCellInfoEvent="TranscriptionJobResultsGrid_PdfQueryCellInfoEvent"
RowSelected="TranscriptionJobResultsGrid_RowSelected"
OnActionComplete="TranscriptionJobResultsGrid_OnActionComplete"
OnToolbarClick="TranscriptionJobResultsGrid_OnToolbarClick" TValue="Transcriptionjobresult" />
<GridEditSettings AllowAdding="false" AllowEditing="false" AllowDeleting="true"
ShowDeleteConfirmDialog="true" />
<GridColumns>
<GridColumn Field=@nameof(Transcriptionjobresult.transcriptionjobresultid) IsPrimaryKey="true" Visible="false" />
<GridColumn HeaderText="Name">
<Template>
@{
var item = (context as Transcriptionjobresult);
if (item?.status.HasFlag(TranscriptionJobStatus.Completed) ?? false)
{
rel='nofollow' href="@($"/view-file/{item?.transcriptionjobresultid.ToString()}")">
@($"{item?.Transcriptionjobsetting.jobname}")
}
else
{
@($"{item?.Transcriptionjobsetting.jobname}")
}
}
Template>
GridColumn>
<GridColumn HeaderText="File name">
<Template>
@{
var item = (context as Transcriptionjobresult);
@($"{item?.Transcriptionjobsetting.Fileupload?.actualfilename}")
}
Template>
GridColumn>
<GridColumn HeaderText="Language">
<Template>
@{
var item = (context as Transcriptionjobresult);
@($"{item?.Transcriptionjobsetting.CommaSeperatedFileLanguages}")
}
Template>
GridColumn>
<GridColumn HeaderText="Started Date">
<Template>
@{
var item = (context as Transcriptionjobresult);
@($"{item?.Transcriptionjobsetting.timestamp:G}")
}
Template>
GridColumn>
<GridColumn HeaderText="Status">
<Template>
@{
var item = (context as Transcriptionjobresult);
if (item?.status.HasFlag(TranscriptionJobStatus.Completed) ?? false)
{
if (item?.status.HasFlag(TranscriptionJobStatus.ResultSelected) ?? false)
{
@("Success")
}
else if (item?.status.HasFlag(TranscriptionJobStatus.Failed) ?? false)
{
@("Failed")
}
else if (item?.status.HasFlag(TranscriptionJobStatus.UnknownError) ?? false)
{
@("Error")
}
}
else
{
@("In progress")
}
}
Template>
GridColumn>
GridColumns>
SfGrid>
protected void TranscriptionJobResultsGrid_PdfQueryCellInfoEvent(
PdfQueryCellInfoEventArgs<Transcriptionjobresult> args)
{
if (args.Column.HeaderText == "File name")
{
args.Cell.Value = args.Data?.Transcriptionjobsetting.Fileupload?.actualfilename;
}
else if (args.Column.HeaderText == "Language")
{
args.Cell.Value = args.Data?.Transcriptionjobsetting.CommaSeperatedFileLanguages;
}
else if (args.Column.HeaderText == "Started Date")
{
args.Cell.Value = args.Data?.Transcriptionjobsetting.timestamp;
}
else if (args.Column.HeaderText == "Status")
{
args.Cell.Value = args.Data?.Transcriptionjobsetting.timestamp;
}
}
protected void FileUploadsGrid_OnActionFailure(FailureEventArgs args)
{
logger.LogError(JsonConvert.SerializeObject(args));
}
protected async Task FileUploadsGrid_RowSelected(RowSelectEventArgs<FileInfoModel> args)
{
SelectedFileInfoModel = args.Data;
}protected async Task FileUploadsGrid_OnToolbarClick(
Syncfusion.Blazor.Navigations.ClickEventArgs args)
{
if (args.Item.Text == "Excel Export")
{
await this.FileUploadsGrid.ExcelExport();
}
else if (args.Item.Text == "PDF Export")
{
var pdfExportProperties = new PdfExportProperties {IncludeTemplateColumn = true};
await this.FileUploadsGrid.PdfExport(pdfExportProperties);
}
else if (args.Item.Text == "CSV Export")
{
await this.FileUploadsGrid.CsvExport();
}
else if (args.Item.Text == "Refresh")
{
await LoadFileUploads();
}
}public async Task FileUploadsGrid_OnActionComplete(ActionEventArgs<FileInfoModel> args)
{
if (args.RequestType.Equals(Action.Delete))
{
var itemToUpdate =
await this.InstaTranscribeDatabaseService.GetFileUpload(SelectedFileInfoModel.Id);
itemToUpdate.status = FileStatus.Deleted;
await this.InstaTranscribeDatabaseService.UpdateFileupload(SelectedFileInfoModel.Id,
itemToUpdate);
await LoadFileUploads();
}
}
<SfGrid Id="FileUploadsGrid" @ref="FileUploadsGrid" AllowTextWrap="true"
DataSource="@FileUploads" AllowPaging="true" AllowSorting="true"
AllowFiltering="false"
Toolbar="@(new List<object>()
{ "Delete","Print", "ExcelExport", "PdfExport", "CsvExport","Search",
new ItemModel() {
Text = "Refresh", TooltipText = "Refresh", PrefixIcon = "e-refresh",
Id = "Refresh"
}})"
AllowExcelExport="true" AllowPdfExport="true">
<GridSearchSettings Operator="Operator.Contains" IgnoreCase="true" />
<GridPageSettings PageSize="10" />
<GridEvents PdfQueryCellInfoEvent="FileUploadsGrid_PdfQueryCellInfoEvent"
RowSelected="FileUploadsGrid_RowSelected"
OnActionComplete="FileUploadsGrid_OnActionComplete"
OnToolbarClick="FileUploadsGrid_OnToolbarClick"
OnActionFailure="FileUploadsGrid_OnActionFailure"
TValue="FileInfoModel" />
<GridEditSettings AllowAdding="false" AllowEditing="false" AllowDeleting="true"
ShowDeleteConfirmDialog="true" />
<GridColumns>
<GridColumn Field=@nameof(FileInfoModel.Id) IsPrimaryKey="true" Visible="false" />
<GridColumn HeaderText="Name">
<Template>
@{
var item = (context as FileInfoModel);
@($"{item?.OriginalName}")
}
Template>
GridColumn>
<GridColumn HeaderText="Upload Date">
<Template>
@{
var item = (context as FileInfoModel);
@($"{item?.CreatedDate:G}")
}
Template>
GridColumn>
GridColumns>
<GridTemplates>
<DetailTemplate>
@{
var item = (context as FileInfoModel);
width="100%">
width="30%">
width="30%">
width="30%">
style="font-weight: 500;">Size: @item?.FileSizeInBytes.Bytes().Humanize("MB")
style="font-weight: 500;">Type: @item?.FileType
style="font-weight: 500;">No of audio streams: @item?.NoOfAudioStreams
style="font-weight: 500;">Audio Languages: @item?.AudioLanguages
style="font-weight: 500;">Audio Codec: @item?.AudioCodec
style="font-weight: 500;">Audio length: @(TimeSpan.FromSeconds(item?.AudioLength ?? 0).Humanize(precision:2))
}
DetailTemplate>
GridTemplates>
SfGrid>
|
public void Pdf_QueryCell(PdfQueryCellInfoEventArgs<Transcriptionjobresult> Args)
{
if (Args.Column.HeaderText == "OrderDate")
{
//Do the content customization of template column value here
Args.Cell.Value = Args.Data?.OrderDate.ToString("MM/dd/yyyy");
}
}
|
public class FileInfoModel
{
public Guid Id { get; set; }
public string OriginalName { get; set; }
public string GeneratedName { get; set; }
public long FileSizeInBytes { get; set; }
public decimal Price { get; set; }
public DateTime CreatedDate { get; set; }
public string Status { get; set; }
public bool Eligible => string.Equals(Status, FileInfoStatus.Ready);
public MediaType FileType { get; set; }
public int? NoOfAudioStreams { get; set; }
public double? AudioLength { get; set; }
public string AudioCodec { get; set; }
public int? AudioSampleRate { get; set; }
public string AudioLanguages { get; set; }
public override string ToString()
{
return OriginalName + "~" + GeneratedName;
}
}