kreta/KretaWeb/Areas/TanuloErtekeles/Views/Ertekeles/GridDetail.cshtml
2024-03-13 00:33:46 +01:00

173 lines
No EOL
9.9 KiB
Text

@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Areas.TanuloErtekeles.Controllers
@using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@model ErtekelesDetailModel
@{
var gridName = Model.NamePrefix + BaseTanuloErtekelesController.DetailGridName + Model.ID;
var javascriptClassName = gridName + "Helper";
var fotargyAltargyGridName = Model.NamePrefix + ErtekelesController.FotargyAltargyGridName + Model.ID;
var ertekelesDetailTooltipClassName = "tanuloErtekelesDetailKendoTooltip";
var ertekelesDetailTooltipDataAttributeName = "ertekelestext";
var ertekelesDetailTooltipTemplateId = "kendoTooltip-ertekelesDetailKendoTooltipTemplate";
}
<script>
var @javascriptClassName = (function () {
var gridDetailHelper = function () { };
gridDetailHelper.ertekelesDetailDataBoundAdditionalFunction = function () {
TanuloErtekelesHelper.setDetailGridRowAthuzas("@gridName");
var tanuloErtekelesKendoTooltip = $("." + "@ertekelesDetailTooltipClassName");
KretaTooltipHelper.setTooltip(tanuloErtekelesKendoTooltip, "#" + "@ertekelesDetailTooltipTemplateId");
}
gridDetailHelper.aktivTanuloErtekeles = function (rowData) {
var isLezartOsztalyCsoport = ErtekelesHelper.isLezartOsztalyCsoport();
var result = !rowData.Torolt_BOOL && rowData.Modosithato_BOOL && rowData.ModosithatoByNaplozaras && !isLezartOsztalyCsoport;
return result;
}
gridDetailHelper.fotargyAltargyDataBoundAdditionalFunction = function () {
var tanuloErtekelesKendoTooltip = $(".tanuloErtekelesKendoTooltip_" + "@Model.ID");
var toolTipTemplateSelector = "#kendoTooltip-fotargyAltargyErtekelesTemplate_" + "@Model.ID";
KretaTooltipHelper.setTooltip(tanuloErtekelesKendoTooltip, toolTipTemplateSelector);
tanuloErtekelesKendoTooltip.click(function () {
var modosithato = $(this).attr("data-modosithato");
var isLezartOsztalyCsoport = ErtekelesHelper.isLezartOsztalyCsoport();
if (CommonUtils.parseBool(modosithato) && !isLezartOsztalyCsoport) {
var ertekelesId = $(this).attr("data-tanuloertekelesid");
if (!CommonUtils.isNullOrEmpty(ertekelesId)) {
var data = { Id: ertekelesId };
KretaTooltipHelper.hidaAllTooltips();
ErtekelesHelper.openModifyErtekelesWindow(data);
}
}
});
$("#FotargyAltargy_" + @Model.ID + "ErtekelesGrid td.atlag").each(function () {
var atlagText = $(this).html();
if (!CommonUtils.isNullOrEmpty(atlagText)) {
var atlag = parseFloat(atlagText);
if (atlag < 2) {
$(this).html("<span class='spanAtlagFigyelmeztetes'>" + atlagText + "</span>");
}
}
});
}
return gridDetailHelper;
})();
</script>
@if (Model.HasFotargyAltargy)
{
<div>
@(
Html.KretaGrid<TanuloErtekelesByTanuloGridModel>(
fotargyAltargyGridName,
new GridApiUrl("ErtekelesApi", "GetFotargyAltargyErtekelesGrid", new Dictionary<string, string>
{
{ "TanuloId", Model.ID },
{ "TantargyId", Model.TantargyId.ToString() },
{ "Datum", Model.Datum != null ? Model.Datum.ToString() : null },
{ "FeladatKategoriaId", Model.FeladatKategoriaId.ToString() }
}),
dataBoundAdditionalFunction: javascriptClassName + ".fotargyAltargyDataBoundAdditionalFunction();",
allowFilterable: false,
allowSorting: false,
allowScrolling: false,
allowPaging: false,
pageSizes: null,
useToolBar: false
)
.TableHtmlAttributes(new { @class = "TanuloErtekelesGrid" })
.Columns(columns =>
{
columns.Bound(m => m.TantargyNev).HeaderTemplate(
@<text>
<span class="k-link">
@( TanuloErtekelesResource.FotargyAltargy)
</span>
</text>);
columns.Bound(m => m.Szeptember).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Oktober).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.November).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.December).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.JanuarI).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.I).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap kozepre" });
columns.Bound(m => m.JanuarII).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Februar).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Marcius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Aprilis).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Majus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.Junius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" });
columns.Bound(m => m.II).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap kozepre" });
columns.Bound(m => m.Atlag).Encoded(false).HeaderHtmlAttributes(new { @class = "atlag" }).HtmlAttributes(new { @class = "atlag kozepre" }).Hidden(!Model.IsJegyekAtlagaMegjelenik).Format("{0:0.00}");
columns.Template(@<text>&nbsp;</text>).HeaderTemplate(@<text>&nbsp;</text>).Width(300); @*NOTE: ez egy blank Column, hogy a design ne csússzon szét*@
})
)
</div>
}
@Html.KretaTooltipTemplate("kendoTooltip-fotargyAltargyErtekelesTemplate_" + Model.ID,
@"<div class='kendoTooltip' style='#=target.data('tooltipstyle')#'>
<div class='tooltipTanuloErtekeles'>#:target.data('tanuloertekeles')#</div>
<p class='tooltipText'>#:target.data('datum')#</p>
<p class='tooltipText'>#:target.data('tipusmod')#</p>
<p class='tooltipText'>#:target.data('ertekelestema')#</p>
<p class='tooltipText'>#:target.data('suly')#</p>
<p class='tooltipText'>#:target.data('ertekelonyomtatasinev')#</p>
</div>")
<div>
@{
var gridApiUrl = new GridApiUrl("ErtekelesApi", "GetErtekelesDetailGrid", new Dictionary<string, string>
{
{ "TanuloId", Model.ID },
{ "TantargyId", Model.TantargyId.ToString() },
{ "Datum", Model.Datum != null ? Model.Datum.ToString() : null },
{ "FeladatKategoriaId", Model.FeladatKategoriaId.ToString() }
});
var rowFunctionList = new List<RowFunction>
{
new RowFunction {NameResourceId = 116 /*Módosítás*/, ClientAction = "ErtekelesHelper.openEditWindow", IconEnum = GridRowFunctionIconEnum.Modositas},
new RowFunction {NameResourceId = 117 /*Törlés*/, ClientAction = "ErtekelesHelper.deleteConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles}
};
}
@(
Html.KretaGrid<ErtekelesDetailGridModel>(
gridName,
gridApiUrl,
useToolBar: false,
allowPaging: false,
pageSizes: null,
dataBoundAdditionalFunction: javascriptClassName + ".ertekelesDetailDataBoundAdditionalFunction();"
)
.TableHtmlAttributes(new { @class = "TanuloErtekelesDetailGrid" })
.Columns(columns =>
{
columns.Bound(c => c.Datum).Width("90px").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.ErtekeloNyomtatasiNev).Width("12%").SetDisplayPropertyWithToolip("ErtekeloNyomtatasiNev");
columns.Bound(c => c.TipusId_DNAME).Width("12%").SetDisplayPropertyWithToolip("TipusId_DNAME");
columns.Bound(c => c.TipusId).Visible(false);
columns.Bound(c => c.ErtekelesModId_DNAME).Width("12%").SetDisplayPropertyWithToolip("ErtekelesModId_DNAME");
columns.Bound(c => c.RogzitesDatum).Width("90px").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.ErtekelesText).SetHtmlDisplayPropertyWithToolip("ErtekelesText", ertekelesDetailTooltipClassName, ertekelesDetailTooltipDataAttributeName, "MagatartasSzorgalomSortores").HeaderHtmlAttributes(new { @class = "headerWidthFix" }).Sortable(false);
columns.Bound(c => c.ErtekelesTema).SetDisplayPropertyWithToolip("ErtekelesTema").HeaderHtmlAttributes(new { @class = "headerWidthFix" });
})
.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".aktivTanuloErtekeles")
)
</div>
@Html.KretaTooltipTemplate(ertekelesDetailTooltipTemplateId,
@"<div class='kendoTooltip'>
<p class='tooltipText'>#=target.data('" + ertekelesDetailTooltipDataAttributeName + @"')#</p>
</div>")