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

197 lines
8.6 KiB
Text

@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Areas.Tantargy.Models
@using Kreta.Web.Helpers.Grid;
@model TanmenetSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "TanmenetGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanitottOsztalyCsoportListByTanarIdOrderByEvfolyam", isFromSzervezet = Model.IsFromSzervezet }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyIdSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetTantargyList" })).AutoBind(true).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<TanmenetGridModel>
(
name: "TanmenetGrid",
getUrl: new GridApiUrl(Model.ApiControllerName, "GetTanmenetGrid", new Dictionary<string, string> { }),
allowScrolling: true,
dataParameterFunction: "searchForm"
)
.Columns(columns =>
{
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.OsztalyCsoportNev);
columns.Bound(c => c.OraszamCount).Width("10%");
})
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { Name = CommonResource.Uj, ClientAction="TanmenetHelper.openNewTanmenetWindow" },
new FunctionCommand { Name = CommonResource.Importalas, ClientAction="TanmenetHelper.redirectToImport" }
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction = "TanmenetHelper.openModifyTanmenetGrid", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = ImportExportCommonResource.Export, ClientAction = "TanmenetHelper.exportTanmenet", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Excel },
new RowFunction { Name = CommonResource.Torles, ClientAction = "TanmenetHelper.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var TanmenetHelper = (function () {
var tanmenetHelper = function () { };
var gridName = "TanmenetOraiGrid";
var url = {
OpenNewTanmenet: "@Url.Action("OpenNewTanmenetWindow", Model.ControllerName , new { area = "Tantargy" })",
OpenEditTanmenetGrid: "@Url.Action("OpenEditTanmenetGridWindow", Model.ControllerName , new { area = "Tantargy" })",
RedirectToImport: "@(Url.Content("~/ImportExport/" + Model.ImportControllerName))",
SaveTanmenet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "SaveTanmenet" })",
ExportTanmenet: "@Url.Action("ExportTanmenet", Model.ControllerName, new { area = "Tantargy" })",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "Delete" })"
}
tanmenetHelper.redirectToImport = function () {
window.location = url.RedirectToImport;
}
tanmenetHelper.openNewTanmenetWindow = function () {
AjaxHelper.DoGet(url.OpenNewTanmenet, {}, popupTanmenet);
};
tanmenetHelper.openNewTanmenetGrid = function () {
AjaxHelper.DoPostElement(url.OpenEditTanmenetGrid, "NewTanmenetForm", popupTanmenetGrid);
};
tanmenetHelper.openModifyTanmenetGrid = function (data) {
var tantargyId = data.TantargyID;
var osztalyId = data.OsztalyCsoportID;
var foglalkozasId = data.FoglalkozasID;
AjaxHelper.DoGet(url.OpenEditTanmenetGrid, { TantargyId: tantargyId, OsztalyId: osztalyId, FoglalkozasId: foglalkozasId }, popupTanmenetGrid);
};
tanmenetHelper.saveTanmenetOrak = function () {
var rows = KretaGridHelper.getAllRows(gridName)
var rowsData = [rows.length];
$.each(rows, function (index, value) {
rowsData[index] = {
ID: value.ID,
Oraszam: value.Oraszam,
Tema: value.ki_Tema
}
});
var result = {
FoglalkozasId: $('#TanmenetOrakGridForm').prop('FoglalkozasId').value,
TanmenetBejegyzesek: rowsData,
};
AjaxHelper.DoPost(url.SaveTanmenet, result, saveTanmenetSuccess, feedbackError);
};
tanmenetHelper.newTanmenetCancel = function () {
KretaWindowHelper.destroyWindow("NewTanmenetWindow");
};
tanmenetHelper.editTanmenetGridCancel = function () {
KretaWindowHelper.destroyWindow("EditTanmenetGridWindow");
};
tanmenetHelper.osszesTemaTorles = function () {
$("input[data-rowinputname='Tema']").val('');
}
tanmenetHelper.enterPressed = function (e) {
if (e.target.classList.contains("k-textbox") && $(e.target).closest("#TanmenetOraiGrid").length > 0) {
var sorszamMezo = $(e.target).closest('[role=row]').children('[role=gridcell]:not(.gridTextbox)');
var sorokszama = KretaGridHelper.getKendoGridData(gridName).dataSource.data().length;
if (sorszamMezo.length > 0) {
var sorindex = sorszamMezo[0].textContent;
}
else {
return;
}
var rowgroup = $(e.target).closest('[role=rowgroup]');
if (sorindex == sorokszama) {
$(e.target).blur();
TanmenetHelper.ujSor();
}
$(rowgroup.children('[role=row]')[sorindex]).find('.k-textbox').focus();
}
}
tanmenetHelper.exportTanmenet = function (rowData) {
var postData = {
TantargyId: rowData.TantargyID,
OsztalyId: rowData.OsztalyCsoportID
};
AjaxHelper.ShowIndicator();
setTimeout(AjaxHelper.DoPost(url.ExportTanmenet, postData, saveFile), 1000);
}
tanmenetHelper.deleteConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteTanmenet, rowData);
}
function deleteTanmenet(rowData) {
AjaxHelper.DoPost(url.Delete, rowData.FoglalkozasID, deleteResponseOk, feedbackError);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow();
KretaGridHelper.refreshGridSearchPanel("TanmenetGrid", "searchForm");
}
function saveFile(fileContent) {
var dataURI = "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(TanmenetResource.ExportFileName).xlsx",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function popupTanmenet(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@TanmenetResource.OpenTanmenetTitle";
config.content = data;
config.minWidth = "400px";
config.width = "400px";
config.height = "300px";
var modal = KretaWindowHelper.createWindow("NewTanmenetWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popupTanmenetGrid(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode($("#TanmenetModalHeader", data).val());
config.content = data;
var modal = KretaWindowHelper.createWindow("EditTanmenetGridWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function saveTanmenetSuccess() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel("TanmenetGrid", "searchForm");
}
function feedbackError(data) {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true);
}
return tanmenetHelper;
})();
</script>