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

174 lines
8 KiB
Text

@using Kreta.BusinessLogic.Logic.TanuloErtekeles
@using Kreta.Enums
@using CoreConstants = Kreta.Core.Constants;
@using Kreta.Web.Security;
@using Kreta.KretaServer.SystemSettings;
<script type="text/javascript">
var TanuloErtekelesHelper = (function () {
var tanuloErtekelesHelper = function () { };
tanuloErtekelesHelper.setMenuCaption = function (tipusId) {
var sideBarMenuCaptionText;
if (tipusId === "@((int) ErtekelesTipusEnum.evkozi_jegy_ertekeles)") {
sideBarMenuCaptionText = "@Html.Raw(TanuloErtekelesResource.Evkozi)";
} else if (tipusId === "@((int) ErtekelesTipusEnum.felevi_jegy_ertekeles)") {
sideBarMenuCaptionText = "@Html.Raw(TanuloErtekelesResource.Felevi)";
} else if (tipusId === "@((int) ErtekelesTipusEnum.evvegi_jegy_ertekeles)") {
sideBarMenuCaptionText = "@Html.Raw(TanuloErtekelesResource.EvVegi)";
} else {
sideBarMenuCaptionText = "@Html.Raw(TanuloErtekelesResource.Egyeb)";
}
$("#menucaption").text(sideBarMenuCaptionText);
}
tanuloErtekelesHelper.setValueToGridSelectorControlAfterChangeDate = function (value, selectListSelector, valueControlSelector) {
var selectList = $(selectListSelector);
for (var i = 0; i < selectList.length; i++) {
if (selectList[i].attributes.val.nodeValue === value) {
selectList[i].classList.add('activebar');
}
}
$(valueControlSelector).val(value);
}
tanuloErtekelesHelper.changeColumnValues = function (gridName, selector, val) {
if (!CommonUtils.isNullOrEmpty(val)) {
$.each($("#" + gridName).find(selector + "[val='" + val + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#" + gridName).find(selector), function () {
if ($(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
tanuloErtekelesHelper.setDetailGridRowAthuzas = function (gridName) {
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
tanuloErtekelesHelper.getNormalizedErtekelesSzoveg = function (ertekelesSzoveg) {
if (CommonUtils.isNullOrWhiteSpace(ertekelesSzoveg, false)) {
return null;
} else {
//NOTE: Ékezetek miatt kell, hogy ne legyen encode-olva.
var result = CommonUtils.getNormalizedHtmlFromString(ertekelesSzoveg);
return result;
}
}
tanuloErtekelesHelper.setSzovegEditorOnPaste = function (szovegEditorSelector) {
var editor = $("div[id^='" + szovegEditorSelector + "']");
if (editor.length > 0) {
editor.on("paste", function (e) {
//NOTE: Cancel paste!
e.preventDefault();
var text = "";
if (e.clipboardData || e.originalEvent.clipboardData) {
text = (e.originalEvent || e).clipboardData.getData("text/plain");
} else if (window.clipboardData) {
text = window.clipboardData.getData("Text");
}
if (document.queryCommandSupported("insertText")) {
document.execCommand("insertText", false, text);
} else {
document.execCommand("paste", false, text);
}
});
}
}
tanuloErtekelesHelper.setErtekelesNyelviesitesVisibility = function (tipusId, selector) {
if (CommonUtils.isNullOrUndefined(tipusId)) {
$(selector).removeClass("showNyelviesites").addClass("hideNyelviesites");
}
var nyelviesithetoTanuloErtekelesTipusIdArray = @Html.Raw(Json.Encode(TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList));
if (nyelviesithetoTanuloErtekelesTipusIdArray.includes(parseInt(tipusId))) {
$(selector).removeClass("hideNyelviesites").addClass("showNyelviesites");
} else {
$(selector).removeClass("showNyelviesites").addClass("hideNyelviesites");
}
}
return tanuloErtekelesHelper;
})();
var HaviAtlagHelper = (function () {
var haviAtlagHelper = function () { };
haviAtlagHelper.setHaviAtlagok = function (grid) {
var isHaviAtlagShow = @Html.Raw(Json.Encode(SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.ertekelesnel_a_naplojegyek_havi_atlaga_megjelenik, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value)));
var rows = grid.items();
if (isHaviAtlagShow && rows.length > 0) {
var haviAtlagWrapper = grid.element.find(".HaviAtlagWrapper");
haviAtlagWrapper.append("@TanuloErtekelesResource.HaviAtlag");
var haviAtlagArray = [];
rows.each(function () {
var dataItem = grid.dataItem(this);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Szeptember_HaviAtlag", dataItem.Szeptember_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Oktober_HaviAtlag", dataItem.Oktober_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.November_HaviAtlag", dataItem.November_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.December_HaviAtlag", dataItem.December_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.JanuarI_HaviAtlag", dataItem.JanuarI_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.I_HaviAtlag", dataItem.I_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.JanuarII_HaviAtlag", dataItem.JanuarII_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Februar_HaviAtlag", dataItem.Februar_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Marcius_HaviAtlag", dataItem.Marcius_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Aprilis_HaviAtlag", dataItem.Aprilis_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Majus_HaviAtlag", dataItem.Majus_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.Junius_HaviAtlag", dataItem.Junius_HaviAtlag);
fillHaviAtlagArray(haviAtlagArray, "@CoreConstants.TanuloErtekelesHaviAtlagColumnNames.II_HaviAtlag", dataItem.II_HaviAtlag);
});
processHaviAtlagArray(grid, haviAtlagArray);
}
}
function fillHaviAtlagArray(haviAtlagArray, honap, atlagErtekek) {
if (atlagErtekek != null) {
if (!haviAtlagArray[honap]) {
haviAtlagArray[honap] = [];
}
var atlagErtekekObj = CommonUtils.JSONparse(atlagErtekek);
atlagErtekekObj.haviAtlagErtekek.forEach(a => haviAtlagArray[honap].push(a));
}
}
function processHaviAtlagArray(grid, haviAtlagArray) {
for (var honap in haviAtlagArray) {
var atlagErtekek = haviAtlagArray[honap];
if (Array.isArray(atlagErtekek)) {
var sulyzottAtlag = calculateSulyzottAtlag(atlagErtekek);
showHaviAtlag(grid, honap, sulyzottAtlag);
}
}
}
function calculateSulyzottAtlag(ertekek) {
var szamlalo = ertekek.reduce((t, e) => t + e.ertekeles * e.suly, 0);
var nevezo = ertekek.reduce((t, e) => t + e.suly, 0);
var sulyzottAtlag = szamlalo / nevezo;
return sulyzottAtlag;
}
function showHaviAtlag(grid, honap, sulyzottAtlag) {
var wrapperClassName = "." + honap + "Wrapper";
var wrapper = grid.element.find(wrapperClassName);
wrapper.append(sulyzottAtlag.toFixed(2));
}
return haviAtlagHelper;
})();
</script>