197 lines
8.6 KiB
Text
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>
|