This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,33 @@
var KretaChartHelper = (function () {
var kretaChartHelper = function () {};
kretaChartHelper.getKendoChartData = function (chartId) {
var chart = $('#' + chartId);
var chartData = chart.data('kendoChart');
return chartData;
};
kretaChartHelper.setDatasource = function (chartId, categories, seriesData) {
$('#' + chartId).kendoChart({
categoryAxis: {
categories: categories
},
series: [
{
data: seriesData
}
]
});
kretaChartHelper.refreshChart(chartId);
};
kretaChartHelper.refreshChart = function (chartId) {
var chartData = kretaChartHelper.getKendoChartData(chartId);
chartData.dataSource.read();
chartData.refresh();
};
return kretaChartHelper;
})();

View file

@ -0,0 +1,27 @@
var KretaCheckBoxHelper = (function () {
var kretaCheckBoxHelper = function () {};
kretaCheckBoxHelper.getValue = function (checkBoxId) {
var result = $('#' + checkBoxId).is(':checked');
return result;
};
kretaCheckBoxHelper.setValue = function (checkBoxId, value) {
$('#' + checkBoxId).prop('checked', value);
};
kretaCheckBoxHelper.setObjectValue = function (checkBox, value) {
checkBox.prop('checked', value);
};
kretaCheckBoxHelper.enable = function (checkBoxId) {
$('#' + checkBoxId).prop('disabled', false);
};
kretaCheckBoxHelper.disable = function (checkBoxId) {
$('#' + checkBoxId).prop('disabled', true);
};
return kretaCheckBoxHelper;
})();

View file

@ -0,0 +1,183 @@
var KretaComboBoxHelper = (function () {
var kretaComboBoxHelper = function () {};
kretaComboBoxHelper.getKendoComboBoxData = function (comboBoxId) {
var comboBox = $('#' + comboBoxId);
var comboBoxData = comboBox.data('kendoComboBox');
return comboBoxData;
};
kretaComboBoxHelper.getKendoValue = function (comboBoxId) {
var comboBoxData = kretaComboBoxHelper.getKendoComboBoxData(comboBoxId);
var result = comboBoxData.value();
return result;
};
kretaComboBoxHelper.getCascadeData = function (inputName) {
if (inputName.indexOf(',') >= 0) {
var array = inputName.split(',');
var data = '';
$.each(array, function (key, value) {
if (data.length > 0 && $('#' + value).val() != '') {
data += ',';
}
if (value.indexOf('#') >= 0) {
data += $(value).val();
} else {
data += $('#' + value).val();
}
});
return { cascadeFilter: data };
} else {
return { cascadeFilter: $(inputName).val() };
}
};
kretaComboBoxHelper.getServerFilteringData = function (inputName) {
return { serverFilter: $(inputName).val() };
};
kretaComboBoxHelper.getServerFilteringComboBoxTextData = function (
inputName
) {
var textValue = $(inputName).data('kendoComboBox').text();
if (textValue.length > 0) {
return { serverFilter: textValue };
}
return null;
};
kretaComboBoxHelper.refreshComboBox = function (inputName) {
var widget = $('#' + inputName).data('kendoComboBox');
widget.dataSource.read();
};
kretaComboBoxHelper.setFirstItem = function (inputName, setIfHasOnlyOneItem) {
var widget = $('#' + inputName).data('kendoComboBox');
if (setIfHasOnlyOneItem) {
if (widget.dataSource.data().length === 1) {
widget.value(widget.dataSource.data()[0].Value);
}
} else {
//NOTE: Check if has item!
if (widget.dataSource.data().length > 0) {
widget.value(widget.dataSource.data()[0].Value);
}
}
};
kretaComboBoxHelper.onChange = function (e) {
elementId = e.sender.element[0].id.replace('.', '_');
$('input[name="' + elementId + '"]').attr(
'title',
$('input[name="' + elementId + '_input' + '"]').attr('title')
); /*validációs üzenet buborékolása*/
var comboBox = $('#' + elementId).data('kendoComboBox');
checkSelectedValue(comboBox);
};
kretaComboBoxHelper.checkSelectedValue = function (elementId) {
var comboBox = $('#' + elementId).data('kendoComboBox');
checkSelectedValue(comboBox);
};
kretaComboBoxHelper.onDataBound = function (e) {
var elementId = e.sender.element[0].id;
var comboBox = $('#' + elementId).data('kendoComboBox');
if (typeof comboBox !== 'undefined') {
if (!comboBox.element.attr('placeholder')) {
comboBox.element.attr(
'placeholder',
comboBox.input.attr('placeholder')
);
}
var dataSource = comboBox.dataSource;
if (dataSource != null) {
if (dataSource.data().length == 1) {
var data = dataSource.data()[0];
comboBox.value(data.Value);
comboBox.trigger('change');
} else {
checkSelectedValue(comboBox);
}
}
}
};
kretaComboBoxHelper.onDataBoundWithoutSetSingleElement = function (e) {
var elementId = e.sender.element[0].id;
var comboBox = $('#' + elementId).data('kendoComboBox');
if (typeof comboBox !== 'undefined') {
if (!comboBox.element.attr('placeholder')) {
comboBox.element.attr(
'placeholder',
comboBox.input.attr('placeholder')
);
}
var dataSource = comboBox.dataSource;
if (dataSource != null) {
if (dataSource.data().length != 1) {
checkSelectedValue(comboBox);
}
}
}
};
kretaComboBoxHelper.onOpenDropdown = function (e) {
var elementId = e.sender.element[0].id;
var comboBox = $('#' + elementId).data('kendoComboBox');
var maxWidth = 800;
var comboMinWidth = $('#' + elementId)
.parents('.k-combobox')
.width();
if (comboMinWidth > maxWidth) {
maxWidth = comboMinWidth;
}
comboBox.list.css('maxWidth', maxWidth);
comboBox.list.css('minWidth', comboMinWidth);
comboBox.list.width('auto');
};
kretaComboBoxHelper.setKendoValue = function (comboBoxData, value) {
comboBoxData.value(value);
comboBoxData.trigger('change');
};
function checkSelectedValue(comboBox) {
if (comboBox.selectedIndex === -1 && comboBox.value()) {
comboBox.value(null);
comboBox.input.attr(
'placeholder',
comboBox.element.attr('data-msg-unknownvalue')
);
} else {
comboBox.input.attr('placeholder', comboBox.element.attr('placeholder'));
}
}
kretaComboBoxHelper.getIndexForValue = function (comboBoxId, value) {
var data = kretaComboBoxHelper
.getKendoComboBoxData(comboBoxId)
.dataSource.data();
var index = -1;
for (var i = 0; i < data.length; i++) {
if (data[i].Value === value) {
index = i;
break;
}
}
return index;
};
return kretaComboBoxHelper;
})();

View file

@ -0,0 +1,147 @@
var KretaDateTimeHelper = (function () {
var kretaDateTimeHelper = function () {};
kretaDateTimeHelper.getKendoDatePickerData = function (datePickerId) {
var datePicker = $('#' + datePickerId);
var datePickerData = datePicker.data('kendoDatePicker');
return datePickerData;
};
kretaDateTimeHelper.compare = function (lhsDate, rhsDate) {
var lhs = kendo.parseDate(lhsDate).getTime();
var rhs = kendo.parseDate(rhsDate).getTime();
return lhs < rhs ? -1 : lhs === rhs ? 0 : 1;
};
kretaDateTimeHelper.validateDate = function (e) {
var id = e.attr('id');
var val = e.val().replace(/\s/g, '');
var parsedDate = kendo.parseDate(val);
if (parsedDate == null) {
const kendoDatePicker = $('#' + id).data('kendoDatePicker');
if (typeof kendoDatePicker !== 'undefined') {
kendoDatePicker.value('');
return;
}
const kendoTimePicker = $('#' + id).data('kendoTimePicker');
if (typeof kendoTimePicker !== 'undefined') {
kendoTimePicker.value('');
return;
}
}
};
kretaDateTimeHelper.validateDateTime = function (e) {
var id = e.attr('id');
var val = e.val().replace(/\s/g, '');
var parsedDate = kendo.parseDate(val);
if (parsedDate == null) {
$('#' + id)
.data('kendoDateTimePicker')
.value('');
}
};
kretaDateTimeHelper.validateTime = function (e) {
var id = e.attr('id');
var value = e.val().replace(/\s/g, '');
var parsedDate = kendo.parseDate(value);
if (parsedDate == null) {
$('#' + id)
.data('kendoTimePicker')
.value(e.attr('value'));
}
};
kretaDateTimeHelper.getDate = function (datePickerId) {
return kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value();
};
kretaDateTimeHelper.setDate = function (datePickerId, value) {
var parsedDate = kendo.parseDate(value);
kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value(parsedDate);
};
kretaDateTimeHelper.setToday = function (datePickerId) {
var newDate = new Date();
kretaDateTimeHelper.setDate(datePickerId, newDate);
};
kretaDateTimeHelper.clear = function (datePickerId) {
kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value(null);
};
kretaDateTimeHelper.SetMaskedTimepicker = function () {
$("input[data-role='maskedtimepicker']").kendoMaskedTextBox({
mask: '12:34',
rules: {
1: /[0-2]/,
2: /[0-9]/,
3: /[0-5]/,
4: /[0-9]/
}
});
var timePicker = $("input[data-role='maskedtimepicker']");
timePicker.on('focusout mouseleave', function () {
kretaDateTimeHelper.validateTime($(this));
});
$("input[data-role='maskedtimepicker']").each(function () {
kretaDateTimeHelper.validateTime($(this));
});
};
kretaDateTimeHelper.SetTimepicker = function () {
$("input[data-role='timepicker']").kendoMaskedTextBox({
mask: '12:34',
rules: {
1: /[0-2]/,
2: /[0-9]/,
3: /[0-5]/,
4: /[0-9]/
}
});
var timePicker = $("input[data-role='timepicker']");
timePicker.on('focusout mouseleave', function () {
kretaDateTimeHelper.validateTime($(this));
});
$("input[data-role='timepicker']").each(function () {
kretaDateTimeHelper.validateTime($(this));
});
};
kretaDateTimeHelper.SetMaskedTimepickerById = function (id) {
$('#' + id).kendoMaskedTimePicker();
var el = document.getElementById(id);
if (el) {
el.style.width = null;
}
$('#' + id).kendoMaskedTextBox({
mask: '12:34',
rules: {
1: /[0-2]/,
2: /[0-9]/,
3: /[0-5]/,
4: /[0-9]/
}
});
$('#' + id).on('focusout mouseleave', function () {
kretaDateTimeHelper.validateTime($(this));
});
$('#' + id).each(function () {
kretaDateTimeHelper.validateTime($(this));
});
};
return kretaDateTimeHelper;
})();

View file

@ -0,0 +1,16 @@
var KretaDropDownListHelper = (function () {
var kretaDropDownListHelper = function () {};
kretaDropDownListHelper.getKendoDropDownListData = function (dropDownListId) {
var dropDownList = $('#' + dropDownListId);
var dropDownListData = dropDownList.data('kendoDropDownList');
return dropDownListData;
};
kretaDropDownListHelper.refreshDropDownList = function (inputName) {
var widget = $('#' + inputName).data('kendoDropDownList');
widget.dataSource.read();
};
return kretaDropDownListHelper;
})();

View file

@ -0,0 +1,177 @@
var KretaFileUpload = (function () {
var kretaFileUpload = function () {};
kretaFileUpload.GetUploadControl = function (uploadInputName) {
return getUploadControl(uploadInputName);
};
kretaFileUpload.ResetUploadControl = function (uploadInputContainerId) {
$('#' + uploadInputContainerId)
.find('.k-delete')
.click();
return 0;
};
kretaFileUpload.DisplayValidationInfo = function (uploadInputContainerId) {
var uploadInputContainer = $('#' + uploadInputContainerId).find(
'.k-widget.k-upload'
);
uploadInputContainer.append(
"<div id='FileUploadValidationInfo' style='display:inline;'></div>"
);
return 0;
};
kretaFileUpload.DisplayValidationInfo = function (
uploadInputContainerId,
fileUploadValidationContainerId
) {
var uploadInputContainer = $('#' + uploadInputContainerId).find(
'.k-widget.k-upload'
);
uploadInputContainer.append(
"<div id='" +
fileUploadValidationContainerId +
"' style='display:inline;'></div>"
);
return 0;
};
var stopAnimation = false;
var animationTimeOut;
kretaFileUpload.StopAnimation = function () {
stopAnimation = true;
$('#FileUploadValidationInfo').html('');
clearTimeout(animationTimeOut);
};
kretaFileUpload.StopAnimation = function (fileUploadValidationContainerId) {
stopAnimation = true;
$('#' + fileUploadValidationContainerId).html('');
clearTimeout(animationTimeOut);
};
kretaFileUpload.StartAnimation = function () {
stopAnimation = false;
};
kretaFileUpload.VaidationInfoExtensionContainerAnimation = function (
allowedFileExtensionArray,
start
) {
if (stopAnimation) {
kretaFileUpload.StopAnimation();
return 0;
}
var extensionContainer = $('#FileUploadValidationInfo');
extensionContainer.append(
(start < 3 ? ' ' : ', ') + allowedFileExtensionArray[start]
);
if (start < allowedFileExtensionArray.length - 1) {
animationTimeOut = setTimeout(function () {
kretaFileUpload.VaidationInfoExtensionContainerAnimation(
allowedFileExtensionArray,
start + 1
);
}, 20);
}
return 0;
};
kretaFileUpload.VaidationInfoExtensionContainerAnimation = function (
fileUploadValidationContainerId,
allowedFileExtensionArray,
start
) {
if (stopAnimation) {
kretaFileUpload.StopAnimation();
return 0;
}
var extensionContainer = $('#' + fileUploadValidationContainerId);
extensionContainer.append(
(start < 3 ? ' ' : ', ') + allowedFileExtensionArray[start]
);
if (start < allowedFileExtensionArray.length - 1) {
animationTimeOut = setTimeout(function () {
kretaFileUpload.VaidationInfoExtensionContainerAnimation(
fileUploadValidationContainerId,
allowedFileExtensionArray,
start + 1
);
}, 20);
}
return 0;
};
kretaFileUpload.EnableUpload = function (uploadInputName) {
getUploadControl(uploadInputName).enable();
};
kretaFileUpload.DisableUpload = function (uploadInputName) {
getUploadControl(uploadInputName).disable();
};
kretaFileUpload.ToggleEnabled = function (uploadInputName) {
getUploadControl(uploadInputName).toggle();
};
function getUploadControl(inputName) {
return $('#' + inputName).data('kendoUpload');
}
kretaFileUpload.SendAttachmentsAsBase64EncodedString = function (
inputName,
sendRequest
) {
function addCsatolmanyWithBase64EncodedConvertedFile(
file,
callbackAddCsatolmany,
callbackSendRequest,
csatolmanyArray,
fileName
) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onloadend = function () {
callbackAddCsatolmany(
callbackSendRequest,
csatolmanyArray,
fileName,
reader.result
);
};
}
function addCsatolmany(
callbackSendRequest,
csatolmanyArray,
name,
base64EncodedString
) {
csatolmanyArray.push({
Name: name,
ContentAsBase64EncodedString: base64EncodedString
});
if (typeof callbackSendRequest !== 'undefined')
callbackSendRequest(csatolmanyArray);
}
var csatolmanyArray = [];
var csatolmanyInputFileArray =
getUploadControl(inputName).wrapper.find("input[type='file']");
var csatolmanyokSzama = csatolmanyInputFileArray.length - 1;
for (var i = 0; i < csatolmanyokSzama; i++) {
var bouquetCsatolmanyArray = csatolmanyInputFileArray[i].files;
var bouquetCsatolmanyokSzama = bouquetCsatolmanyArray.length;
for (var j = 0; j < bouquetCsatolmanyokSzama; j++) {
addCsatolmanyWithBase64EncodedConvertedFile(
bouquetCsatolmanyArray[j],
addCsatolmany,
i == csatolmanyokSzama - 1 && j == bouquetCsatolmanyokSzama - 1
? sendRequest
: undefined,
csatolmanyArray,
bouquetCsatolmanyArray[j].name
);
}
}
if (csatolmanyokSzama < 1) sendRequest(csatolmanyArray);
};
return kretaFileUpload;
})();

View file

@ -0,0 +1,86 @@
var KretaForm = (function () {
var kretaform = function () {};
kretaform.validate = function (form) {
validate(form);
};
function validate(form) {
form.validate({
errorPlacement: function (error, element) {
element.attr('title', error.text());
element
.prev(
'label[for="' + $(element).attr('name').replace('_', '.') + '"]'
)
.addClass('labelError');
element
.closest('div')
.prev()
.find(
'label[for="' + $(element).attr('name').replace('_', '.') + '"]'
)
.addClass('labelError');
var container = form.find('.kreta-validation-summary');
list = container.find('ul');
if (error && error.length > 0) {
$.each(error, function (i, ival) {
$('<li/>').html(ival).appendTo(list);
});
container
.addClass('validation-summary-errors')
.removeClass('validation-summary-valid');
}
},
success: function (errorLabel) {
$(
'label[for="' + $(errorLabel).attr('for').replace('_', '.') + '"]'
).removeClass('labelError'); //Nested Model Hack
$('label[for=' + $(errorLabel).attr('for') + ']').removeClass(
'labelError'
); //DropDown Hack
errorLabel.parent('li').css({ display: 'none' });
},
showErrors: function (errorMap, errorList) {
var errorCount = this.numberOfInvalids();
this.defaultShowErrors();
$.each(errorList, function (i, ival) {
var elementId = $(ival.element).attr('id');
if (typeof elementId !== 'undefined') {
$('label[for=' + elementId + ']').addClass('labelError'); //DropDown Hack
$('label[for="' + elementId.replace('_', '.') + '"]').addClass(
'labelError'
); //Nested Model Hack
var elem = '#' + elementId + '-error';
$(elem).parent('li').css({ display: 'list-item' });
}
});
var container = form.find('.kreta-validation-summary');
var labelErrors = container.find('.labelError');
var textContents = container.find('ul');
$.each(labelErrors, function (i, element) {
if ($(element).text() === '') {
$(element).parent('li').css({ display: 'none' });
}
});
if (
errorCount > 0 ||
(typeof labelErrors !== 'undefined' && labelErrors.length > 0)
) {
container.css({ display: 'block' });
}
if (typeof textContents !== 'undefined' && textContents.text() === '') {
container.css({ display: 'none' });
}
},
ignore: "input[type='file'].ignore-validation"
});
}
return kretaform;
})();

View file

@ -0,0 +1,875 @@
var KretaGridHelper = (function () {
var kretaGridHelper = function () {};
kretaGridHelper.getKendoGridData = function (gridId) {
var grid = $('#' + gridId);
var gridData = grid.data('kendoGrid');
return gridData;
};
kretaGridHelper.refreshGrid = function (gridName) {
var gridData = kretaGridHelper.getKendoGridData(gridName);
if (!CommonUtils.isNullOrUndefined(gridData)) {
gridData.dataSource.read();
gridData.refresh();
}
};
kretaGridHelper.refreshGridSearchPanel = function (gridName, formName) {
var gridData = kretaGridHelper.getKendoGridData(gridName);
if (!CommonUtils.isNullOrUndefined(gridData)) {
var query = {
data: searchPanelReloadGrid(formName),
page: gridData.dataSource._page,
pageSize: gridData.dataSource.pageSize(),
sort: gridData.dataSource.sort(),
filter: gridData.dataSource.filter()
};
gridData.dataSource.query(query);
gridData.refresh();
}
};
kretaGridHelper.getSearchParameters = function (formName) {
var result = { data: JSON.stringify($(formName).toObject()) };
return result;
};
kretaGridHelper.refreshGridByFormName = function (gridName, formName) {
var searchParameterObject =
kretaGridHelper.getSearchParameterObject(formName);
if (!CommonUtils.isNull(searchParameterObject)) {
kretaGridHelper.refreshGridByObject(gridName, searchParameterObject);
}
};
kretaGridHelper.getSearchParameterObject = function (formName) {
var formElement = $('#' + formName);
if (!CommonUtils.exists(formElement)) {
return null;
}
var result = formElement.toObject();
return result;
};
kretaGridHelper.getSearchParametersWithoutInputNames = function (
searchFormName
) {
var data = CommonUtils.JSONparse(
kretaGridHelper.getSearchParameters('#' + searchFormName).data
);
for (var key in data) {
var k = key + '_input';
if (data.hasOwnProperty(k)) {
delete data[k];
}
}
return data;
};
kretaGridHelper.refreshGridByObject = function (
gridName,
searchParameterObject
) {
var gridData = kretaGridHelper.getKendoGridData(gridName);
if (!CommonUtils.isNullOrUndefined(gridData)) {
var data = kretaGridHelper.getSearchParameterData(searchParameterObject);
gridData.dataSource.read(data);
gridData.refresh();
}
};
kretaGridHelper.clearGridData = function (gridName) {
var gridData = kretaGridHelper.getKendoGridData(gridName);
if (!CommonUtils.isNullOrUndefined(gridData)) {
var data = [];
gridData.dataSource.read(data);
gridData.refresh();
}
};
kretaGridHelper.getSearchParameterData = function (searchParameterObject) {
var result = {
data: JSON.stringify(remove_inputProperties(searchParameterObject))
};
return result;
};
kretaGridHelper.init = function (e) {
var gridName = e.sender.element.attr('id');
initSpecColumns(gridName);
handleDirtyRead(gridName);
detailGridInit(gridName);
var grid = $('#' + gridName).data('kendoGrid');
grid.thead.kendoTooltip({
filter: 'th[data-gridheadertooltip]',
content: function (e) {
var target = e.target;
return target.data('gridheadertooltip');
}
});
};
kretaGridHelper.initToolBar = function (e, gridName) {
if (e.type != 'read') {
return;
}
initPager(e, gridName);
};
kretaGridHelper.selectAll = function (sender, gridName) {
var state = sender.is(':checked');
$('#' + gridName)
.find('*[data-selectGroup="' + gridName + '"]')
.prop('checked', state);
};
kretaGridHelper.rowFunctionCall = function (
sender,
gridId,
jsFunction,
sendSender
) {
sendSender = sendSender || false;
var parentRow = sender.closest('tr').attr('data-uid');
var rowData = kretaGridHelper.getGridRowData(gridId, parentRow);
if (sendSender) {
jsFunction(sender, rowData);
} else {
jsFunction(rowData);
}
};
kretaGridHelper.getRowId = function (sender, gridId) {
var parentRow = sender.closest('tr').attr('data-uid');
var rowData = kretaGridHelper.getGridRowData(gridId, parentRow);
return rowData.ID;
};
kretaGridHelper.getRowData = function (sender, gridId) {
var parentRow = sender.closest('tr').attr('data-uid');
var rowData = kretaGridHelper.getGridRowData(gridId, parentRow);
return rowData;
};
kretaGridHelper.updateDirtyInputsData = function (gridId) {
var dirtyRows = getDirtyRows(gridId);
$.each(dirtyRows, function (i, row) {
updateRowDataFromInput(row);
});
};
kretaGridHelper.getAllRows = function (gridName) {
var allRows = kretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(allRows, function (i, row) {
kretaGridHelper.addInputToRowData(row);
});
return allRows;
};
kretaGridHelper.getAllRowsWithDataAttribute = function (
gridName,
dataAttributes
) {
var allRows = kretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(allRows, function (i, row) {
addInputAndDataAttributeToRowData(row, dataAttributes);
});
return allRows;
};
kretaGridHelper.functionCommandCall = function (sender, gridId, jsFunction) {
var gridData = kretaGridHelper.getKendoGridData(gridId);
if (!CommonUtils.isNullOrUndefined(gridData)) {
jsFunction(gridData.dataSource.data());
}
};
kretaGridHelper.getSelectedCheckboxIds = function (gridName) {
var data = { Items: [] };
$.each($('td.gridSelectCheckBox input:checkbox'), function (i, v) {
if ($(v).prop('checked') == true) {
data.Items.push({ Id: kretaGridHelper.getRowId($(v), gridName) });
}
});
return data;
};
kretaGridHelper.getSelectedRowsByGridName = function (gridName) {
var selectedRows = [];
$.each(
$('#' + gridName + ' td.gridSelectCheckBox input:checkbox'),
function (i, e) {
if ($(e).prop('checked') == true) {
var rowId = $(e).closest('tr').attr('data-uid');
var rowData = kretaGridHelper.getGridRowData(gridName, rowId);
kretaGridHelper.addInputToRowData(rowData);
selectedRows.push(rowData);
}
}
);
return selectedRows;
};
kretaGridHelper.getModifiedRows = function (gridName) {
var dirtyRows = getDirtyRows(gridName);
$.each(dirtyRows, function (i, row) {
kretaGridHelper.addInputToRowData(row);
});
return dirtyRows;
};
kretaGridHelper.haveModifiedRows = function (gridName) {
if (getDirtyRows(gridName).length > 0) {
return true;
}
return false;
};
kretaGridHelper.openAllGrid = function () {
var plusElements = $('.k-master-row .k-plus');
var minusElements = $('.k-master-row .k-minus');
if (plusElements.length > 0) {
$('.k-master-row .k-plus').click();
}
if (minusElements.length > 0) {
$('.k-master-row .k-minus').click();
}
};
kretaGridHelper.exportGrid = function (
grid,
exportFileName,
customColumnArray,
customDateColumnWidth,
popupExport,
exportHiddenColumns
) {
var exportcolumnurl = $('[data-exportcolumnurl]').data('exportcolumnurl');
var exportdataurl = $('[data-exportdataurl]').data('exportdataurl');
if (
typeof exportcolumnurl !== 'undefined' &&
typeof exportdataurl !== 'undefined' &&
(popupExport == false || popupExport == 'undefined')
) {
AjaxHelper.DoPost(exportcolumnurl, null, setExportColumns);
var customFilterData = '-';
if ($('#searchForm').length) {
customFilterData = JSON.stringify($('#searchForm').toObject());
}
function setExportColumns(data) {
var columnsArray = [];
$.each(data, function (key, value) {
if (
customColumnArray !== 'undefined' &&
customColumnArray.length > 0
) {
if ($.inArray(value.Field, customColumnArray) !== -1) {
columnsArray.push({
field: value.Field,
title: value.Title
});
}
} else {
columnsArray.push({
field: value.Field,
title: value.Title
});
}
});
var sort = $('#' + grid.id)
.data('kendoGrid')
.dataSource.sort();
var dir = '-';
var field = '-';
if (typeof sort !== 'undefined' && sort.length > 0) {
dir = sort[0].dir;
field = sort[0].field;
}
$.ajax({
url: exportdataurl,
data: {
searchFilter: customFilterData,
sortColumn: field,
sortDir: dir
},
success: function (data) {
var exportDiv = $('<div>', { id: 'exportDiv' });
var dataSource = new kendo.data.DataSource({
data: data.Data
});
dataSource.read();
var exportGrid = exportDiv.kendoGrid({
columns: columnsArray,
excel: { fileName: exportFileName }
});
var grid = exportGrid.data('kendoGrid');
grid.setDataSource(dataSource);
grid.saveAsExcel();
}
});
}
} else {
var exportDiv = $('<div>', { id: 'exportDiv' });
var columnTemplates = [];
var hiddenColumnsCount = 0;
var columns = $('#' + grid.attributes.id.value).data('kendoGrid').columns;
$.each(columns, function (i, v) {
v.footerTemplate = null;
if (exportHiddenColumns) {
v.hidden = undefined;
} else if (v.hidden === true) {
hiddenColumnsCount++;
}
if (columns[i].template && columns[i].field != null) {
columnTemplates.push({
cellIndex: i - 1,
template: kendo.template(columns[i].template)
});
}
});
var exportGrid = exportDiv.kendoGrid({ columns: columns });
var dataSource = $('#' + grid.attributes.id.value).data(
'kendoGrid'
).dataSource;
var grid = exportGrid.data('kendoGrid');
$.each(grid.columns, function (i, v) {
if (CommonUtils.isNullOrUndefined(customDateColumnWidth)) {
v.width = null;
} else {
v.width = CommonUtils.isNullOrUndefined(v.format)
? null
: customDateColumnWidth;
}
});
grid.setDataSource(dataSource);
grid.options.excel.fileName = exportFileName;
grid.options.excel.allPages = true;
if (popupExport === true) {
grid.bind('excelExport', function (e) {
var elem = document.createElement('div');
for (var i = 1; i < e.workbook.sheets[0].rows.length; i++) {
var row = e.workbook.sheets[0].rows[i];
var dataItem = e.data[i - 1];
for (var j = 0; j < columnTemplates.length; j++) {
var columnTemplate = columnTemplates[j];
elem.innerHTML = columnTemplate.template(dataItem);
if (
row.cells[columnTemplate.cellIndex - hiddenColumnsCount] !=
'undefined'
) {
row.cells[columnTemplate.cellIndex - hiddenColumnsCount].value =
elem.textContent || elem.innerText || '';
}
}
}
});
}
grid.saveAsExcel();
}
};
kretaGridHelper.exportGridAndSaveAsExcel = function (
columnsNameAndTitleArray,
gridDataSource,
exportFileName
) {
var columnsNameAndTitleArrayConvertedForKendoGrid = [];
$.each(columnsNameAndTitleArray, function (key, value) {
columnsNameAndTitleArrayConvertedForKendoGrid.push({
field: value.Field,
title: value.Title
});
});
var exportDiv = $('<div>', { id: 'exportDiv' });
var exportGrid = exportDiv.kendoGrid({
columns: columnsNameAndTitleArrayConvertedForKendoGrid
});
var grid = exportGrid.data('kendoGrid');
var dataSource = new kendo.data.DataSource({
data: gridDataSource.Data
});
dataSource.read();
grid.setDataSource(dataSource);
if (typeof exportFileName === 'undefined') {
exportFileName = 'Export';
}
grid.options.excel.fileName = exportFileName;
grid.saveAsExcel();
};
kretaGridHelper.resetHeaderCheckbox = function (gridName) {
$('#' + gridName + '_chk').prop('checked', false);
};
function initSpecColumns(gridName) {
var specInput = $('[data-inputParentGrid = "' + gridName + '"]');
$.each(specInput, function (i, e) {
eval($(e).children('script').last().html());
$(e).change(function () {
inputFieldChange($(this), gridName);
});
});
handleDropdownSpecColumn(gridName);
var rowCommand = $('[data-rowFunctionParent = "' + gridName + '"]');
$.each(rowCommand, function (i, e) {
eval($(e).children('script').last().html());
});
}
function handleDropdownSpecColumn(gridName) {
var specDropDownInput = $(
'.gridDropDownList[data-inputParentGrid = "' + gridName + '"]'
);
var urls = [];
$.each(specDropDownInput, function () {
var url = $(this).data('dropdownurl');
if (!CommonUtils.isUndefined(url)) {
var dataReadFunction = null;
try {
var stringFunction = $(this).data('readdatahandler');
if (stringFunction != '') {
dataReadFunction = new Function(stringFunction);
}
} catch (e) {
console.error(e);
}
var dropdownUrl = $.grep(urls, function (item) {
return item.url == url;
});
if (dropdownUrl.length < 1) {
urls.push({
element: [{ Id: '#' + $(this).attr('data-uddlId') }],
url: url,
dataReadFunction: dataReadFunction,
dropdownGroupCustomOrder: $(this).attr(
'data-dropdownGroupCustomOrder'
)
});
} else {
dropdownUrl[0].element.push({
Id: '#' + $(this).attr('data-uddlId')
});
}
}
});
$.each(urls, function () {
var e = this.element;
var dropdownGroupCustomOrder = this.dropdownGroupCustomOrder;
if (this.dataReadFunction != null) {
AjaxHelper.DoGet(this.url, this.dataReadFunction(), function (d) {
setDropdown(d, e, dropdownGroupCustomOrder);
});
} else {
AjaxHelper.DoGet(this.url, {}, function (d) {
setDropdown(d, e, dropdownGroupCustomOrder);
});
}
function setDropdown(data, elements, dropdownGroupCustomOrder) {
var useGroup = false;
var dataSource = new kendo.data.DataSource({
data: []
});
$.each(data, function (i, e) {
dataSource.fetch(function () {
if (e.Group != null) {
dataSource.add({
Value: e.Value,
Text: e.Text,
Group: e.Group,
SortId: i
});
useGroup = true;
} else if (e.GroupName != null) {
dataSource.add({
Value: e.Value,
Text: e.Text,
Group: e.GroupName,
SortId: i
});
useGroup = true;
} else {
dataSource.add({ Value: e.Value, Text: e.Text });
}
});
});
if (useGroup) {
if (typeof dropdownGroupCustomOrder === 'undefined') {
dataSource.group({ field: 'Group' });
} else {
dataSource.group({ field: 'Group', dir: dropdownGroupCustomOrder });
}
dataSource.sort({ field: 'SortId', dir: 'asc' });
}
$(document).ready(function () {
$.each(elements, function () {
var ddl = $(this.Id).data('kendoDropDownList');
var combo = $(this.Id).data('kendoComboBox');
if (ddl) {
ddl.setDataSource(dataSource);
ddl.value($(this.Id).attr('value'));
} else if (combo) {
combo.setDataSource(dataSource);
combo.value($(this.Id).attr('value'));
}
});
});
}
});
}
function handleDirtyRead(gridName) {
var headerRow = $('#' + gridName)
.find('thead')
.first();
var sortColumnHeader = headerRow.find("th[data-role='columnsorter']");
$.each(sortColumnHeader, function (i, elem) {
$(elem).unbind('click.kendoGrid');
$(elem).bindFirst('click.kendoGrid', function (e) {
dirtyRowConfirm(e, gridName);
});
});
}
function dirtyRowConfirm(e, gridName) {
if (getDirtyRows(gridName).length > 0) {
if (confirm(Globalization.GridAdatvesztesFigyelmeztetes) == false) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
}
}
}
kretaGridHelper.addInputToRowData = function (rowData) {
var inputControls = $('[data-uid ="' + rowData.uid + '"]').find(
'[data-rowInputName]'
);
var rowInputs = [];
$.each(inputControls, function (y, input) {
var val = '';
if ($(input).prop('type') === 'checkbox') {
val = $(input).prop('checked');
} else if ($(input).attr('data-role') === 'timepicker') {
val = kendo.toString($(input).data('kendoTimePicker').value(), 'H:mm');
} else {
val = $(input).val();
}
rowInputs.push({ name: $(input).attr('data-rowInputName'), value: val });
rowData['ki_' + $(input).attr('data-rowInputName')] = val;
});
rowData.input = rowInputs;
};
function addInputAndDataAttributeToRowData(rowData, dataAttributes) {
var rowInputs = [];
$.each(dataAttributes, function (i, v) {
var element = $('[data-uid ="' + rowData.uid + '"]').find(
'[data-' + v + ']'
);
var value = $(element).attr('data-' + v);
if (value === 'null') {
value = null;
}
rowInputs.push({ name: v, value: value });
rowData['ki_' + v] = value;
});
var inputControls = $('[data-uid ="' + rowData.uid + '"]').find(
'[data-rowInputName]'
);
$.each(inputControls, function (y, input) {
var val = '';
if ($(input).prop('type') === 'checkbox') {
val = $(input).prop('checked');
} else if ($(input).attr('data-role') === 'timepicker') {
val = kendo.toString($(input).data('kendoTimePicker').value(), 'H:mm');
} else {
val = $(input).val();
}
rowInputs.push({ name: $(input).attr('data-rowInputName'), value: val });
rowData['ki_' + $(input).attr('data-rowInputName')] = val;
});
rowData.input = rowInputs;
}
function updateRowDataFromInput(rowData) {
var inputControls = $('[data-uid ="' + rowData.uid + '"]').find(
'[data-rowInputName]'
);
$.each(inputControls, function (y, input) {
var val = '';
if ($(input).prop('type') === 'checkbox') {
val = $(input).prop('checked');
} else if ($(input).attr('data-role') === 'timepicker') {
val = kendo.toString($(input).data('kendoTimePicker').value(), 'H:mm');
} else {
val = $(input).val();
}
rowData[$(input).attr('data-rowInputName')] = val;
});
}
function getDirtyRows(gridName) {
var gridData = kretaGridHelper.getKendoGridData(gridName).dataSource.data();
var dirty = $.grep(gridData, function (item) {
return item.dirty;
});
return dirty;
}
function inputFieldChange(sender, gridName) {
var parentRow = sender.closest('tr').attr('data-uid');
var rowData = kretaGridHelper.getGridRowData(gridName, parentRow);
rowData.dirty = true;
}
function searchPanelReloadGrid(formName) {
var formObject = $('#' + formName).toObject();
var result = JSON.stringify(remove_inputProperties(formObject));
return result;
}
function remove_inputProperties(object) {
//TCs: az _input részben a felesleges szöveges érték van, ami ha html kódot tartalmaz, akkor üresen jelenik meg a grid
var result = {};
for (var property in object) {
if (!property.endsWith('_input')) {
result[property] = object[property];
}
}
return result;
}
kretaGridHelper.getGridRowData = function (gridId, rowId) {
var gridData = kretaGridHelper.getKendoGridData(gridId);
var rowData = null;
$.each(gridData.dataSource.data(), function (i, e) {
if (e.uid == rowId) {
rowData = e;
return false;
}
});
return rowData;
};
kretaGridHelper.setRowToDirty = function (gridId, id) {
var gridData = kretaGridHelper.getKendoGridData(gridId);
$.each(gridData.dataSource.data(), function (i, e) {
if (parseInt(e.ID) == id) {
e.dirty = true;
return false;
}
});
};
function initPager(responsEvent, gridName) {
function initBackButton() {
var button = grid.find('.kendoGrid-Back');
button.removeClass('k-state-disabled');
button.unbind('click.kendoGrid');
if (currentPage <= 1) {
button.addClass('k-state-disabled');
} else {
button.bind('click.kendoGrid', function (e) {
dirtyRowConfirm(e, gridName);
});
button.bind('click.kendoGrid', function () {
gridData.page(gridData.page() - 1);
});
}
}
function initNextButton() {
var button = grid.find('.kendoGrid-Next');
button.removeClass('k-state-disabled');
button.unbind('click.kendoGrid');
if (currentPage >= totalPage) {
button.addClass('k-state-disabled');
} else {
button.bind('click.kendoGrid', function (e) {
dirtyRowConfirm(e, gridName);
});
button.bind('click.kendoGrid', function () {
gridData.page(gridData.page() + 1);
});
}
}
function initCounter() {
var info = grid.find('.kendoGrid-PageInfo');
var min = (currentPage - 1) * pageSize + 1;
var max = currentPage * pageSize;
if (max > total) {
max = total;
}
info.text(
(isNaN(min) ? 0 : min) + ' - ' + (isNaN(max) ? 0 : max) + ' / ' + total
);
}
function initPageSize() {
var dropdown = $('#' + gridName + '_PageSize');
dropdown.unbind('change.kendoGrid');
dropdown.bind('change.kendoGrid', function () {
gridData.pageSize($(this).val());
});
}
function hideIfUnnecessary() {
var pager = grid.find('.k-grid-pager');
grid.find('span.kendoGrid-PageInfo').hide();
if (totalPage > 1) {
pager.find('.k-dropdown').show();
pager.find('.kendoGrid-Back').show();
pager.find('.kendoGrid-Next').show();
grid.find('span.kendoGrid-PageInfo').show();
} else {
if (gridData.pageSize() == 100) {
pager.find('.k-dropdown').hide();
}
pager.find('.kendoGrid-Back').hide();
pager.find('.kendoGrid-Next').hide();
var pagerInfo = grid.find('span.kendoGrid-PageInfo.mustShowPagerCount');
if (pagerInfo.length > 0) {
if (pagerInfo.text().indexOf(' - 0 / 0') === -1) {
grid.find('span.kendoGrid-PageInfo').show();
}
}
if (
grid.find('.kendo-gridFunctionKommand').length == 0 &&
grid.find('.k-i-excel').length == 0 &&
grid.find('.k-i-pdf').length == 0 &&
grid.find('span.kendoGrid-PageInfo.mustShowPagerCount').length == 0
) {
grid.find('.k-grid-toolbar').remove();
}
}
}
var total = responsEvent.response.Total;
var pageSize = responsEvent.sender._pageSize;
var currentPage = responsEvent.sender._page;
var totalPage = Math.ceil(total / pageSize);
var grid = $('#' + gridName);
var gridData = kretaGridHelper.getKendoGridData(gridName).dataSource;
initBackButton();
initNextButton();
initCounter();
initPageSize();
hideIfUnnecessary();
}
function detailGridInit(gridName) {
if (typeof $('#' + gridName).attr('clientTemplateUrl') !== 'undefined') {
var gridData = kretaGridHelper.getKendoGridData(gridName);
gridData.unbind('detailInit');
gridData.bind('detailInit', function (e) {
if ($('#' + gridName).attr('clientTemplateWholeDataRow') == 'True') {
AjaxHelper.DoPost(
$('#' + gridName).attr('clientTemplateUrl'),
kretaGridHelper.getGridRowData(gridName, e.data.uid),
function (data) {
e.detailCell.append(data);
}
);
} else {
AjaxHelper.DoPost(
$('#' + gridName).attr('clientTemplateUrl'),
{
Id: e.data.ID
},
function (data) {
e.detailCell.append(data);
}
);
}
});
}
}
//NOTE: Ezzel szűrjük az export-ot a SearchPanelSideBar-ban lévő property-kkel.
//Ha null, akkor visszakapjuk az összes elemet a gridben, szűrés nélkül.
kretaGridHelper.getExportBySearchForm = function (
gridName,
url,
searchFormName
) {
var searchParameters = null;
if (searchFormName) {
searchParameters = kretaGridHelper.getSearchParameters(
`#${searchFormName}`
);
}
kretaGridHelper.getExport(gridName, url, searchParameters);
};
//NOTE: Ezzel szűrjük az export-ot már előre elkészített searchParameters objektummal.
//Figyelni, kell, hogy a c# oldalon benne legyenek a szűrő modelben a searchParameters property-jei!
//Ha null, akkor üres string-ként adjuk át a searchParameters-t és nem történik semmilyen szűrés.
kretaGridHelper.getExport = function (gridName, url, searchParameters) {
if (CommonUtils.isNullOrUndefined(searchParameters)) {
searchParameters = { data: '' };
}
var gridData = kretaGridHelper.getKendoGridData(gridName);
var params = gridData.dataSource._params();
var dataSourceRequest = gridData.dataSource.transport.parameterMap(params);
var data = Object.assign(dataSourceRequest, searchParameters);
AjaxHelper.DownloadFile(url, data, true);
};
return kretaGridHelper;
})();
$.fn.bindFirst = function (name, fn) {
this.on(name, fn);
this.each(function () {
var handlers = $._data(this, 'events')[name.split('.')[0]];
// take out the handler we just inserted from the end
var handler = handlers.pop();
// move it at the beginning
handlers.splice(0, 0, handler);
});
};

View file

@ -0,0 +1,73 @@
var KretaImportGridHelper = (function () {
var kretaImportGridHelper = function () {};
kretaImportGridHelper.initializeGrid = function (
gridId,
columns,
dataSource,
rowTemplateId
) {
var defaultImportPreviewPopupHeight = 768;
var gridHeight = 675;
var gridContentMaxHeight = 586;
var currentImportPreviewPopupHeight = $('#ImportPreviewPopup')
.parent()
.height();
if (defaultImportPreviewPopupHeight !== currentImportPreviewPopupHeight) {
var difference =
defaultImportPreviewPopupHeight - currentImportPreviewPopupHeight;
gridHeight -= difference;
gridContentMaxHeight -= difference;
}
$('#' + gridId).kendoGrid({
columns: columns,
dataSource: dataSource,
sortable: true,
pageable: {
alwaysVisible: false,
pageSize: 15,
buttonCount: 5,
messages: {
display: '{0} - {1} / {2}',
empty: Globalization.NincsAdat,
first: Globalization.ElsoOldal,
last: Globalization.UtolsoOldal,
next: Globalization.KovetkezoOldal,
previous: Globalization.ElozoOldal,
morePages: Globalization.TobbOldal
}
},
noRecords: true,
messages: {
noRecords: Globalization.NincsTalalat
},
height: gridHeight
});
var grid = KretaGridHelper.getKendoGridData(gridId);
if (!CommonUtils.isNullOrEmpty(rowTemplateId)) {
grid.setOptions({
rowTemplate: window.kendo.template($('#' + rowTemplateId).html())
});
}
grid.content.attr(
'style',
'max-height: ' + gridContentMaxHeight + 'px !important;'
);
grid.table.css('min-width', '100%');
};
kretaImportGridHelper.getFormObject = function (formName) {
var formElement = $('#' + formName);
if (!CommonUtils.exists(formElement)) {
return null;
}
var result = formElement.toObject();
return result;
};
return kretaImportGridHelper;
})();

View file

@ -0,0 +1,84 @@
(function ($) {
var kendo = window.kendo,
ui = kendo.ui,
Widget = ui.Widget,
proxy = $.proxy,
CHANGE = 'change',
PROGRESS = 'progress',
ERROR = 'error',
NS = '.generalInfo';
var MaskedDateTimePicker = Widget.extend({
init: function (element, options) {
var that = this;
Widget.fn.init.call(this, element, options);
var mask = '0000. 00. 00. 00:00';
var format = 'yyyy. MM. dd. HH:mm';
var parseFormats = 'yyyy. MM. dd. HH:mm';
var minDate = '1900. 01. 01. 00:00';
var maxDate = '2100. 01. 01. 00:00';
if (typeof options !== 'undefined') {
$.each(options, function (index, value) {
if (index == 'dateOptions.mask') {
mask = value;
}
if (index == 'dateOptions.format') {
format = value;
}
if (index == 'dateOptions.parseFormats') {
parseFormats = value;
}
});
}
var dateTimePickerOptions = {};
//ha már van rajta datePicker (MVC-s helper miatt), akkor azt levesszük, de a beállításait megtartjuk
var dateTimePicker = $(element).data('kendoDateTimePicker');
if (typeof dateTimePicker !== 'undefined') {
dateTimePickerOptions = dateTimePicker.options;
dateTimePicker.destroy();
}
dateTimePickerOptions.format = format;
dateTimePickerOptions.parseFormats = parseFormats;
dateTimePickerOptions.minDate = minDate;
dateTimePickerOptions.maxDate = maxDate;
$(element)
.kendoMaskedTextBox({ mask: mask, culture: 'en-US' })
.kendoDateTimePicker(dateTimePickerOptions)
.closest('.k-datetimepicker')
.add(element)
.removeClass('k-textbox');
that.element.data('kendoDateTimePicker').bind('change', function () {
that.trigger(CHANGE);
});
},
options: {
name: 'MaskedDateTimePicker',
dateOptions: {}
},
events: [CHANGE],
destroy: function () {
var that = this;
Widget.fn.destroy.call(that);
kendo.destroy(that.element);
},
value: function (value) {
var datetimepicker = this.element.data('kendoDateTimePicker');
if (CommonUtils.isNullOrUndefined(value)) {
return datetimepicker.value();
}
datetimepicker.value(value);
}
});
ui.plugin(MaskedDateTimePicker);
})(window.kendo.jQuery);

View file

@ -0,0 +1,84 @@
(function ($) {
var kendo = window.kendo,
ui = kendo.ui,
Widget = ui.Widget,
proxy = $.proxy,
CHANGE = 'change',
PROGRESS = 'progress',
ERROR = 'error',
NS = '.generalInfo';
var MaskedDatePicker = Widget.extend({
init: function (element, options) {
var that = this;
Widget.fn.init.call(this, element, options);
var mask = '0000. 00. 00.';
var format = 'yyyy. MM. dd.';
var parseFormats = 'yyyy. MM. dd.';
var minDate = '1900. 01. 01.';
var maxDate = '2100. 01. 01.';
if (typeof options !== 'undefined') {
$.each(options, function (index, value) {
if (index == 'dateOptions.mask') {
mask = value;
}
if (index == 'dateOptions.format') {
format = value;
}
if (index == 'dateOptions.parseFormats') {
parseFormats = value;
}
});
}
var datePickerOptions = {};
//ha már van rajta datePicker (MVC-s helper miatt), akkor azt levesszük, de a beállításait megtartjuk
var datePicker = $(element).data('kendoDatePicker');
if (typeof datePicker !== 'undefined') {
datePickerOptions = datePicker.options;
datePicker.destroy();
}
datePickerOptions.format = format;
datePickerOptions.parseFormats = parseFormats;
datePickerOptions.minDate = minDate;
datePickerOptions.maxDate = maxDate;
$(element)
.kendoMaskedTextBox({ mask: mask, culture: 'en-US' })
.kendoDatePicker(datePickerOptions)
.closest('.k-datepicker')
.add(element)
.removeClass('k-textbox');
that.element.data('kendoDatePicker').bind('change', function () {
that.trigger(CHANGE);
});
},
options: {
name: 'MaskedDatePicker',
dateOptions: {}
},
events: [CHANGE],
destroy: function () {
var that = this;
Widget.fn.destroy.call(that);
kendo.destroy(that.element);
},
value: function (value) {
var datepicker = this.element.data('kendoDatePicker');
if (CommonUtils.isNullOrUndefined(value)) {
return datepicker.value();
}
datepicker.value(value);
}
});
ui.plugin(MaskedDatePicker);
})(window.kendo.jQuery);

View file

@ -0,0 +1,71 @@
(function ($) {
var kendo = window.kendo,
ui = kendo.ui,
Widget = ui.Widget,
proxy = $.proxy,
CHANGE = 'change',
PROGRESS = 'progress',
ERROR = 'error',
NS = '.generalInfo';
var MaskedTimePicker = Widget.extend({
init: function (element, options) {
var that = this;
Widget.fn.init.call(this, element, options);
var mask = '00:00';
var format = 'HH:mm';
var parseFormats = 'HH:mm';
if (typeof options !== 'undefined') {
$.each(options, function (index, value) {
if (index == 'dateOptions.mask') {
mask = value;
}
if (index == 'dateOptions.format') {
format = value;
}
if (index == 'dateOptions.parseFormats') {
parseFormats = value;
}
});
}
$(element)
.kendoMaskedTextBox({ mask: mask })
.kendoTimePicker({
format: format,
parseFormats: parseFormats
})
.closest('.k-timepicker')
.add(element)
.removeClass('k-textbox');
that.element.data('kendoTimePicker').bind('change', function () {
that.trigger(CHANGE);
});
},
options: {
name: 'MaskedTimePicker',
dateOptions: {}
},
events: [CHANGE],
destroy: function () {
var that = this;
Widget.fn.destroy.call(that);
kendo.destroy(that.element);
},
value: function (value) {
var datetimepicker = this.element.data('kendoTimePicker');
if (CommonUtils.isNullOrUndefined(value)) {
return datetimepicker.value();
}
datetimepicker.value(value);
}
});
ui.plugin(MaskedTimePicker);
})(window.kendo.jQuery);

View file

@ -0,0 +1,138 @@
var KretaMultiSelectHelper = (function () {
var kretaMultiSelectHelper = function () {};
kretaMultiSelectHelper.getKendoMultiSelectData = function (multiSelectId) {
var multiSelectBox = $('#' + multiSelectId);
var multiSelectData = multiSelectBox
.kendoMultiSelect()
.data('kendoMultiSelect');
return multiSelectData;
};
kretaMultiSelectHelper.getCascadeData = function (inputName) {
if (inputName.indexOf(',') >= 0) {
var array = inputName.split(',');
var data = '';
$.each(array, function (key, value) {
if (data.length) {
data += ',';
}
if (value.indexOf('#') >= 0) {
data += $(value).val();
} else {
data += $('#' + value).val();
}
});
return { cascadeFilter: data };
}
return { cascadeFilter: $(inputName).val() };
};
kretaMultiSelectHelper.getServerFilteringData = function (inputName) {
return { serverFilter: $(inputName).val() };
};
kretaMultiSelectHelper.getServerFilteringMultiSelectTextData = function (
inputName
) {
var textValue = $(inputName).data('kendoMultiSelect').text();
if (textValue.length) {
return { serverFilter: textValue };
}
return null;
};
kretaMultiSelectHelper.refreshMultiSelectBox = function (inputName) {
var widget = $('#' + inputName)
.kendoMultiSelect()
.data('kendoMultiSelect');
widget.dataSource.read();
};
kretaMultiSelectHelper.setFirstItem = function (
inputName,
setIfHasOnlyOneItem
) {
var widget = $('#' + inputName)
.kendoMultiSelect()
.data('kendoMultiSelect');
if (setIfHasOnlyOneItem) {
if (widget.dataSource.data().length === 1) {
widget.value(widget.dataSource.data()[0].Value);
}
} else {
if (widget.dataSource.data().length > 0) {
widget.value(widget.dataSource.data()[0].Value);
}
}
};
function validateDataInChange(elementId) {
elementId = elementId.replace('.', '_');
$('input[name="' + elementId + '"]').attr(
'title',
$('input[name="' + elementId + '_input"]').attr('title')
);
var widget = $('#' + elementId)
.kendoMultiSelect()
.data('kendoMultiSelect');
if (widget.selectedIndex === -1 && widget.value()) {
if (widget.dataSource.view().length) {
widget.select(0);
} else {
widget.value(null);
}
}
}
kretaMultiSelectHelper.validateCascadeDataInChange = function (e) {
validateDataInChange(e.id);
};
kretaMultiSelectHelper.validateDataInChange = function (e) {
validateDataInChange(e.sender.element[0].id);
};
kretaMultiSelectHelper.dataBoundMultiSelect = function (e) {
var elementId = e.sender.element[0].id;
var multiSelect = $('#' + elementId).data('kendoMultiSelect');
if (typeof multiSelect !== 'undefined') {
var dataSource = multiSelect.dataSource;
if (dataSource != null) {
if (dataSource.data().length == 1) {
var data = dataSource.data()[0];
multiSelect.value(data.Value);
multiSelect.trigger('change');
}
}
}
};
kretaMultiSelectHelper.onOpenDropdownMultiSelect = function (e) {
var elementId = e.sender.element[0].id;
var MultiBox = $('#' + elementId).data('kendoMultiSelect');
return MultiBox;
};
kretaMultiSelectHelper.setKendoValue = function (comboBoxData, value) {
comboBoxData.value(value);
comboBoxData.trigger('change');
};
return kretaMultiSelectHelper;
})();

View file

@ -0,0 +1,27 @@
var KretaNumericHelper = (function () {
var kretaNumericHelper = function () {};
kretaNumericHelper.getKendoNumericTextBoxData = function (numericTextBoxId) {
var numericTextBox = $('#' + numericTextBoxId);
var numericTextBoxData = numericTextBox.data('kendoNumericTextBox');
return numericTextBoxData;
};
kretaNumericHelper.setValue = function (numericTextBoxId, value) {
var numericTextBoxData =
kretaNumericHelper.getKendoNumericTextBoxData(numericTextBoxId);
numericTextBoxData.value(value);
};
kretaNumericHelper.setTitle = function (e) {
var inputName = e.sender.element[0].id;
$('#' + inputName).attr(
'title',
$('#' + inputName)
.prev('input')
.attr('title')
);
};
return kretaNumericHelper;
})();

View file

@ -0,0 +1,742 @@
var KretaOsztalybaSorolasHelper = (function () {
var kretaOsztalybaSorolasHelper = function () {};
//Selectedre állítja egy select összes option-jét
kretaOsztalybaSorolasHelper.selectAllOptions = function (selStr) {
var selObj = document.getElementById(selStr);
for (var i = 0; i < selObj.options.length; i++) {
selObj.options[i].selected = true;
}
};
//Leszedi a selectedet egy select összes option-jéről
kretaOsztalybaSorolasHelper.deSelectAllOptions = function (selStr) {
var selObj = document.getElementById(selStr);
for (var i = 0; i < selObj.options.length; i++) {
selObj.options[i].selected = false;
}
$('#sortNameFromElement').click();
$('#sortNameToElement').click();
};
//A jobb oldali tanuló listát frissíti
kretaOsztalybaSorolasHelper.replaceToTanuloList = function (data) {
$('#multiselect_to').find('option').remove().end();
$('#ToElementsCount').text('0');
if (data.length) {
$.each(data, function (key, value) {
var $option = $('<option disabled></option>')
.attr('value', data[key].Value)
.attr('fromId', $('#FromDDL').val())
.attr('szulDatum', data[key].SzulDatum)
.attr('neme', data[key].Neme)
.attr('nevElotagNelkul', data[key].NevElotagNelkul)
.attr('jogviszonyCount', data[key].JogviszonyCount)
.attr('jogviszonyId', '0')
.text(data[key].Text);
var oldText;
var date;
if (!data[key].Aktiv) {
$option.css({ background: '#C5D3E2', color: '#828EB2' });
if (data[key].KisorolasDatum != null) {
oldText = $option.text();
date = new Date(data[key].KisorolasDatum);
$option.text(
oldText + ' Kisorolva: ' + date.toLocaleDateString('hu-HU')
);
}
} else {
if (data[key].BesorolasDatum != null) {
oldText = $option.text();
date = new Date(data[key].BesorolasDatum);
$option.text(
oldText + ' Besorolva: ' + date.toLocaleDateString('hu-HU')
);
}
}
$('#multiselect_to').append($option);
});
$('#multiselect_to').unbind();
$('#multiselect_to option').unbind();
//KretaOsztalybaSorolasHelper.setMultiClickOption("SorolasForm");
$('#ToElementsCountIn').text($('#multiselect_to option').length);
setTimeout(function () {
$('#multiselect_to').click(function () {
$('#ToElementsCount').text($('#multiselect_to :selected').length);
});
}, 1);
if (KretaOsztalybaSorolasHelper.msieversion()) {
$('#multiselect_to option')
.mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () {
select.scrollTop = scroll;
}, 0);
$('#multiselect_to').focus();
})
.mousemove(function (e) {
e.preventDefault();
});
} else {
$('#multiselect_to')
.mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () {
select.scrollTop = scroll;
}, 0);
$('#multiselect_to').focus();
})
.mousemove(function (e) {
e.preventDefault();
});
}
}
kretaOsztalybaSorolasHelper.multiselectWithShiftFrom();
kretaOsztalybaSorolasHelper.multiselectWithShiftTo();
};
//A bal oldali tanuló listát frissíti
kretaOsztalybaSorolasHelper.replaceFromTanuloList = function (data) {
let selectedOptions = $('#multiselect')
.find('option:selected')
.toArray()
.map((i) => i.value);
$('#multiselect').find('option').remove().end();
$('#FromElementsCount').text('0');
if (data.length) {
$.each(data, function (key, value) {
var $option = $('<option></option>')
.attr('value', data[key].Value)
.attr('fromId', $('#FromDDL').val())
.attr('szulDatum', data[key].SzulDatum)
.attr('neme', data[key].Neme)
.attr('nevElotagNelkul', data[key].NevElotagNelkul)
.attr('jogviszonyCount', data[key].JogviszonyCount)
.attr('jogviszonyId', '0')
.text(data[key].Text);
var oldText;
var date;
if (!data[key].Aktiv) {
$option.attr('disabled', 'disabled');
$option.css({ background: '#C5D3E2', color: '#828EB2' });
if (data[key].KisorolasDatum != null) {
oldText = $option.text();
date = new Date(data[key].KisorolasDatum);
$option.text(
oldText + ' Kisorolva: ' + date.toLocaleDateString('hu-HU')
);
}
} else {
if (data[key].KisorolasDatum != null) {
oldText = $option.text();
date = new Date(data[key].KisorolasDatum);
$option.text(
oldText + ' Kisorolva: ' + date.toLocaleDateString('hu-HU')
);
}
if (data[key].BesorolasDatum != null) {
oldText = $option.text();
date = new Date(data[key].BesorolasDatum);
$option.text(
oldText + ' Besorolva: ' + date.toLocaleDateString('hu-HU')
);
}
if (typeof getNincsRogzitettAtiratkozasiZaradek === 'function') {
$option.attr(
'class',
data[key].Vegzaradek != null ? 'green' : 'red'
);
$option.attr(
'data-fa-icon',
data[key].Vegzaradek != null ? '\uf00c' : '\uf00d'
);
$option.attr(
'title',
data[key].Vegzaradek != null
? data[key].Vegzaradek
: KretaOsztalybaSorolasHelper.NincsRogzitettAtiratkozasiZaradek()
);
}
}
$('#multiselect').append($option);
});
$('#multiselect').unbind();
$('#multiselect option').unbind();
KretaOsztalybaSorolasHelper.setMultiClickOption('SorolasForm');
$('#FromElementsCountIn').text($('#multiselect option').length);
setTimeout(function () {
$('#multiselect').click(function () {
$('#FromElementsCount').text($('#multiselect :selected').length);
});
}, 1);
if (KretaOsztalybaSorolasHelper.msieversion()) {
$('#multiselect option')
.mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () {
select.scrollTop = scroll;
}, 0);
$('#multiselect').focus();
})
.mousemove(function (e) {
e.preventDefault();
});
} else {
$('#multiselect')
.mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () {
select.scrollTop = scroll;
}, 0);
$('#multiselect').focus();
})
.mousemove(function (e) {
e.preventDefault();
});
}
}
kretaOsztalybaSorolasHelper.multiselectWithShiftFrom();
kretaOsztalybaSorolasHelper.multiselectWithShiftTo();
$('#multiselect')
.find('option')
.toArray()
.filter((i) => selectedOptions.includes(i.value))
.forEach((i) => (i.selected = true));
};
kretaOsztalybaSorolasHelper.multiselectWithShiftFrom = function () {
var fromOptionSelector = '#multiselect option';
var lastOptionFrom = null;
// Többes kiválasztás
$(fromOptionSelector).on('click', function (e) {
if (!lastOptionFrom) {
lastOptionFrom = this;
return;
}
if (e.shiftKey) {
var from = $(fromOptionSelector).index(this);
var to = $(fromOptionSelector).index(lastOptionFrom);
var start = Math.min(from, to);
var end = Math.max(from, to) + 1;
$(fromOptionSelector)
.slice(start, end)
.filter(':not(:disabled)')
.prop('selected', lastOptionFrom.selected);
}
lastOptionFrom = this;
});
};
kretaOsztalybaSorolasHelper.multiselectWithShiftTo = function () {
var toOptionSelector = '#multiselect_to option';
var lastOptionTo = null;
// Többes kiválasztás
$(toOptionSelector).on('click', function (e) {
if (!lastOptionTo) {
lastOptionTo = this;
return;
}
if (e.shiftKey) {
var from = $(toOptionSelector).index(this);
var to = $(toOptionSelector).index(lastOptionTo);
var start = Math.min(from, to);
var end = Math.max(from, to) + 1;
$(toOptionSelector)
.slice(start, end)
.filter(':not(:disabled)')
.prop('selected', lastOptionTo.selected);
}
lastOptionTo = this;
});
};
kretaOsztalybaSorolasHelper.setMultiClickOption = function (formName) {
if (KretaOsztalybaSorolasHelper.msieversion()) {
window.selectedIEOptions = {};
$('#multiselect').click(function (e) {
var $this = $(this),
options = this.options,
option,
value,
n;
value = $this.val();
for (n = 0; n < options.length; ++n) {
option = options[n];
if (option.value == value) {
window.selectedIEOptions[value] = !window.selectedIEOptions[value];
}
option.selected = !!window.selectedIEOptions[option.value];
}
return false;
});
window.selectedToIEOptions = {};
$('#multiselect_to').click(function (e) {
var $this = $(this),
options = this.options,
option,
value,
n;
value = $this.val();
for (n = 0; n < options.length; ++n) {
option = options[n];
if (option.value == value) {
window.selectedToIEOptions[value] =
!window.selectedToIEOptions[value];
}
option.selected = !!window.selectedToIEOptions[option.value];
}
return false;
});
}
};
kretaOsztalybaSorolasHelper.msieversion = function () {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
return true;
}
return false;
};
kretaOsztalybaSorolasHelper.sizeListSelect = function ($selectObject) {
if (!(typeof $selectObject[0].options === 'undefined')) {
var opts = $selectObject[0].options.length;
opts = opts > 18 ? opts : 18;
$selectObject[0].size = opts;
$selectObject.parent('.selectBoxDiv').height($selectObject.height());
$selectObject.parent('.selectBoxDiv').height(400);
}
};
//Engedélyezi vagy letiltja a multiselect button-öket
kretaOsztalybaSorolasHelper.setMultiselectButton = function (dropdownName) {
$('#' + dropdownName).change(function () {
if (
$('#' + dropdownName)
.data('kendoComboBox')
.value() != ''
) {
$('#multiselect_rightAll').prop('disabled', false);
$('#multiselect_rightSelected').prop('disabled', false);
$('#multiselect_leftAll').prop('disabled', false);
$('#multiselect_leftSelected').prop('disabled', false);
} else {
$('#multiselect_rightAll').prop('disabled', true);
$('#multiselect_rightSelected').prop('disabled', true);
$('#multiselect_leftAll').prop('disabled', true);
$('#multiselect_leftSelected').prop('disabled', true);
}
});
};
//Beállítja az aktuális napot
kretaOsztalybaSorolasHelper.today = function () {
var todayDate = kendo.toString(kendo.parseDate(new Date()));
var minDate = $('#Datum').data('kendoDatePicker').min();
var maxDate = $('#Datum').data('kendoDatePicker').max();
if (
!KretaOsztalybaSorolasHelper.dateCheck(
new Date(minDate),
new Date(maxDate),
new Date()
)
) {
KretaWindowHelper.warningWindow(
Globalization.Figyelem,
'A mai dátum nem esik bele az aktuális tanév kezdő és záró dátuma közé!',
undefined,
'todayWarrning'
);
}
$('#Datum').data('kendoDatePicker').value(todayDate);
$('#Datum').focus().focusout();
$('#Datum').data('kendoDatePicker').trigger('change');
};
kretaOsztalybaSorolasHelper.dateCheck = function (from, to, check) {
var fDate, lDate, cDate;
fDate = Date.parse(from);
lDate = Date.parse(to);
cDate = Date.parse(check);
if (cDate <= lDate && cDate >= fDate) {
return true;
}
return false;
};
//Törli egy select összes option-jét
kretaOsztalybaSorolasHelper.removeOptions = function (selectName) {
$('#' + selectName)
.find('option')
.remove()
.end();
};
//Ellenőrzés, hogy lehet -e engedélyezni a multiselect button-öket
kretaOsztalybaSorolasHelper.checkData = function (
fromDDL,
toDDL,
isKovTanev
) {
var fromValue = $('#' + fromDDL)
.data('kendoComboBox')
.value();
var toValue = $('#' + toDDL)
.data('kendoComboBox')
.value();
var toDatasource = $('#' + toDDL).data('kendoComboBox').dataSource;
var FilterId = 0;
//Összes osztályra vonatkozó feltétel
if (fromValue == -1) {
$.each(toDatasource.data(), function (i, v) {
if (v.Value == toValue) {
FilterId = v.FilterId;
}
});
if (FilterId != null) {
$('#multiSelectErrorMsg').text(
'Az összes osztály listából osztálybontott csoportba nem lehet sorolni!'
);
$('#multiselect_rightAll').prop('disabled', true);
$('#multiselect_rightSelected').prop('disabled', true);
$('#multiselect_leftAll').prop('disabled', true);
$('#multiselect_leftSelected').prop('disabled', true);
} else {
$('#multiSelectErrorMsg').text('');
$('#multiselect_rightAll').prop('disabled', false);
$('#multiselect_rightSelected').prop('disabled', false);
$('#multiselect_leftAll').prop('disabled', false);
$('#multiselect_leftSelected').prop('disabled', false);
}
} else {
$.each(toDatasource.data(), function (i, v) {
if (v.Value == toValue) {
FilterId = v.FilterId;
}
});
if (
fromValue != FilterId &&
FilterId != null &&
(CommonUtils.isNullOrUndefined(isKovTanev) || isKovTanev == false)
) {
$('#multiSelectErrorMsg').text(
Globalization.OsztalybontottCsoportOsztalyNemEgyezik
);
$('#multiselect_rightAll').prop('disabled', true);
$('#multiselect_rightSelected').prop('disabled', true);
$('#multiselect_leftAll').prop('disabled', true);
$('#multiselect_leftSelected').prop('disabled', true);
} else {
$('#multiSelectErrorMsg').text('');
$('#multiselect_rightAll').prop('disabled', false);
$('#multiselect_rightSelected').prop('disabled', false);
$('#multiselect_leftAll').prop('disabled', false);
$('#multiselect_leftSelected').prop('disabled', false);
}
}
if (fromValue == '' || toValue == '') {
$('#multiSelectErrorMsg').text('');
}
};
//Ellenőrzés, hogy lehet -e engedélyezni a multiselect button-öket csoportok esetében
kretaOsztalybaSorolasHelper.checkCsoportData = function (fromDDL, toDDL) {
var fromValue = $('#' + fromDDL)
.data('kendoComboBox')
.value();
var toValue = $('#' + toDDL)
.data('kendoComboBox')
.value();
var fromDatasource = $('#' + fromDDL).data('kendoComboBox').dataSource;
var toDatasource = $('#' + toDDL).data('kendoComboBox').dataSource;
var FromFilterId = 0;
var ToFilterId = 0;
$.each(fromDatasource.data(), function (i, v) {
if (v.Value == fromValue) {
FromFilterId = v.FilterId;
}
});
$.each(toDatasource.data(), function (i, v) {
if (v.Value == toValue) {
ToFilterId = v.FilterId;
}
});
if (ToFilterId != null && FromFilterId != ToFilterId) {
$('#multiSelectErrorMsg').text(
Globalization.OsztalybontottCsoportOsztalyNemEgyezik
);
$('#multiselect_rightAll').prop('disabled', true);
$('#multiselect_rightSelected').prop('disabled', true);
$('#multiselect_leftAll').prop('disabled', true);
$('#multiselect_leftSelected').prop('disabled', true);
} else {
$('#multiSelectErrorMsg').text('');
$('#multiselect_rightAll').prop('disabled', false);
$('#multiselect_rightSelected').prop('disabled', false);
$('#multiselect_leftAll').prop('disabled', false);
$('#multiselect_leftSelected').prop('disabled', false);
}
if (fromValue == '' || toValue == '') {
$('#multiSelectErrorMsg').text('');
}
};
//Összeállítja az elküldendő json object-et
kretaOsztalybaSorolasHelper.createJson = function (formName) {
var array = new Array();
$.each($('#multiselect_to option'), function (key, value) {
if (!$(this).attr('disabled')) {
array.push({
Id: value.value,
fromid: $(value).attr('fromid'),
jogviszonycount: $(value).attr('jogviszonycount'),
jogviszonyids: $(value).attr('jogviszonyid'),
isVanMentettVegzaradek: !CommonUtils.isNullOrUndefined(
$(value).attr('class')
)
? $(value).attr('class').indexOf('green') !== -1
: 'false'
});
}
});
var json = $('#' + formName).toObject();
json.ToElements = array;
if (!CommonUtils.isNullOrUndefined($('#SorolasZaradek').html())) {
var zaradekData = $('#SorolasZaradek').toObject();
if (!CommonUtils.isNullOrUndefined($('#TanuloCsoportId').val())) {
zaradekData.TanuloCsoportId = $('#TanuloCsoportId').val();
}
zaradekData.ZaradekSzovegList = getZaradekSzovegList();
json.Zaradek = zaradekData;
} else {
json.Zaradek = null;
}
return json;
};
//Újratölti egy combobox értékkészletét
kretaOsztalybaSorolasHelper.reloadDDL = function (DDL_Name) {
$('#' + DDL_Name)
.data('kendoComboBox')
.trigger('change');
};
kretaOsztalybaSorolasHelper.checkPrePost = function (inputName) {
var val = $('#' + inputName)
.data('kendoComboBox')
.value();
var txt = $('#' + inputName)
.data('kendoComboBox')
.text();
if ($.isNumeric(val) && val != txt) {
$('#FromDDL, #ToDDL').change();
return true;
} else {
$('#' + inputName)
.data('kendoComboBox')
.value('');
$('#' + inputName)
.data('kendoComboBox')
.trigger('change');
return false;
}
};
kretaOsztalybaSorolasHelper.afterSaveReloadDDL = function () {
$('#multiselect > option').remove().end();
$('#multiselect_to > option').remove().end();
var toDDL = $('#ToDDL').data('kendoComboBox');
toDDL.value('');
var fromDDl = $('#FromDDL').data('kendoComboBox');
fromDDl.value('');
$('#ToElementsCount').text(0);
$('#ToElementsCountIn').text(0);
$('#FromElementsCount').text(0);
$('#FromElementsCountIn').text($('#multiselect > option').length);
window.oldComboBoxValue = '';
if (
!CommonUtils.isNullOrUndefined($('#JogvMegszuneseJogcimTipusId')) &&
!CommonUtils.isNullOrUndefined(
$('#JogvMegszuneseJogcimTipusId').data('kendoComboBox')
)
) {
var JogvMegszuneseJogcimTipusIdDDl = $(
'#JogvMegszuneseJogcimTipusId'
).data('kendoComboBox');
JogvMegszuneseJogcimTipusIdDDl.value('');
}
if (
!CommonUtils.isNullOrUndefined($('#JogviszonyVege')) &&
!CommonUtils.isNullOrUndefined(
$('#JogviszonyVege').data('kendoDatePicker')
)
) {
$('#JogviszonyVege').data('kendoDatePicker').value('');
}
if (!CommonUtils.isNullOrUndefined($('.SorolasTbJogviszonyPartial'))) {
$('.SorolasTbJogviszonyPartial').empty();
}
};
kretaOsztalybaSorolasHelper.afterErrorReloadDDL = function () {
var fromDDl = $('#FromDDL').data('kendoComboBox');
fromDDl.trigger('change');
var toDDL = $('#ToDDL').data('kendoComboBox');
toDDL.trigger('change');
$('#FromElementsCountIn').text($('#multiselect > option').length);
window.oldComboBoxValue = '';
};
kretaOsztalybaSorolasHelper.resetForm = function (fromDDL, toDDL) {
// bal oldal
$('#' + fromDDL)
.data('kendoComboBox')
.value('');
$('#multiselect > option').remove().end();
$('#FromElementsCount').text('0');
//jobb oldal
$('#' + toDDL)
.data('kendoComboBox')
.value('');
$('#multiselect_to > option').remove().end();
$('#ToElementsCount').text('0');
//záradék
if (
!CommonUtils.isNullOrUndefined(
$('#ZaradekAdatszotar').data('kendoComboBox')
)
) {
$('#ZaradekAdatszotar').data('kendoComboBox').value('');
}
$('[id^=ZaradekSzovegTextArea_]').val('');
$('#IsBizonyitvanybanMegjelenik').prop('checked', false);
$('#IsTorzslaponMegjelenik').prop('checked', false);
$('#IsOsztalynaplobanMegjelenik').prop('checked', false);
};
kretaOsztalybaSorolasHelper.NincsRogzitettAtiratkozasiZaradek = function () {
return getNincsRogzitettAtiratkozasiZaradek();
};
kretaOsztalybaSorolasHelper.LoadJogviszonyGrid = function () {
$.each($('#multiselect_to option'), function (key, value) {
if (!$(this).attr('disabled')) {
$(value).attr('jogviszonyid', '0');
}
});
if (typeof loadJogviszonyPartialGrid === 'function') {
loadJogviszonyPartialGrid();
}
};
kretaOsztalybaSorolasHelper.disableMultiselectButtons = function () {
$('#multiselect_rightAll').prop('disabled', true);
$('#multiselect_rightSelected').prop('disabled', true);
$('#multiselect_leftAll').prop('disabled', true);
$('#multiselect_leftSelected').prop('disabled', true);
};
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 kretaOsztalybaSorolasHelper;
})();

View file

@ -0,0 +1,19 @@
var KretaPanelBarHelper = (function () {
var kretaPanelBarHelper = function () {};
kretaPanelBarHelper.getKendoPanelBarData = function (id) {
var panelBar = $('#' + id);
var panelBarData = panelBar.data('kendoPanelBar');
return panelBarData;
};
kretaPanelBarHelper.getPanelBarItem = function (panelBarId, panelBarItemId) {
var panelBar = kretaPanelBarHelper.getKendoPanelBarData(panelBarId);
var panelBarItem = panelBar.element
.children('#' + panelBarItemId)
.children('div');
return panelBarItem;
};
return kretaPanelBarHelper;
})();

View file

@ -0,0 +1,12 @@
var KretaRadioButtonListHelper = (function () {
var kretaRadioButtonListHelper = function () {};
kretaRadioButtonListHelper.getSelectedValue = function (radioButtonListId) {
var result = $(
"input:radio[name='" + radioButtonListId + "']:checked"
).val();
return result;
};
return kretaRadioButtonListHelper;
})();

View file

@ -0,0 +1,25 @@
/*Kreta switch button helper
Ez a function állítja a kreate switch button mogotti bindolt checkboxot.
*/
var SwitchButtonHelper = (function () {
var switchButtonHelper = function () {};
switchButtonHelper.switchButtonChange = function switchButtonChange(
fieldnameId,
hiddenNameId
) {
if ($('#' + fieldnameId).prop('disabled') == true) {
return;
}
if ($('#' + fieldnameId).is(':checked')) {
$('#' + fieldnameId).prop('checked', false);
$('#' + fieldnameId).val(false);
$('#' + hiddenNameId).val(false);
} else {
$('#' + fieldnameId).prop('checked', true);
$('#' + fieldnameId).val(true);
$('#' + hiddenNameId).val(true);
}
};
return switchButtonHelper;
})();

View file

@ -0,0 +1,76 @@
var KretaTooltipHelper = (function () {
var kretaTooltipHelper = function () {};
kretaTooltipHelper.setTooltip = function (
tooltipElement,
tooltipTemplateSelector
) {
tooltipElement.kendoTooltip({
content: kendo.template($(tooltipTemplateSelector).html()),
position: 'top',
show: function () {
var that = this;
var tooltips = $('[data-role=tooltip]');
tooltips.each(function () {
var tooltip = $(this).data('kendoTooltip');
if (tooltip && tooltip !== that) {
tooltip.hide();
}
});
}
});
};
kretaTooltipHelper.setGridCellTooltip = function (
tooltipElement,
tooltipTemplateSelector
) {
tooltipElement.kendoTooltip({
content: kendo.template($(tooltipTemplateSelector).html()),
filter: 'span',
position: 'bottom',
show: function (e) {
var rect = e.sender.element[0].getBoundingClientRect();
var left = rect.left;
var top = rect.top;
var height = rect.height;
var animationContainer = e.sender.popup.element.parent()[0];
var width = window.innerWidth;
var toolTipMaxWidth = 600;
if (parseInt(left + toolTipMaxWidth, 10) > width) {
toolTipMaxWidth = parseInt(width - left, 10);
}
animationContainer.style.top = parseInt(top + height, 10) + 'px';
animationContainer.style.left = parseInt(left, 10) + 'px';
animationContainer.style.maxWidth = toolTipMaxWidth + 'px';
var that = this;
var tooltips = $('[data-role=tooltip]');
tooltips.each(function () {
var tooltip = $(this).data('kendoTooltip');
if (tooltip && tooltip !== that) {
tooltip.hide();
}
});
},
showAfter: 300
});
};
kretaTooltipHelper.hidaAllTooltips = function () {
var tooltips = $('[data-role=tooltip]');
tooltips.each(function () {
var tooltip = $(this).data('kendoTooltip');
if (tooltip) {
tooltip.hide();
}
});
};
return kretaTooltipHelper;
})();

View file

@ -0,0 +1,776 @@
var KretaWindowHelper = (function () {
var kretaWindowHelper = function () {};
var MIN_HEIGHT = 125;
var MIN_WIDTH = 320;
kretaWindowHelper.getWindowConfigContainer = function () {
return {
actions: null,
content: null,
resizable: false,
closeFunction: null,
width: '90%',
height: '90%',
maxWidth: null,
maxHeight: null,
minWidth: MIN_WIDTH + 'px',
minHeight: MIN_HEIGHT + 'px',
title: ''
};
};
kretaWindowHelper.createWindow = function (id, config) {
var element = getOrCreateWindowElement(id);
var position = getPosition();
var modal = element.data('kendoWindow');
if (!modal) {
modal = createModal(element, position, config);
} else {
modal.setOptions({ position: position });
}
return modal;
};
kretaWindowHelper.confirmWindow = function (
title,
content,
jsFunction,
jsFunctionParameter,
jsFunctionClose,
okString,
closeString,
isNestedConfirm,
showCloseButton,
isNote,
isNoteRequired,
noteCaption,
width,
height
) {
var wind = $('#KretaGeneratedConfrimWindowNest').data('kendoWindow');
if (wind != undefined) {
wind.destroy();
}
var confirmWindowId = 'KretaGeneratedConfrimWindow';
if (isNestedConfirm) {
confirmWindowId += 'Nest';
}
if ($('#' + confirmWindowId).length > 0) {
return false;
}
var actions = [];
if (showCloseButton) {
actions = ['Close'];
}
var kendoWindow = $('<div id ="' + confirmWindowId + '" />').kendoWindow({
title: title,
actions: actions,
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(height)) {
kendoWindow.data('kendoWindow').setOptions({
height: height
});
}
if (!CommonUtils.isNullOrUndefined(width)) {
kendoWindow.data('kendoWindow').setOptions({
width: width
});
}
var okBtnMsg = Globalization.Igen,
closeBtnMsg = Globalization.Nem;
if (typeof okString !== 'undefined') {
okBtnMsg = okString;
}
if (typeof closeString !== 'undefined') {
closeBtnMsg = closeString;
}
var data =
'<div class="modalContainer" id="' +
confirmWindowId +
'"><div class="modalOuter"><div class="modalContent"><div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;"><span><i class="fa fa-info confirmWindowIcon"></i>&nbsp;</span>' +
content +
'</div></div></div></div>';
if (isNote) {
data += "<div class='modalConfirmNote'>";
data +=
"<div class='noteCaption'>" +
noteCaption +
"</div><input class='k-textbox' type='text' id='modalNote' /> <div class='noteValidation'>" +
Globalization.KotelezoMegadni +
'</div>';
data += '</div>';
}
data +=
'<div class="modalFooter modalFooterStatic"><div style="float:right; padding-left: 5px;">';
data +=
'<div class="k-button k-button-icontext closeYesConfirm" style="padding: 10px 14px;"><span></span>' +
okBtnMsg +
'</div>';
data +=
'&nbsp;<div class="k-button k-button-icontext closeNoConfirm" style="padding: 10px 14px;"><span></span>' +
closeBtnMsg +
'</div>';
data += '</div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.closeNoConfirm')
.click(function () {
if (CommonUtils.isFunction(jsFunctionClose)) {
jsFunctionClose();
}
var wind = kendoWindow.data('kendoWindow');
if (wind != undefined) {
wind.destroy();
}
})
.end();
kendoWindow
.find('.closeYesConfirm')
.click(function () {
if (isNote) {
var note = $('#modalNote').val();
if (isNoteRequired && CommonUtils.isNullOrWhiteSpace(note)) {
$('#modalNote').addClass('required');
$('div.noteValidation').addClass('noteRequired');
return;
}
if (CommonUtils.parseBool(isNestedConfirm)) {
jsFunction(jsFunctionParameter, note);
} else {
setTimeout(function () {
jsFunction(jsFunctionParameter, note);
}, 1);
}
} else if (CommonUtils.isFunction(jsFunction)) {
if (CommonUtils.parseBool(isNestedConfirm)) {
jsFunction(jsFunctionParameter);
} else {
setTimeout(function () {
jsFunction(jsFunctionParameter);
}, 1);
}
}
var wind = kendoWindow.data('kendoWindow');
if (wind != undefined) {
wind.destroy();
}
})
.end();
};
kretaWindowHelper.errorHandlerWindow = function (
title,
content,
closejsFunction,
reportErrorJsFunction,
name
) {
var element;
if (!CommonUtils.isUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
var data =
'<div class="modalContainer"><div class="modalOuter"><div class="modalContent"><div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;"><span><i class="fa fa-exclamation feedBackWindowIconError"></i>&nbsp;</span>' +
content +
'</div></div></div></div>' +
'<div class="modalFooter modalFooterStatic">' +
'<div style="float:left; padding-right: 5px;"><a class="k-button k-button-icontext reportError" href="javascript:void(null)">' +
Globalization.Hibabejelentese +
'</a></div>' +
'<div style="float:right; padding-left: 5px;"><a class="k-button k-button-icontext closeFeedback" href="javascript:void(null)">' +
Globalization.Vissza +
'</a></div>' +
'</div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.reportError')
.click(function () {
if (CommonUtils.isFunction(reportErrorJsFunction)) {
reportErrorJsFunction();
}
})
.end();
kendoWindow
.find('.closeFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(closejsFunction)) {
closejsFunction();
}
})
.end();
};
kretaWindowHelper.feedbackWindow = function (
title,
content,
isError,
jsFunction,
backButtonText,
name,
newHeight,
closeButtonId
) {
var element;
if (!CommonUtils.isNullOrUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(newHeight)) {
kendoWindow.data('kendoWindow').setOptions({
height: newHeight
});
}
var closeId = CommonUtils.isNullOrUndefined(closeButtonId)
? ''
: ' id ="' + closeButtonId + '"';
var backText = CommonUtils.isNullOrUndefined(backButtonText)
? Globalization.Vissza
: backButtonText;
var data =
'<div class="modalContainer">' +
'<div class="modalOuter">' +
'<div class="modalContent">' +
'<div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;">' +
'<span><i class="fa ' +
(isError == true
? 'fa-exclamation feedBackWindowIconError'
: 'fa-check feedBackWindowIconSuccess') +
'"></i>&nbsp;</span>' +
content +
'</div></div></div></div>' +
'<div class="modalFooter modalFooterStatic">' +
'<div style="float:right; padding-left: 5px;"><a class="k-button k-button-icontext closeFeedback" href="javascript:void(null)"' +
closeId +
'>' +
backText +
'</a></div></div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.closeFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(jsFunction)) {
jsFunction();
}
})
.end();
};
kretaWindowHelper.feedbackWindowWithLink = function (
title,
content,
linkText,
linkUrl,
isError,
jsFunction,
backButtonText,
name,
newHeight
) {
var element;
if (!CommonUtils.isUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(newHeight)) {
kendoWindow.data('kendoWindow').setOptions({
height: newHeight
});
}
var data =
'<div class="modalContainer"><div class="modalOuter"><div class="modalContent"><div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;"><span><i class="fa ' +
(isError == true
? 'fa-exclamation feedBackWindowIconError'
: 'fa-check feedBackWindowIconSuccess') +
'"></i>&nbsp;</span>' +
content +
'</div></div></div></div>';
data +=
'<div class="modalFooter modalFooterStatic" style="height: 64px;"><div style="float:right; padding-left: 5px;">';
data +=
'<div class="BtnCancel" style="float: right; padding-right: 5px;"><a class="k-button k-button-icontext closeFeedback" href="javascript:void(null)">' +
(CommonUtils.isUndefined(backButtonText)
? Globalization.Vissza
: backButtonText) +
'</a></div>';
data +=
'<div class="BtnOk" style="float: right;"><a class="k-button k-button-icontext" href="' +
linkUrl +
'">' +
(CommonUtils.isUndefined(linkText)
? Globalization.TovabbiInfo
: linkText) +
'</a></div>';
data += '</div></div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.closeFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(jsFunction)) {
jsFunction();
}
})
.end();
};
kretaWindowHelper.warningWindow = function (
title,
content,
jsFunction,
name,
newHeight,
customButtonText = null
) {
var element;
if (!CommonUtils.isUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var buttonText = '';
if (CommonUtils.isNullOrUndefined(customButtonText)) {
buttonText = Globalization.Vissza;
} else {
buttonText = customButtonText;
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(newHeight)) {
kendoWindow.data('kendoWindow').setOptions({
height: newHeight
});
}
var data =
'<div class="modalContainer"><div class="modalOuter"><div class="modalContent"><div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;"><span><i class="fa fa-exclamation-triangle warningWindowIcon"></i>&nbsp;</span>' +
content +
'</div></div></div></div>';
data +=
'<div class="modalFooter modalFooterStatic"><div style="float:right; padding-left: 5px;"><a class="k-button k-button-icontext closeWarning" href="javascript:void(null)">' +
buttonText +
'</a></div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.closeWarning')
.click(function () {
if (CommonUtils.isFunction(jsFunction)) {
jsFunction();
}
kendoWindow.data('kendoWindow').destroy();
})
.end();
};
kretaWindowHelper.defaultWindow = function (title, content, name, newHeight) {
var element;
if (!CommonUtils.isUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(newHeight)) {
kendoWindow.data('kendoWindow').setOptions({
height: newHeight
});
}
var data =
'<div class="modalContainer"><div class="modalOuter"><div class="modalContent"><div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;"><span>&nbsp;</span>' +
content +
'</div></div></div></div>';
data +=
'<div class="modalFooter modalFooterStatic"><div style="float:right; padding-left: 5px;"><a class="k-button k-button-icontext closeFeedback" href="javascript:void(null)">' +
Globalization.Vissza +
'</a></div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.closeFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
})
.end();
};
kretaWindowHelper.destroyAllWindow = function () {
$('.k-window-content').each(function () {
$(this).data('kendoWindow').destroy();
});
};
kretaWindowHelper.getKendoWindowData = function (id) {
var modal = $('#' + id).data('kendoWindow');
return modal;
};
kretaWindowHelper.setWindowHeight = function (id, height) {
var kendoWindowData = kretaWindowHelper.getKendoWindowData(id);
kendoWindowData.setOptions({
height: height
});
};
kretaWindowHelper.openWindow = function (modal, center) {
openWindow(modal, center);
};
kretaWindowHelper.destroyWindow = function (id) {
destroyWindow(id);
};
kretaWindowHelper.successFeedBackWindow = function (
jsFunction,
customMessageText
) {
if (!GlobalSystemParams.SuccessFeedBackWindowNeeded) {
if (CommonUtils.isUndefined(customMessageText)) {
customMessageText = Globalization.SikeresMentes;
}
KretaWindowHelper.notification(customMessageText, 'success');
}
if (CommonUtils.isFunction(jsFunction)) {
jsFunction();
}
};
kretaWindowHelper.notification = function (customMessageText, type) {
var element = getOrCreateWindowElement('kretaNotification');
element.kendoNotification({
show: notificationShow
});
var widget = element.data('kendoNotification');
widget.show(customMessageText, type);
};
function notificationShow(e) {
var highest = 10000;
$('body')
.children()
.each(function () {
var current = parseInt($(this).css('z-index'), 10);
if (current && highest < current) highest = current;
});
e.element.parent().css('z-index', highest + 1);
}
function getOrCreateWindowElement(id) {
var element = $('#' + id);
if (!element.length) {
element = $('<div></div>', { id: id }).appendTo('body');
} else {
element.remove();
element = $('<div></div>', { id: id }).appendTo('body');
}
return element;
}
function getPosition() {
var position = {
top: function () {
return 0;
},
left: function () {
return 0;
}
};
return position;
}
function createModal(element, position, config) {
modal = element
.kendoWindow({
title: config.title,
width: config.width,
height: config.height,
minWidth: config.minWidth,
minHeight: config.minHeight,
maxHeight: config.maxHeight == null ? undefined : config.maxHeight,
maxWidth: config.maxWidth == null ? undefined : config.maxWidth,
actions: config.actions ? config.actions : ['Maximize', 'Close'],
visible: false,
modal: true,
resizable: config.resizable,
position: position,
close: function () {
if (CommonUtils.isFunction(config.closeFunction)) {
config.closeFunction();
}
element.empty();
this.destroy();
}
})
.data('kendoWindow')
.content(config.content);
$.validator.unobtrusive.parse('form');
return modal;
}
function openWindow(modal, center) {
if (modal) {
if (center) {
modal.center();
}
modal.open();
}
}
function destroyWindow(id) {
var modal = $('#' + id).data('kendoWindow');
if (modal) {
modal.destroy();
}
}
kretaWindowHelper.feedbackWindowWithThreeButton = function (
title,
content,
isError,
firstButtonText,
secondButtonText,
thirdButtonText,
jsFirstFunction,
jsSecondFunction,
jsThirdFunction,
firstButtonId,
secondButtonId,
thirdButtonId,
name,
newHeight,
firstFnData,
secondFnData,
thirdFnData
) {
var element;
if (!CommonUtils.isNullOrUndefined(name)) {
element = $('<div />', {
name: name
});
} else {
element = $('<div />');
}
var kendoWindow = element.kendoWindow({
title: title,
actions: [],
resizable: false,
modal: true,
minHeight: MIN_HEIGHT,
minWidth: MIN_WIDTH
});
if (!CommonUtils.isNullOrUndefined(newHeight)) {
kendoWindow.data('kendoWindow').setOptions({
height: newHeight
});
}
var firstId = CommonUtils.isNullOrUndefined(firstButtonId)
? ''
: ' id ="' + firstButtonId + '"';
var firstText = CommonUtils.isNullOrUndefined(firstButtonText)
? Globalization.Vissza
: firstButtonText;
var secondId = CommonUtils.isNullOrUndefined(secondButtonId)
? ''
: ' id ="' + secondButtonId + '"';
var secondText = CommonUtils.isNullOrUndefined(secondButtonText)
? Globalization.Vissza
: secondButtonText;
var thirdId = CommonUtils.isNullOrUndefined(thirdButtonId)
? ''
: ' id ="' + thirdButtonId + '"';
var thirdText = CommonUtils.isNullOrUndefined(thirdButtonText)
? Globalization.Vissza
: thirdButtonText;
var data =
'<div class="modalContainer">' +
'<div class="modalOuter">' +
'<div class="modalContent">' +
'<div style="padding: 20px; min-width: ' +
MIN_WIDTH +
'px; max-width: 1000px;">' +
'<span><i class="fa ' +
(isError == undefined
? ''
: isError == true
? 'fa-exclamation feedBackWindowIconError'
: 'fa-check feedBackWindowIconSuccess') +
'"></i>&nbsp;</span>' +
content +
'</div></div></div></div>' +
'<div class="modalFooter modalFooterStatic">' +
'<div style="float:right; padding-left: 5px;"><a class="k-button k-button-icontext firstFeedback" href="javascript:void(null)"' +
firstId +
'>' +
firstText +
'</a>' +
'<a style="margin-left: 10px; margin-right: 10px;" class="k-button k-button-icontext secondFeedback" href="javascript:void(null)"' +
secondId +
'>' +
secondText +
'</a>' +
'<a class="k-button k-button-icontext thirdFeedback" href="javascript:void(null)"' +
thirdId +
'>' +
thirdText +
'</a>' +
'</div></div>';
kendoWindow.data('kendoWindow').content(data).center().open();
kendoWindow
.find('.firstFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(jsFirstFunction)) {
if (firstFnData !== undefined) {
jsFirstFunction(firstFnData);
}
jsFirstFunction();
}
})
.end();
kendoWindow
.find('.secondFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(jsSecondFunction)) {
if (secondFnData !== undefined) {
jsSecondFunction(secondFnData);
}
jsSecondFunction();
}
})
.end();
kendoWindow
.find('.thirdFeedback')
.click(function () {
kendoWindow.data('kendoWindow').destroy();
if (CommonUtils.isFunction(jsThirdFunction)) {
if (thirdFnData !== undefined) {
jsThirdFunction(thirdFnData);
}
jsThirdFunction();
}
})
.end();
};
return kretaWindowHelper;
})();

View file

@ -0,0 +1,263 @@
var KretaWizardHelper = (function () {
var kretaWizardHelper = function () {};
kretaWizardHelper.loadView = function (instance) {
AjaxHelper.DoPost(
instance.currentUrl,
instance.dataToBeSentOnNextPage,
function (data) {
fillViewArea(instance, data, instance.oldData);
}
);
};
function fillViewArea(instance, data) {
var area = $(instance.wizardBodyId);
area.empty();
area.append(data);
setButtonVisible(instance);
if (instance.oldData != null) {
readyEventPopulate(instance.wizardFormId, instance.oldData);
}
instance.onReadyEvent(instance);
}
function setButtonVisible(instance) {
if (instance.historyList.length > 0) {
$(instance.backButtonId).show();
} else {
$(instance.backButtonId).hide();
}
if (instance.showCancel) {
$(instance.cancelButtonId).show();
} else {
$(instance.cancelButtonId).hide();
}
if (instance.showNext) {
$(instance.nextButtonId).show();
} else {
$(instance.nextButtonId).hide();
}
if (instance.showEnd) {
$(instance.endButtonId).show();
} else {
$(instance.endButtonId).hide();
}
}
function readyEventPopulate(frm, data) {
$.each(data, function (key, value) {
var $ctrl = $(frm + ' ' + '[name=' + key + ']');
switch ($ctrl.attr('type')) {
case 'text':
case 'input':
if ($ctrl.attr('data-role') == 'combobox') {
$ctrl.data('kendoComboBox').value(value);
} else {
$ctrl.val(value);
}
case 'hidden':
$ctrl.val(value);
break;
case 'radio':
case 'checkbox':
$ctrl.each(function () {
if ($(this).attr('value') == value) {
$(this).attr('checked', value);
}
});
break;
default:
$ctrl.val(value);
}
});
}
return kretaWizardHelper;
})();
function KretaWizard(
url,
baseModel,
showNext,
showEnd,
showCancel,
showProgressBar,
showStepDisplay
) {
this.currentUrl = url;
this.baseModel = baseModel;
this.backButtonId = '#wizardBackBtn';
this.nextButtonId = '#wizardNextBtn';
this.wizardBodyId = '#wizardContent';
this.endButtonId = '#wizardEndBtn';
this.cancelButtonId = '#wizardCancelBtn';
this.wizardFormId = '#WizardForm';
this.progressBarId = '#wizardProgressBar';
this.stepDisplayId = '#wizardStepDisplay';
this.historyList = [];
this.onNextEvent = function () {};
this.onBackEvent = function () {};
this.onReadyEvent = function () {};
this.onEndEvent = function () {};
this.onCancelEvent = function () {};
this.oldData = null;
this.justTrigerNext = false; /*next button just trugger event*/
this.showEnd = false;
this.showNext = showNext == null ? true : showNext;
this.showEnd = showEnd == null ? false : showEnd;
this.overrideWindowSize = false;
this.dataToBeSentOnNextPage = null;
this.showCancel = showCancel == null ? false : showCancel;
this.showProgressBar = showProgressBar == null ? false : showProgressBar;
this.showStepDisplay = showStepDisplay == null ? false : showStepDisplay;
}
KretaWizard.prototype.ManualNext = function (
nextUrl,
nextStepId,
showNextButton,
showEnd
) {
this.historyList.push({
url: this.currentUrl,
model: $(this.wizardFormId).toObject(),
showNext: this.showNext,
showEnd: this.showEnd,
actualStepId: this.baseModel.actualStepId,
justTrigerNext: this.justTrigerNext
});
this.currentUrl = nextUrl;
this.baseModel.actualStepId = nextStepId;
this.showNext = showNextButton == null ? true : showNextButton;
this.showEnd = showEnd == null ? false : showEnd;
this.oldData = null;
KretaWizardHelper.loadView(this);
};
KretaWizard.prototype.GetModel = function (index) {
if (CommonUtils.isNullOrUndefined(index) || index == 0) {
var result = $(this.wizardFormId).toObject();
for (var i = this.historyList.length - 1; i > 0; i--) {
$.extend(result, this.historyList[i].model);
}
return result;
} else {
var historyIndex = this.historyList.length - index;
if (historyIndex >= 0 && historyIndex < this.historyList.length) {
return this.historyList[historyIndex].model;
} else {
return null;
}
}
};
KretaWizard.prototype.Next = function () {
if (this.justTrigerNext) {
this.onNextEvent(this);
} else {
this.historyList.push({
url: this.currentUrl,
model: $(this.wizardFormId).toObject(),
showNext: this.showNext,
showEnd: this.showEnd,
actualStepId: this.baseModel.actualStepId,
justTrigerNext: this.justTrigerNext
});
this.oldData = null;
var result = this.onNextEvent(this);
if (result == null || result) {
KretaWizardHelper.loadView(this);
} else {
this.historyList.pop();
}
}
};
KretaWizard.prototype.Back = function () {
if (this.historyList.length > 0) {
var lastView = this.historyList.pop();
this.currentUrl = lastView.url;
this.oldData = lastView.model;
this.showNext = lastView.showNext;
this.showEnd = lastView.showEnd;
this.baseModel.actualStepId = lastView.actualStepId;
this.justTrigerNext = lastView.justTrigerNext;
}
this.onBackEvent(this);
KretaWizardHelper.loadView(this);
};
KretaWizard.prototype.Open = function (
url,
title,
onmodal,
formContentContainer
) {
var wizardThis = this;
wizardThis.onmodal = onmodal;
wizardThis.formContentContainer = formContentContainer;
AjaxHelper.DoPost(url, null, getWizardGlobalContent);
function getWizardGlobalContent(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.content = data;
config.title = title;
if (wizardThis.overrideWindowSize === false) {
config.width = 600;
config.height = 265;
}
var modal;
if (wizardThis.onmodal !== false) {
modal = KretaWindowHelper.createWindow('wizardWindow', config);
}
KretaWizardHelper.loadView(wizardThis);
if (wizardThis.onmodal === false) {
$(wizardThis.formContentContainer.selector).html(data);
$(wizardThis.formContentContainer.selector)
.first()
.css('height', wizardThis.formContentContainer.height);
}
$(wizardThis.nextButtonId).bind('click', function () {
wizardThis.Next();
});
$(wizardThis.backButtonId).bind('click', function () {
wizardThis.Back();
});
$(wizardThis.endButtonId).bind('click', function () {
wizardThis.onEndEvent(wizardThis);
});
$(wizardThis.cancelButtonId).bind('click', function () {
wizardThis.onCancelEvent(wizardThis);
});
if (wizardThis.showProgressBar === true) {
$(wizardThis.progressBarId).css('display', '');
}
if (wizardThis.showStepDisplay === true) {
$(wizardThis.stepDisplayId).css('visibility', '');
} else {
$(wizardThis.stepDisplayId).css('display', 'none');
}
if (modal) {
KretaWindowHelper.openWindow(modal, true);
}
}
};
KretaWizard.prototype.RemoveLastFromHistory = function () {
this.historyList.pop();
};

File diff suppressed because it is too large Load diff