init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
33
KretaWeb/Scripts/KendoHelper/KretaChartHelper.js
Normal file
33
KretaWeb/Scripts/KendoHelper/KretaChartHelper.js
Normal 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;
|
||||
})();
|
27
KretaWeb/Scripts/KendoHelper/KretaCheckBoxHelper.js
Normal file
27
KretaWeb/Scripts/KendoHelper/KretaCheckBoxHelper.js
Normal 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;
|
||||
})();
|
183
KretaWeb/Scripts/KendoHelper/KretaComboBoxHelper.js
Normal file
183
KretaWeb/Scripts/KendoHelper/KretaComboBoxHelper.js
Normal 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;
|
||||
})();
|
147
KretaWeb/Scripts/KendoHelper/KretaDateTimeHelper.js
Normal file
147
KretaWeb/Scripts/KendoHelper/KretaDateTimeHelper.js
Normal 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;
|
||||
})();
|
16
KretaWeb/Scripts/KendoHelper/KretaDropDownListHelper.js
Normal file
16
KretaWeb/Scripts/KendoHelper/KretaDropDownListHelper.js
Normal 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;
|
||||
})();
|
177
KretaWeb/Scripts/KendoHelper/KretaFileUpload.js
Normal file
177
KretaWeb/Scripts/KendoHelper/KretaFileUpload.js
Normal 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;
|
||||
})();
|
86
KretaWeb/Scripts/KendoHelper/KretaForm.js
Normal file
86
KretaWeb/Scripts/KendoHelper/KretaForm.js
Normal 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;
|
||||
})();
|
875
KretaWeb/Scripts/KendoHelper/KretaGridHelper.js
Normal file
875
KretaWeb/Scripts/KendoHelper/KretaGridHelper.js
Normal 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);
|
||||
});
|
||||
};
|
73
KretaWeb/Scripts/KendoHelper/KretaImportGridHelper.js
Normal file
73
KretaWeb/Scripts/KendoHelper/KretaImportGridHelper.js
Normal 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;
|
||||
})();
|
84
KretaWeb/Scripts/KendoHelper/KretaMaskedDateTimepicker.js
Normal file
84
KretaWeb/Scripts/KendoHelper/KretaMaskedDateTimepicker.js
Normal 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);
|
84
KretaWeb/Scripts/KendoHelper/KretaMaskedDatepicker.js
Normal file
84
KretaWeb/Scripts/KendoHelper/KretaMaskedDatepicker.js
Normal 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);
|
71
KretaWeb/Scripts/KendoHelper/KretaMaskedTimepicker.js
Normal file
71
KretaWeb/Scripts/KendoHelper/KretaMaskedTimepicker.js
Normal 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);
|
138
KretaWeb/Scripts/KendoHelper/KretaMultiSelectHelper.js
Normal file
138
KretaWeb/Scripts/KendoHelper/KretaMultiSelectHelper.js
Normal 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;
|
||||
})();
|
27
KretaWeb/Scripts/KendoHelper/KretaNumericHelper.js
Normal file
27
KretaWeb/Scripts/KendoHelper/KretaNumericHelper.js
Normal 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;
|
||||
})();
|
742
KretaWeb/Scripts/KendoHelper/KretaOsztalybaSorolasHelper.js
Normal file
742
KretaWeb/Scripts/KendoHelper/KretaOsztalybaSorolasHelper.js
Normal 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;
|
||||
})();
|
19
KretaWeb/Scripts/KendoHelper/KretaPanelBarHelper.js
Normal file
19
KretaWeb/Scripts/KendoHelper/KretaPanelBarHelper.js
Normal 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;
|
||||
})();
|
12
KretaWeb/Scripts/KendoHelper/KretaRadioButtonListHelper.js
Normal file
12
KretaWeb/Scripts/KendoHelper/KretaRadioButtonListHelper.js
Normal 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;
|
||||
})();
|
25
KretaWeb/Scripts/KendoHelper/KretaSwitchButtonHelper.js
Normal file
25
KretaWeb/Scripts/KendoHelper/KretaSwitchButtonHelper.js
Normal 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;
|
||||
})();
|
76
KretaWeb/Scripts/KendoHelper/KretaTooltipHelper.js
Normal file
76
KretaWeb/Scripts/KendoHelper/KretaTooltipHelper.js
Normal 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;
|
||||
})();
|
776
KretaWeb/Scripts/KendoHelper/KretaWindowHelper.js
Normal file
776
KretaWeb/Scripts/KendoHelper/KretaWindowHelper.js
Normal 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> </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 +=
|
||||
' <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> </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> </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> </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> </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> </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> </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;
|
||||
})();
|
263
KretaWeb/Scripts/KendoHelper/KretaWizard.js
Normal file
263
KretaWeb/Scripts/KendoHelper/KretaWizard.js
Normal 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();
|
||||
};
|
1248
KretaWeb/Scripts/KendoHelper/kendo.messages.hu-HU.js
Normal file
1248
KretaWeb/Scripts/KendoHelper/kendo.messages.hu-HU.js
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue