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

184 lines
No EOL
7.5 KiB
Text

@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model ElektronikusUzenetPopupModel
@{
var formName = ElektronikusUzenetekController.ModifyFormName;
var gridName = ElektronikusUzenetekController.ModifyPopupGridName;
}
@{
var grid = Html.KretaGrid<ElektronikusUzenetPopupGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetekModifyPopupGrid", new Dictionary<string, string> { { "osztalycsoportId", Model.OsztalyCsoportId.ToString() } }),
dataBoundAdditionalFunction: "ModifyPopupHelper.dataBoundAdditionalFunction();",
allowFilterable: false,
allowSorting: false,
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).ClientTemplate(@"
<a class='kendoTooltip modifyPopupTanuloNevKendoTooltip gridLinkButton defaultCursor'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
});
}
@Html.KretaTooltipTemplate("kendoTooltip-modifyPopupTanuloNevTemplate",
@"<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>")
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.FeljegyzoNevPopup, 3, 9, true)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsFaliujsagMegjelenesPopup).RenderWithName(3, 2)
@Html.KretaCheckBoxFor(x => x.IsMindenkinekPopup).RenderWithName(3, 3)
</div>
<div class="row">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegKezdete és a Model.MaximumErvenyessegKezdete, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.EsemenyDatumaPopup).Min(Model.MinimumErvenyessegKezdetePopup.Value).Max(Model.MaximumErvenyessegKezdetePopup.Value).RenderWithName(3, 2)
<div id="ervenyessegVegePopup">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegVegePopup és a Model.MaximumErvenyessegVegePopup, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.VegePopup).Min(Model.MinimumErvenyessegVegePopup.Value).Max(Model.MaximumErvenyessegVegePopup.Value).RenderWithName(3, 2)
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.TargyPopup).RenderWithName(3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesPopup).RenderWithName(3, 9)
</div>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.LabelFor(x => x.TartalomPopup, htmlAttributes: new Dictionary<string, object> { { "class", "windowInputLabel" } })
</div>
<div class="@BootsrapHelper.GetSizeClasses(9)">
@(Html.KretaHtmlEditorFor(x => x.TartalomPopup, encode: false)
.Tools(t => t.Clear()
.Bold()
.Italic()
.Underline()
.SubScript()
.SuperScript()
.InsertOrderedList()
.InsertUnorderedList()
.JustifyLeft()
.JustifyCenter()
.JustifyRight()
.JustifyFull()
.FontColor()
)
.PasteCleanup(p => p.All(true))
)
</div>
</div>
</div>
}
<div>
@(grid)
</div>
<script type="text/javascript">
var ModifyPopupHelper = (function () {
var modifyPopupHelper = function () { };
var gridName = "@gridName";
var formName = "@formName";
var url = {
SaveElektronikusUzenetPopup: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "SaveElektronikusUzenetPopup" })"
};
modifyPopupHelper.dataBoundAdditionalFunction = function () {
//NOTE: Tooltip beállítások
var tanuloNevKendoTooltip = $(".modifyPopupTanuloNevKendoTooltip");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-modifyPopupTanuloNevTemplate");
//NOTE: CheckBox beállítások
var rowSelectHeaderCheckBox = $("#" + gridName + "_chk");
var rowSelectCheckBoxList = $("td input[id^='" + gridName + "_chk_'");
var isMindenkinekCheckBox = $("#IsMindenkinekPopup");
var isFaliujsagMegjelenesCheckBox = $("#IsFaliujsagMegjelenesPopup");
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, true);
rowSelectHeaderCheckBox.off("change");
rowSelectHeaderCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
rowSelectCheckBoxList.off("change");
rowSelectCheckBoxList.on("change", function () {
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
isMindenkinekCheckBox.off("change");
isMindenkinekCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(rowSelectCheckBoxList, result);
});
isFaliujsagMegjelenesCheckBox.off("change");
isFaliujsagMegjelenesCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
if (result) {
$("#ervenyessegVegePopup").show();
} else {
$("#ervenyessegVegePopup").hide();
}
});
isFaliujsagMegjelenesCheckBox.trigger("change");
var tanuloIdListString = "@(Html.Raw(Json.Encode(Model.TanuloIdList)))";
var tanuloIdList = CommonUtils.JSONparse(tanuloIdListString);
if (tanuloIdList.length > 0) {
$.each(tanuloIdList, function (index, value) {
KretaCheckBoxHelper.setValue(gridName + "_chk_" + value, true);
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
});
}
}
modifyPopupHelper.saveElektronikusUzenetPopup = function () {
ElektronikusUzenetekHelper.saveElektronikusUzenet(formName, gridName, url.SaveElektronikusUzenetPopup);
}
return modifyPopupHelper;
})();
</script>