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

286 lines
13 KiB
Text

@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@model EszkozSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
var functionCommandList = new List<FunctionCommand> {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "EszkozHelper.exportEszkozokGrid" },
new FunctionCommand { Name = CommonResource.KijeloltekTorlese, ClientAction = "EszkozHelper.confirmSelectedDelete", Classes = "kendo-gridFunctionKommandRed" }
};
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "EszkozHelper.openEszkozProperties", IconEnum = GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "EszkozHelper.deleteEszkozConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
if (Model.IsEszkozKezelesEnabled)
{
functionCommandList.InsertRange(0, new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Uj, ClientAction="EszkozHelper.openEszkozModifyAdd" },
new FunctionCommand { Name = CommonResource.Modositas, ClientAction="EszkozHelper.openEszkozCsopMod" },
});
rowFunctionList.Insert(0, new RowFunction { Name = CommonResource.Modositas, ClientAction = "EszkozHelper.openEszkozModifyAdd", IconEnum = GridRowFunctionIconEnum.Modositas });
}
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "EszkozGrid"))
{
@Html.KretaTextBoxFor(model => model.SearchNev).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SearchKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EszkozokApi", action = "GetKategoriaList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(model => model.SearchMinDarabszam, model => model.SearchMaxDarabszam)
@Html.KretaComboBoxFor(x => x.SearchTeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SearchFelelosID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
<div>
@{
var grid = Html.KretaGrid<EszkozGridModel>
(
name: "EszkozGrid",
getUrl: new GridApiUrl("EszkozokApi", "GetEszkozokGrid", new Dictionary<string, string> { }),
allowScrolling: true,
dataParameterFunction: "searchForm"
)
.SelectBoxColumn(Html, 0) /* */
.FunctionCommand(Html, functionCommandList)
.AutoBind(true)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
if (Model.IsEszkozKezelesEnabled)
{
grid.LinkButtonColumn("", c => c.Nev, "EszkozHelper.openEszkozModifyAdd", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.KategoriaId_DNAME);
columns.Bound(c => c.Darabszam).Width("10%");
columns.Bound(c => c.TeremNev);
columns.Bound(c => c.FelelosNev);
});
}
else
{
grid.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.KategoriaId_DNAME);
columns.Bound(c => c.Darabszam).Width("10%");
columns.Bound(c => c.TeremNev);
columns.Bound(c => c.FelelosNev);
});
}
grid.RowFunction(Html, rowFunctionList);
}
@grid
</div>
<script type="text/javascript">
var EszkozHelper = (function () {
var eszkozHelper = function () { };
@if (Model.IsEszkozKezelesEnabled)
{
<text>
var formName = "EszkozForm";
var csopFormName = "EszkozCsopModForm";
</text>
}
var gridName = "EszkozGrid";
var searchFormName = "searchForm";
var url = {
OpenEszkozProperties: "@Url.Action("OpenEszkozProperties", "Eszkozok", new {area = "Intezmeny"})",
DeleteEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "DeleteEszkoz"})",
DeleteSelectedEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "DeleteSelectedEszkoz"})",
ExportEszkozok: "@Url.Action("ExportEszkozok", "Eszkozok", new {area = "Intezmeny"})",
@if (Model.IsEszkozKezelesEnabled)
{
<text>
OpenEszkozModifyAdd: "@Url.Action("OpenEszkozModifyAdd", "Eszkozok", new {area = "Intezmeny"})",
SaveModifiedOrNewEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "SaveModifiedOrNewEszkoz"})",
TeremValidacio: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "TeremValidacio"})",
TeremValidacioTobbes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "TeremValidacioTobbes"})",
OpenCsopModify: "@Url.Action("OpenEszkozCsopModify", "Eszkozok", new {area = "Intezmeny"})",
SaveCsopModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "SaveCsopModifiedEszkozok"})",
</text>
}
}
eszkozHelper.openEszkozProperties = function (rowData) {
AjaxHelper.DoGet(url.OpenEszkozProperties, { eszkozID: rowData.ID }, popUpEszkozProperties);
}
eszkozHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("EszkozPropertiesWindow");
}
eszkozHelper.openEszkozProperties = function (rowData) {
AjaxHelper.DoGet(url.OpenEszkozProperties, { eszkozID: rowData.ID }, popUpEszkozProperties);
}
eszkozHelper.deleteEszkozConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteEszkoz, rowData.ID);
}
eszkozHelper.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)", deleteSelectedEszkoz, parameters);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(CommonResource.ValasszonKiLegalabbEgyElemet)", true);
}
}
function deleteSelectedEszkoz(data) {
AjaxHelper.DoPost(url.DeleteSelectedEszkoz, data, deleteSelectedEszkozResponseOk, deleteSelectedEszkozFeedback);
}
function deleteSelectedEszkozFeedback(data) {
AjaxHelper.ShowError(data);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedEszkozResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function popUpEszkozProperties(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozPropertiesWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteEszkoz(data) {
AjaxHelper.DoPost(url.DeleteEszkoz, data, deleteFeedbackOk, deleteFeedbackFail);
}
function deleteFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFeedbackFail(data) {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow(Globalization.Hiba /*HIBA*/, message, true, KretaWindowHelper.destroyAllWindow);
}
eszkozHelper.exportEszkozokGrid = function () {
window.location = url.ExportEszkozok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
@if (Model.IsEszkozKezelesEnabled)
{
<text>
eszkozHelper.modifyAddCancel = function () {
KretaWindowHelper.destroyWindow("EszkozModifyAddWindow");
}
eszkozHelper.modifyAddSave = function () {
AjaxHelper.DoPostElement(url.SaveModifiedOrNewEszkoz, formName, modifyAddSaveFeedBackOk);
}
eszkozHelper.openEszkozModifyAdd = function (rowData) {
if (CommonUtils.isNullOrUndefined(rowData.ID)) {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: rowData.ID }, popUpEszkozAdd);
}
else {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: rowData.ID }, popUpEszkozModify);
}
}
eszkozHelper.confirmCsopModWindow = function () {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanModositaniSzeretneAKijeloltElemeket)", eszkozHelper.modifyCsopSave);
}
function popUpEszkozModify(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozModifyAddWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpEszkozAdd(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozModifyAddWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function modifyAddSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
eszkozHelper.TeremValidacio = function () {
AjaxHelper.DoPostElement(url.TeremValidacio, formName, null);
}
eszkozHelper.TeremValidacioTobbes = function () {
AjaxHelper.DoPostElement(url.TeremValidacioTobbes, csopFormName, null);
}
eszkozHelper.openEszkozCsopMod = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(4212))" /*Kiválasztás*/, "@(StringResourcesUtil.GetString(4554))"/*A csoportos módosításhoz legalább egy elem kiválasztása szükséges!*/);
}
else if (selectedRows.length == 1) {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: selectedRows[0].ID }, popUpEszkozModify);
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ EszkozId: value.ID, EszkozNev: value.Nev });
});
AjaxHelper.DoPost(url.OpenCsopModify, parameters, openModPopUp);
}
}
function openModPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatokModositasa)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozCsopModWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
eszkozHelper.modifyCsopCancel = function () {
KretaWindowHelper.destroyWindow("EszkozCsopModWindow");
}
eszkozHelper.modifyCsopSave = function () {
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoPostElement(url.SaveCsopModify, csopFormName, modifyAddSaveFeedBackOk);
}
</text>
}
return eszkozHelper;
})();
</script>