kreta/KretaWeb/Areas/Feljegyzes/Views/Beirasok/Index.cshtml
2024-03-13 00:33:46 +01:00

345 lines
No EOL
14 KiB
Text

@using Kreta.Enums
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model FeljegyzesekSearchModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string startPopupFormName = BaseBeirasokController.StartPopupFormName;
string startPopupId = BaseBeirasokController.StartPopupId;
string gridName = BaseBeirasokController.GridName;
string newModifyPopupName = BaseBeirasokController.NewModifyPopupName;
string newModifyFormName = BaseBeirasokController.NewModifyFormName;
}
@using (Html.KretaForm("searchForm", new Dictionary<string, object> { { "style", "display:none;" } }))
{
@Html.HiddenFor(m => m.CsoportIdSearch)
}
@{
var clientTemplateUrl = Url.Action("BeirasokReszletekGrid", Model.ControllerName, new { area = "Feljegyzes" });
var rowFunctionList = new List<RowFunction>
{
new RowFunction {Name = CommonResource.Uj, ClientAction = "BeirasokHelper.openNewWindow", IconEnum = GridRowFunctionIconEnum.Uj},
};
var functionCommandList = new List<FunctionCommand>();
if (!Model.IsNaploFeljegyzes)
{
functionCommandList.Add(new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "BeirasokHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed" });
}
functionCommandList.Add(new FunctionCommand { Classes = "beirasokInfoText clearFunctionCommand" });
var grid = Html.KretaGrid<BeirasokGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetBeirasokGrid"),
dataBoundAdditionalFunction: "BeirasokHelper.dataBoundAdditionalFunction();",
clientTemplate: "beirasokDetailGrid-template",
clientTemplateUrl: clientTemplateUrl,
clientTemplateWholeDataRow: true,
allowFilterable: false,
dataParameterFunction: "searchForm",
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.TableHtmlAttributes( new { @class = "BeirasokGrid" })
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).HeaderHtmlAttributes(new { @class = "nevWidth" }).ClientTemplate(@"
<a class='kendoTooltip beirasokTanuloNevKendoTooltip gridLinkButton'
data-tanuloid='#: TanuloId #'
data-tanulonev='#: TanuloNev #'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
columns.Bound(m => m.Szeptember).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Oktober).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.November).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.December).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarI).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarII).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Februar).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Marcius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Aprilis).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Majus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Junius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Julius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Augusztus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, functionCommandList)
.AutoBind(true);
}
<div>
@(grid)
</div>
@Html.KretaGridTemplate("beirasokDetailGrid-template")
@Html.KretaTooltipTemplate("kendoTooltip-feljegyzesTemplate",
@"<div class='kendoTooltip' style='#=target.data('szinezes')#'>
<table>
<tr>
<td style='padding-right: 5px'><b>Dátum:</b></td>
<td style='color: initial'>#:target.data('datum')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Típus:</b></td>
<td style='color: initial'>#:target.data('tipus')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tanár:</b></td>
<td style='color: initial'>#:target.data('feljegyzoneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Cím:</b></td>
<td style='color: initial'>#:target.data('targy')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tartalom:</b></td>
<td style='color: initial'>#=target.data('tartalom')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-beirasokTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
<script type="text/javascript">
var BeirasokHelper = (function () {
var beirasokHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
var startModel = null;
var gridName = "@gridName";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var currentOsztalyId = 0;
var currentTanuloNev;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", Model.ControllerName, new {area = "Feljegyzes" })",
OpenNewModifyPopup: "@Url.Action("OpenNewModifyPopup", Model.ControllerName, new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "SaveBeiras"})",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "DeleteBeiras" })"
};
beirasokHelper.openStartWindow = function () {
if (!CommonUtils.isNull(startModel)) {
startModel = null;
KretaGridHelper.clearGridData(gridName);
}
$(".beirasokInfoText").html("");
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.Beirasok)";
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.startTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
var osztalyText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").text();
currentOsztalyId = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").value();
if (!CommonUtils.isNullOrEmpty(osztalyText)) {
$(".beirasokInfoText").html(kendo.htmlEncode(osztalyText) + " @(FeljegyzesekResource.Beirasok)".toLowerCase());
}
$("#CsoportIdSearch").val(startModel.OsztalyCsoportId);
KretaGridHelper.refreshGrid(gridName);
KretaWindowHelper.destroyWindow(startPopupId);
}
}
beirasokHelper.dataBoundAdditionalFunction = function () {
var feljegyzesKendoTooltip = $(".feljegyzesKendoTooltip");
feljegyzesKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(feljegyzesKendoTooltip, "#kendoTooltip-feljegyzesTemplate");
feljegyzesKendoTooltip.each(function () {
var modosithato = $(this).attr("data-modosithato");
if (CommonUtils.parseBool(modosithato)) {
setKendoTooltipClick($(this));
}
});
var tanuloNevKendoTooltip = $(".beirasokTanuloNevKendoTooltip");
tanuloNevKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-beirasokTanuloNevTemplate");
setKendoTooltipClick(tanuloNevKendoTooltip);
}
function setKendoTooltipClick(kendoTooltip) {
kendoTooltip.click(function () {
var tanuloId = $(this).attr("data-tanuloid");
var tanuloNev = $(this).attr("data-tanulonev");
var tipusId = parseInt($(this).attr("data-tipusId"));
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
var data = {
TanuloId: tanuloId,
TanuloNev: tanuloNev,
TipusId: tipusId
};
var feljegyzesId = $(this).attr("data-feljegyzesid");
if (!CommonUtils.isNullOrEmpty(feljegyzesId)) {
data.ID = feljegyzesId;
} else {
data.ID = null;
}
beirasokHelper.openEditorPopupByTipus(data);
}
});
}
beirasokHelper.openNewWindow = function (data) {
data.ID = null;
beirasokHelper.openEditorPopupByTipus(data);
}
beirasokHelper.openEditorPopupByTipus = function (data) {
var tipusId = data.TipusId;
if (tipusId === parseInt("@((int)EsemenyTipusEnum.ElektronikusUzenet)")) {
alert("not implemented elektronikus üzenet popup hívás");
} else if (tipusId === parseInt("@((int)EsemenyTipusEnum.FaliujsagBejegyzes)")) {
alert("not implemented faliújság bejegyzés üzenet popup hívás");
} else {
var osztalyCsoportId = $("#CsoportIdSearch").val();
var postData = {
id: data.ID,
tanuloId: data.TanuloId,
osztalyCsoportId: osztalyCsoportId
};
currentTanuloNev = data.TanuloNev;
AjaxHelper.DoPost(url.OpenNewModifyPopup, postData, popNewModifyWindow);
}
}
function popNewModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode(currentTanuloNev);
config.content = data;
config.width = "1060px";
config.height = "615px";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id, data.TanuloId);
}
beirasokHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID, data.TanuloId);
}
function deleteConfirm(id, tanuloId) {
var data = {
id: id,
tanuloId: tanuloId
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteFeljegyzes,
data
);
}
function deleteFeljegyzes(data) {
AjaxHelper.DoValidationPost(
url.Delete,
newModifyFormName,
data,
refreshGrid,
feedbackError
);
}
beirasokHelper.newModifyPopupSave = function () {
var form = $('#' + newModifyFormName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(
url.Save,
newModifyFormName,
data,
refreshGrid);
}
}
beirasokHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
function refreshGrid() {
if (!CommonUtils.parseBool("@(Model.IsNaploFeljegyzes)")) {
KretaWindowHelper.destroyAllWindow();
} else {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
KretaGridHelper.refreshGrid(gridName);
}
return beirasokHelper;
})();
$(document).ready(function () {
@if (!Model.IsNaploFeljegyzes)
{
<text>BeirasokHelper.openStartWindow();</text>
}
});
</script>