kreta/KretaWeb/Areas/OsztalyCsoport/Views/Shared/_ZaradekBuborekPartial.cshtml
2024-03-13 00:33:46 +01:00

246 lines
No EOL
10 KiB
Text

@using Kreta.Web.Models
@using Kreta.Resources
@using Kreta.Web.Security;
@model ZaradekModel
<style>
.newButtonPadding {
padding: 8px 2px;
}
a:hover {
text-decoration: none;
}
</style>
<script type="text/javascript">
var ZaradekListHelper = (function () {
var zaradekListHelper = function () { };
var formName = "ZaradekForm";
var modWindowName = "ZaradekModWindow";
var infoWindowName = "ZaradekInfoWindow";
var url = {
OpenZaradekNewPopup: "@Url.Action("OpenZaradekNewPopUp", Constants.Controllers.Zaradek, new { area = Constants.Areas.OsztalyCsoport })",
OpenZaradekModPopup: "@Url.Action("OpenZaradekModPopUp", Constants.Controllers.Zaradek, new { area = Constants.Areas.OsztalyCsoport })",
OpenZaradekInfoPopup: "@Url.Action("OpenZaradekInfoPopUp", Constants.Controllers.Zaradek, new { area = Constants.Areas.OsztalyCsoport })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ZaradekApi, action = "SaveZaradek" })",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ZaradekApi, action = "DeleteZaradek" })"
};
zaradekListHelper.openZaradekNewWindow = function () {
var tanuloCsoportId = $("#TanuloCsoportId").val();
if (!CommonUtils.isNullOrUndefined(tanuloCsoportId) && !CommonUtils.isNullOrWhiteSpace(tanuloCsoportId)) {
AjaxHelper.DoPostQuery(url.OpenZaradekNewPopup, null, { tanuloCsoportId }, openZaradekNewPopup);
}
}
function openZaradekNewPopup(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@Kreta.Resources.OsztalyCsoportResource.ZaradekFelvitele";
config.content = data;
config.maxWidth = 1000;
config.maxHeight = 700;
config.width = "80%";
config.height = "80%";
var modal = KretaWindowHelper.createWindow(modWindowName, config);
KretaWindowHelper.openWindow(modal, true);
}
zaradekListHelper.openZaradekModWindow = function (e) {
var zaradekId = getZaradekIdFromElement(e);
AjaxHelper.DoPostQuery(url.OpenZaradekModPopup, null, { zaradekId }, openZaradekModPopup);
}
function openZaradekModPopup(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@Kreta.Resources.OsztalyCsoportResource.ZaradekSzerkesztese";
config.content = data;
config.maxWidth = 1000;
config.maxHeight = 700;
config.width = "80%";
config.height = "80%";
var modal = KretaWindowHelper.createWindow(modWindowName, config);
KretaWindowHelper.openWindow(modal, true);
}
zaradekListHelper.save = function () {
var formData = $("#" + formName).toObject();
if (!CommonUtils.isNullOrUndefined($("#TanuloCsoportId").val())) {
formData.TanuloCsoportId = $("#TanuloCsoportId").val();
}
formData.ZaradekSzovegList = getZaradekSzovegList();
AjaxHelper.DoValidationPost(url.Save, formName, formData, saveFeedbackOk);
}
zaradekListHelper.cancel = function () {
KretaWindowHelper.destroyWindow(modWindowName);
}
function getZaradekSzovegList() {
var zaradekSzovegList = [];
var zaradekSzovegQuery = $("textarea[name^='ZaradekSzovegTextArea_']");
zaradekSzovegQuery.each(function (index, value) {
var zaradekSzovegTextArea = $(value);
var szoveg = zaradekSzovegTextArea.val();
var nyelvId = zaradekSzovegTextArea.data('nyelv-id');
zaradekSzovegList[index] = {
NyelvId: nyelvId,
Szoveg: szoveg
};
});
return zaradekSzovegList;
}
function saveFeedbackOk() {
KretaWindowHelper.notification(Globalization.SikeresMentes, "success");
KretaWindowHelper.destroyWindow(modWindowName);
refreshZaradekTab();
}
zaradekListHelper.openZaradekInfoWindow = function (e) {
var zaradekId = getZaradekIdFromElement(e);
AjaxHelper.DoPostQuery(url.OpenZaradekInfoPopup, null, { zaradekId }, openZaradekInfoPopup);
}
function openZaradekInfoPopup(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@Kreta.Resources.OsztalyCsoportResource.ZaradekMegtekintese";
config.content = data;
config.maxWidth = 1000;
config.maxHeight = 700;
var modal = KretaWindowHelper.createWindow(infoWindowName, config);
KretaWindowHelper.openWindow(modal, true);
}
zaradekListHelper.cancelInfo = function () {
KretaWindowHelper.destroyWindow(infoWindowName);
}
zaradekListHelper.deleteConfirmWindow = function (e) {
var zaradekId = getZaradekIdFromElement(e);
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteZaradek, zaradekId);
}
function deleteZaradek(zaradekId) {
AjaxHelper.DoPostQuery(url.Delete, null, { zaradekId }, deleteZaradekFeedbackOk);
}
function deleteZaradekFeedbackOk() {
KretaWindowHelper.notification(Globalization.SikeresMentes, "success");
refreshZaradekTab();
}
function getZaradekIdFromElement(e) {
var parentDiv = $(e).parent();
var zaradekId = parentDiv.data("zaradek-id");
return zaradekId;
}
function refreshZaradekTab() {
var tabStripName = "#" + "@ViewData["TabStripName"]";
var tabStrip = $(tabStripName).data("kendoTabStrip");
var tabItems = tabStrip.items();
var zaradekTab = $.grep(tabItems, function (e) {
return e.innerText == "@Html.Raw(OsztalyCsoportResource.Zaradekok)";
});
tabStrip.reload(zaradekTab);
}
return zaradekListHelper;
})();
</script>
<div class="container-fluid">
@Html.HiddenFor(x => x.TanuloCsoportId)
@if (Model.TanuloCsoportId.HasValue && !Model.IsViewMod && ((ClaimData.IsOsztalyfonok && Model.IsOfoRogzithetEvkoziZaradekot) || ClaimData.IsAdministrator))
{
<div class="row">
<div class="kendo-gridFunctionKommand">
@Html.KretaButton("ujZaradekButton", CommonResource.Uj.ToUpper(), htmlAttributes: new Dictionary<string, object> { { "class", "newButtonPadding" } }, clickEventName: "ZaradekListHelper.openZaradekNewWindow")
</div>
</div>
}
@foreach (var buborek in Model.BuborekModelList.Where(x => x.IsKapcsolodo))
{
<div class="row well well-sm" style="margin-top: 20px;">
<div class="col-sm-11" style="padding: 0px;">
<p>
@Html.Raw(HttpUtility.HtmlDecode(buborek.OsztalyNev))
</p>
@Html.Raw(HttpUtility.HtmlDecode(buborek.ZaradekSzovegek))
</div>
<div class="col-sm-1" style="padding: 0px; text-align: right;">
<div data-zaradek-id="@buborek.Id">
@if (!Model.IsViewMod && buborek.IsSzerkesztheto)
{
<a title=@CommonResource.Modositas href="javascript:void(0)" onclick="ZaradekListHelper.openZaradekModWindow(this)">
<i class="fa fa-pencil" aria-hidden="true" style="font-size:22px"></i>
</a>
}
<a title=@CommonResource.Adatok href="javascript:void(0)" onclick="ZaradekListHelper.openZaradekInfoWindow(this)">
<i class="fa fa-search" aria-hidden="true" style="font-size:22px"></i>
</a>
@if (!Model.IsViewMod && buborek.IsSzerkesztheto && (buborek.IsTorolheto || !buborek.IsOsztaly))
{
<a title=@CommonResource.Torles href="javascript:void(0)" onclick="ZaradekListHelper.deleteConfirmWindow(this)">
<i class="fa fa-trash" aria-hidden="true" style="font-size:22px"></i>
</a>
}
</div>
<div style="margin-top: 10px;">
@buborek.KeltezesDatuma.ToShortDateString()
</div>
</div>
</div>
}
@if (ClaimData.IsAdministrator && Model.BuborekModelList.Any(x => !x.IsKapcsolodo) && Model.IsKapcsolodoZaradekokMegjelennek)
{
<div>
<h3>@BesorolasResource.KorabbiBesorolasokZaradekai</h3>
<hr class="zaradekHr" style="margin-top:0px">
</div>
foreach (var buborek in Model.BuborekModelList.Where(x => !x.IsKapcsolodo))
{
<div class="row well well-sm" style="margin-top: 20px;">
<div class="col-sm-11" style="padding: 0px;">
<p>
@buborek.OsztalyNev
</p>
@Html.Raw(HttpUtility.HtmlDecode(buborek.ZaradekSzovegek))
</div>
<div class="col-sm-1" style="padding: 0px; text-align: right;">
<div data-zaradek-id="@buborek.Id">
<a title=@CommonResource.Adatok href="javascript:void(0)" onclick="ZaradekListHelper.openZaradekInfoWindow(this)">
<i class="fa fa-search" aria-hidden="true" style="font-size:22px"></i>
</a>
</div>
<div style="margin-top: 10px;">
@buborek.KeltezesDatuma.ToShortDateString()
</div>
</div>
</div>
}
}
</div>
<style>
.zaradekHr {
border: none;
height: 1px;
/* Set the hr color */
color: #5c6a79; /* old IE */
background: #5c6a79; /* Modern Browsers */
}
</style>