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

397 lines
No EOL
20 KiB
Text

@using Kreta.Web.Helpers.Grid;
@using Kreta.Resources
@using Kreta.Web.Areas.Adminisztracio.Models;
@using Kreta.Enums;
@model AdatszotarSearchModel
@{
const string AdatszotarApi = "AdatszotarApi",
Adminisztracio = "Adminisztracio",
Adatszotar = "Adatszotar",
GridName = "AdatszotarGrid",
SearchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(SearchFormName, GridName))
{
@Html.KretaComboBoxFor(x => x.AdatszotarTipusTypeId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "GetAdatszotarTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<AdatszotarGridModel>(
name: GridName,
getUrl: new GridApiUrl(AdatszotarApi, "GetAdatszotarGrid", new Dictionary<string, string> { }),
dataParameterFunction: SearchFormName
)
.SelectBoxColumn(Html, 0) /* */
.NumericBoxForColumn(Html, 440, c => c.Sorszam, null, null, 0)
.Columns(columns =>
{
columns.Bound(c => c.Megnevezes).Width("14%");
columns.Bound(c => c.Megnevezes1).Width("14%");
columns.Bound(c => c.Megnevezes2).Width("14%");
columns.Bound(c => c.Megnevezes3).Width("14%");
columns.Bound(c => c.Megnevezes4).Width("14%");
columns.Bound(c => c.IsProtected).Hidden();
columns.Bound(c => c.AdatszotarTipusNev).Hidden();
columns.Bound(c => c.AdatszotarTipusId).Hidden();
columns.Bound(c => c.IsProtectedText).Width("5%");
columns.Bound(c => c.IsLathatoText).Width("5%");
columns.Bound(c => c.IsSorszamozandoText).Width("5%").HeaderHtmlAttributes(new { data_gridheadertooltip = AdminisztracioResource.IsSorszamozando });
columns.Bound(c => c.IsTanoraiText).Width("5%").HeaderHtmlAttributes(new { data_gridheadertooltip = AdminisztracioResource.IsTanorai });
columns.Bound(c => c.IsTanorankivuliText).Width("5%").HeaderHtmlAttributes(new { data_gridheadertooltip = AdminisztracioResource.IsTanorankivuli });
columns.Bound(c => c.IsLeNemKotottMunkaidoText).Width("5%").HeaderHtmlAttributes(new { data_gridheadertooltip = AdminisztracioResource.IsLeNemKotottMunkaido });
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { NameResourceId = 7726 /*Láthatóság váltása*/, ClientAction = "AdatszotarHelper.setLathatosagConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Aktival },
}, "AdatszotarHelper.isSetVisible")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction = "AdatszotarHelper.openModElementWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
}, "AdatszotarHelper.isEditable")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "AdatszotarHelper.deleteElementConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
}, "AdatszotarHelper.isNotProtected")
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { NameResourceId = 115 /*Új*/, ClientAction="AdatszotarHelper.openNewElementWindow", Classes = "NewButton" },
new FunctionCommand { Name = CommonResource.Mentes, ClientAction="AdatszotarHelper.saveElementsOrder" },
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "AdatszotarHelper.getExport"},
new FunctionCommand { Name = AdminisztracioResource.KijeloltekLathatosaga, ClientAction = "AdatszotarHelper.confirmSelectedAdatszotarLathato"},
new FunctionCommand { Name = AdminisztracioResource.KijeloltekElrejtese, ClientAction = "AdatszotarHelper.confirmSelectedAdatszotarRejtett"},
new FunctionCommand { Name = CommonResource.KijeloltekTorlese, ClientAction = "AdatszotarHelper.confirmSelectedDelete", Classes = "kendo-gridFunctionKommandRed" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var AdatszotarHelper = (function () {
var adatszotarHelper = function () { };
var formName = "AdatszotarForm";
var searchFormName = "@(SearchFormName)";
var gridName = "@(GridName)";
var nemBovithetoAdatszotarTipusLista = @Html.Raw(Json.Encode((Kreta.Core.Constants.NemBovithetoAdatszotarTipusLista)));
var url = {
OpenAdatszotarNewPopUp: "@Url.Action("OpenAdatszotarNewPopUp", Adatszotar, new { area = Adminisztracio })",
SaveAdatszotarData: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "SaveAdatszotarData" })",
SaveAdatszotarActivate: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "SaveAdatszotarActivate" })",
SaveAdatszotarDeactivate: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "SaveAdatszotarDeactivate" })",
DeleteSelectedAdatszotar: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdatszotarApi", action = "DeleteSelectedAdatszotar"})",
DeleteAdatszotar: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "DeleteAdatszotar" })",
OpenAdatszotarModPopUp: "@Url.Action("OpenAdatszotarModPopUp", Adatszotar, new { area = Adminisztracio })",
SaveElementsOrder: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "SaveElementsOrder" })",
SetLathatosag: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = AdatszotarApi, action = "SetLathatosag" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdatszotarApi, action = "GetExport" })",
ChangeSelectedAdatszotarToLathato: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdatszotarApi, action = "ChangeSelectedAdatszotarToLathato" })",
ChangeSelectedAdatszotarToRejtett: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdatszotarApi, action = "ChangeSelectedAdatszotarToRejtett" })"
}
adatszotarHelper.confirmSelectedAdatszotarLathato = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function(index, value) {
parameters.push(value.ID);
});
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(AdminisztracioResource.AKijeloltElemekLathatosagaModositasraKerul)", changeSelectedAdatszotarToLathato, parameters);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(CommonResource.ValasszonKiLegalabbEgyElemet)", true);
}
}
function changeSelectedAdatszotarToLathato(data) {
AjaxHelper.DoPost(url.ChangeSelectedAdatszotarToLathato, data, setLathatosagFeedBackOk, FeedbackFail);
}
adatszotarHelper.confirmSelectedAdatszotarRejtett = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function(index, value) {
parameters.push(value.ID);
});
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(AdminisztracioResource.AKijeloltElemekLathatosagaModositasraKerul)", changeSelectedAdatszotarToRejtett, parameters);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(CommonResource.ValasszonKiLegalabbEgyElemet)", true);
}
}
function changeSelectedAdatszotarToRejtett(data) {
AjaxHelper.DoPost(url.ChangeSelectedAdatszotarToRejtett, data, setLathatosagFeedBackOk, FeedbackFail);
}
adatszotarHelper.confirmSelectedDelete = function() {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function(index, value) {
parameters.push(value.ID);
});
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorolniSzeretneAKijeloltElemeket)", deleteSelectedAdatszotar, parameters);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(CommonResource.ValasszonKiLegalabbEgyElemet)", true);
}
}
function deleteSelectedAdatszotar(data) {
AjaxHelper.DoPost(url.DeleteSelectedAdatszotar, data, deleteSelectedAdatszotarResponseOk, deleteSelectedAdatszotarFeedback);
}
function deleteSelectedAdatszotarFeedback(data) {
AjaxHelper.ShowError(data);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedAdatszotarResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
adatszotarHelper.getExport = function () {
var AdatszotarTipusTypeIdValue = $('#AdatszotarTipusTypeId').val();
if (AdatszotarTipusTypeIdValue && AdatszotarTipusTypeIdValue != "-1") {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
} else {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", "@(AdminisztracioResource.ExportálásCsakTipusValasztasUtanLehetseges)", true);
}
}
adatszotarHelper.openNewElementWindow = function (data) {
var AdatszotarTipusTypeIdValue = $('#AdatszotarTipusTypeId').val();
if (nemBovithetoAdatszotarTipusLista.includes(AdatszotarTipusTypeIdValue)) {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", "@(ErrorResource.KivalasztottAdatszotarNemBovitheto)", true);
}
else if (AdatszotarTipusTypeIdValue && AdatszotarTipusTypeIdValue != "-1") {
var postData = { AdatszotarTipusId: AdatszotarTipusTypeIdValue };
AjaxHelper.DoPost(url.OpenAdatszotarNewPopUp, postData, popUpNewWindow);
}
else {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", "@(AdminisztracioResource.AdatszotarFelveteleCsakTipusValasztasUtanLehetseges)", true);
}
}
adatszotarHelper.modifiedSave = function () {
var form = $('#' + formName);
if (form.valid()) {
var data = form.toObject({ getDisabled: true });
data.ZaradekSzovegList = getZaradekSzovegList();
AjaxHelper.DoValidationPost(url.SaveAdatszotarData, formName, data, modifiedSaveFeedBackOk);
}
}
adatszotarHelper.modifiedCancel = function () {
KretaWindowHelper.destroyWindow("modAdatszortarWindow");
}
adatszotarHelper.activateElements = function () {
var data = KretaGridHelper.getSelectedCheckboxIds(gridName);
AjaxHelper.DoPost(url.SaveAdatszotarActivate, data, adatszotarActivateFeedBackOk);
}
adatszotarHelper.newSave = function () {
var form = $('#' + formName);
if (form.valid()) {
var data = form.toObject({ getDisabled: true });
data.ZaradekSzovegList = getZaradekSzovegList();
AjaxHelper.DoValidationPost(url.SaveAdatszotarData, formName, data, newSaveFeedBackOk);
}
}
adatszotarHelper.newCancel = function () {
KretaWindowHelper.destroyWindow("newAdatszortarWindow");
}
adatszotarHelper.deactivateElements = function () {
var data = KretaGridHelper.getSelectedCheckboxIds(gridName);
AjaxHelper.DoPost(url.SaveAdatszotarDeactivate, data, adatszotarDeactivateFeedBackOk);
}
adatszotarHelper.deleteElementConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteElement, rowData.ID);
}
adatszotarHelper.openModElementWindow = function (rowData) {
var postData = { Id: rowData.ID };
AjaxHelper.DoPost(url.OpenAdatszotarModPopUp, postData, popUpModWindow);
}
adatszotarHelper.saveElementsOrder = function () {
var data = { Items: [] };
var cnt = 0, empty = 0;
$.each($("#" + gridName).data().kendoGrid.dataSource.view(), function (i, e) {
var elem = "#" + gridName + "_Sorszam_" + e.ID;
if ($(elem).val() == "") { empty++; }
else if ($.isNumeric($(elem).val()) == false) { cnt++; }
else { data.Items.push({ Id: e.ID, Sorszam: $(elem).val() }); }
});
if (cnt == 0 && empty == 0) {
AjaxHelper.DoPost(url.SaveElementsOrder, data, saveElementsOrderFeedBackOk);
}
else if (empty > 0) {
KretaWindowHelper.feedbackWindow(Globalization.Hiba, "@(AdminisztracioResource.MindenSorszamKitolteseKotelezo)", true);
}
else if (cnt > 0) {
KretaWindowHelper.feedbackWindow(Globalization.Hiba, "@(AdminisztracioResource.SorszamErtekeCsakSzamLehet)", true);
}
}
adatszotarHelper.isSetVisible = function (rowData) {
return !((rowData.AdatszotarTipusId == "@((int)Kreta.Enums.GeneratedAdatszotarTipusEnum.HetiRendTipus)" || !rowData.Protected) && rowData.ID == "@((int)Kreta.Enums.HetiRendTipusEnum.MindegyikHet)")
}
adatszotarHelper.isEditable = function (rowData) {
return (rowData.AdatszotarTipusId == "@((int)Kreta.Enums.GeneratedAdatszotarTipusEnum.ErtekelesMod)" || !rowData.Protected || rowData.AdatszotarTipusId == "@((int)Kreta.Enums.GeneratedAdatszotarTipusEnum.NapTipus)");
}
adatszotarHelper.isNotProtected = function (rowData) {
return !rowData.Protected;
}
function saveElementsOrderFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(undefined, "@(AdminisztracioResource.AdatszotarSorrendModositasSikeres)");
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function newSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function popUpNewWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(AdminisztracioResource.AdatszotarElemLetrehozasa)";
config.content = data;
var modal = KretaWindowHelper.createWindow("newAdatszortarWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function adatszotarActivateFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(undefined, "@(AdminisztracioResource.AdatszotarAktivalasSikeres)");
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function adatszotarDeactivateFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(undefined, "@(AdminisztracioResource.AdatszotarDeaktivalasSikeres)");
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteElement(data) {
AjaxHelper.DoPost(url.DeleteAdatszotar, data, deleteElementResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteElementResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function popUpModWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(AdminisztracioResource.AdatszotarElemModositasa)";
config.content = data;
var modal = KretaWindowHelper.createWindow("modAdatszortarWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function modifiedSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function setLathatosag(data) {
AjaxHelper.DoPost(url.SetLathatosag, data, setLathatosagFeedBackOk, FeedbackFail);
KretaGridHelper.refreshGrid(gridName);
}
adatszotarHelper.setLathatosagConfirmWindow = function (rowData) {
setLathatosag(rowData.ID);
}
function FeedbackFail(data) {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow(Globalization.Hiba /*HIBA*/, message, true, KretaWindowHelper.destroyAllWindow);
}
function setLathatosagFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(gridName);
}
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;
}
return adatszotarHelper;
})();
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#AdatszotarTipusTypeId").on("focusout", adatszotarTipusCombochanged);
$("#AdatszotarTipusTypeId").on("change", adatszotarTipusCombochanged);
var grid = $("#AdatszotarGrid").data("kendoGrid");
var hideColumns = function (grid) {
grid.hideColumn("IsSorszamozandoText"); grid.hideColumn("IsTanoraiText"); grid.hideColumn("IsTanorankivuliText"); grid.hideColumn("IsLeNemKotottMunkaidoText");
grid.showColumn("Megnevezes2"); grid.showColumn("Megnevezes3"); grid.showColumn("Megnevezes4");
};
var showColumns = function (grid) {
grid.showColumn("IsSorszamozandoText"); grid.showColumn("IsTanoraiText"); grid.showColumn("IsTanorankivuliText"); grid.showColumn("IsLeNemKotottMunkaidoText");
grid.hideColumn("Megnevezes2"); grid.hideColumn("Megnevezes3"); grid.hideColumn("Megnevezes4");
};
hideColumns(grid);
$("#searchPanelBtn").click(function () {
if ($("#AdatszotarTipusTypeId").val() !== "NapTipus") { hideColumns(grid); } else { showColumns(grid); }
});
function adatszotarTipusCombochanged() {
var dataItem = $("#AdatszotarTipusTypeId").data("kendoComboBox");
if (dataItem.value() != "@((int)GeneratedAdatszotarTipusEnum.AlkalmazottMunkaKorTipus)") {
$(".NewButton").show();
} else {
$(".NewButton").hide();
}
}
});
</script>