838 lines
21 KiB
JavaScript
838 lines
21 KiB
JavaScript
if (!String.prototype.format) {
|
|
String.prototype.format = function () {
|
|
var args = arguments;
|
|
return this.replace(/{(\d+)}/g, function (match, number) {
|
|
return typeof args[number] !== 'undefined' ? args[number] : match;
|
|
});
|
|
};
|
|
}
|
|
|
|
if (!Array.prototype.hasValue) {
|
|
Array.prototype.hasValue = function (key, value) {
|
|
for (var item in this) {
|
|
if (this.hasOwnProperty(item)) {
|
|
if (this[item][key] === value) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
}
|
|
|
|
if (!Array.prototype.contains) {
|
|
Array.prototype.contains = function (value) {
|
|
if ($.inArray(value, this) === -1) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
}
|
|
|
|
if (!String.prototype.endsWith) {
|
|
String.prototype.endsWith = function (suffix) {
|
|
return this.indexOf(suffix, this.length - suffix.length) !== -1;
|
|
};
|
|
}
|
|
|
|
if (!String.prototype.isBase64) {
|
|
String.prototype.isBase64 = function () {
|
|
try {
|
|
var decodedText = atob(this);
|
|
var encodedText = btoa(decodedText);
|
|
var isBase64Text = encodedText == this;
|
|
return isBase64Text;
|
|
} catch (ex) {
|
|
return false;
|
|
}
|
|
};
|
|
}
|
|
|
|
$.fn.onKeyPressEnter = function (func) {
|
|
return this.each(function () {
|
|
$(this).keypress(function (event) {
|
|
var keycode = parseInt(event.keyCode ? event.keyCode : event.which);
|
|
if (keycode === 13) {
|
|
func.call(this, event);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
|
|
$.fn.onKeyPressLeft = function (func) {
|
|
return this.each(function () {
|
|
$(this).keypress(function (event) {
|
|
var keycode = parseInt(event.keyCode ? event.keyCode : event.which);
|
|
if (keycode === 37) {
|
|
func.call(this, event);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
|
|
$.fn.onKeyPressRight = function (func) {
|
|
return this.each(function () {
|
|
$(this).keypress(function (event) {
|
|
var keycode = parseInt(event.keyCode ? event.keyCode : event.which);
|
|
if (keycode === 39) {
|
|
func.call(this, event);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
|
|
jQuery.fn.extend({
|
|
insertAtCaret: function (myValue) {
|
|
return this.each(function (i) {
|
|
if (document.selection) {
|
|
//For browsers like Internet Explorer
|
|
this.focus();
|
|
var sel = document.selection.createRange();
|
|
sel.text = myValue;
|
|
this.focus();
|
|
} else if (this.selectionStart || this.selectionStart == '0') {
|
|
//For browsers like Firefox and Webkit based
|
|
var startPos = this.selectionStart;
|
|
var endPos = this.selectionEnd;
|
|
var scrollTop = this.scrollTop;
|
|
this.value =
|
|
this.value.substring(0, startPos) +
|
|
myValue +
|
|
this.value.substring(endPos, this.value.length);
|
|
this.focus();
|
|
this.selectionStart = startPos + myValue.length;
|
|
this.selectionEnd = startPos + myValue.length;
|
|
this.scrollTop = scrollTop;
|
|
} else {
|
|
this.value += myValue;
|
|
this.focus();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
$.fn.resetForm = function () {
|
|
var form = $(this);
|
|
|
|
var inputs = form.find(
|
|
"input:not([disabled]):not(.disabledItem):not([type='hidden'])"
|
|
);
|
|
|
|
$.each(inputs, function () {
|
|
var input = $(this);
|
|
|
|
var type = input.prop('type');
|
|
|
|
if (type === 'checkbox' || type === 'radio') {
|
|
input.prop('checked', false);
|
|
} else {
|
|
input.val('');
|
|
}
|
|
});
|
|
|
|
var multiselects = form.find('select[multiple]');
|
|
|
|
$.each(multiselects, function () {
|
|
var multiselect = $(this);
|
|
|
|
var kendoMultiSelect = multiselect.data('kendoMultiSelect');
|
|
|
|
if (typeof kendoMultiSelect !== 'undefined') kendoMultiSelect.value([]);
|
|
});
|
|
};
|
|
|
|
var CommonUtils = (function () {
|
|
var commonUtils = function () {};
|
|
|
|
commonUtils.allowOnlyNumber = function (e) {
|
|
return allowOnlyNumber(e);
|
|
};
|
|
commonUtils.checkBrowserVersion = function () {
|
|
return CheckBrowserVersion();
|
|
};
|
|
commonUtils.checkKendoComboBoxHasItemByValue = function (
|
|
comboBoxName,
|
|
value
|
|
) {
|
|
return checkKendoComboBoxHasItemByValue(comboBoxName, value);
|
|
};
|
|
commonUtils.createGuid = function (withoutHyphen) {
|
|
return createGuid(withoutHyphen);
|
|
};
|
|
commonUtils.exists = function (variable) {
|
|
return exists(variable);
|
|
};
|
|
commonUtils.getHtmlInnerTextFromString = function (variable) {
|
|
return getHtmlInnerTextFromString(variable);
|
|
};
|
|
commonUtils.getNormalizedHtmlFromString = function (variable) {
|
|
return getNormalizedHtmlFromString(variable);
|
|
};
|
|
commonUtils.isBool = function (variable) {
|
|
return isBool(variable);
|
|
};
|
|
commonUtils.isFunction = function (variable) {
|
|
return isFunction(variable);
|
|
};
|
|
commonUtils.isNull = function (variable) {
|
|
return isNull(variable);
|
|
};
|
|
commonUtils.isNullOrEmpty = function (variable) {
|
|
return isNullOrEmpty(variable);
|
|
};
|
|
commonUtils.isNullOrUndefined = function (variable) {
|
|
return isNull(variable) || isUndefined(variable);
|
|
};
|
|
commonUtils.isNullOrWhiteSpace = function (variable, checkUnstrippedText) {
|
|
return isNullOrWhiteSpace(variable, checkUnstrippedText);
|
|
};
|
|
commonUtils.isNullOrEmptyOrUndefined = function (variable) {
|
|
return isNullOrEmpty(variable) || isUndefined(variable);
|
|
};
|
|
commonUtils.isUndefined = function (variable) {
|
|
return isUndefined(variable);
|
|
};
|
|
commonUtils.parseBool = function (variable) {
|
|
return parseBool(variable);
|
|
};
|
|
commonUtils.parseNull = function (variable) {
|
|
return parseNull(variable);
|
|
};
|
|
commonUtils.setCaretPosition = function (input, position) {
|
|
return setCaretPosition(input, position);
|
|
};
|
|
commonUtils.Log = function (text) {
|
|
if (!isUndefined(console) && !isUndefined(console.error)) {
|
|
console.error(text);
|
|
}
|
|
};
|
|
|
|
commonUtils.formFileDownload = function (url, fileId) {
|
|
if ($('#hidden-form').length > 0) {
|
|
$('#hidden-form').remove();
|
|
}
|
|
|
|
$('<form>')
|
|
.attr({
|
|
method: 'POST',
|
|
id: 'hidden-form',
|
|
action: url
|
|
})
|
|
.appendTo('body');
|
|
|
|
$('<input>')
|
|
.attr({
|
|
type: 'hidden',
|
|
id: 'Id',
|
|
name: 'Id',
|
|
value: fileId
|
|
})
|
|
.appendTo('#hidden-form');
|
|
|
|
$('#hidden-form').submit();
|
|
};
|
|
|
|
commonUtils.LineBreakRegex = new RegExp('\r?\n', 'g');
|
|
|
|
function createGuid(withoutHyphen) {
|
|
function s4() {
|
|
return Math.floor((1 + Math.random()) * 0x10000)
|
|
.toString(16)
|
|
.substring(1);
|
|
}
|
|
if (withoutHyphen) {
|
|
return s4() + s4() + s4() + s4() + s4() + s4() + s4() + s4();
|
|
}
|
|
return (
|
|
s4() +
|
|
s4() +
|
|
'-' +
|
|
s4() +
|
|
'-' +
|
|
s4() +
|
|
'-' +
|
|
s4() +
|
|
'-' +
|
|
s4() +
|
|
s4() +
|
|
s4()
|
|
);
|
|
}
|
|
|
|
function parseBool(variable) {
|
|
if (
|
|
variable === 'true' ||
|
|
variable === 'True' ||
|
|
variable === true ||
|
|
variable === 1 ||
|
|
variable === '1'
|
|
) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function parseNull(variable) {
|
|
if (variable.toLowerCase() === 'null') {
|
|
return null;
|
|
}
|
|
return variable;
|
|
}
|
|
|
|
function exists(object) {
|
|
return object.length > 0;
|
|
}
|
|
|
|
function isUndefined(variable) {
|
|
return typeof variable === 'undefined';
|
|
}
|
|
|
|
function isNull(variable) {
|
|
return variable == null;
|
|
}
|
|
|
|
function isNullOrEmpty(variable) {
|
|
return isNull(variable) || variable === '';
|
|
}
|
|
|
|
function isNullOrWhiteSpace(variable, checkUnstrippedText) {
|
|
if (typeof variable !== 'string') {
|
|
return true;
|
|
}
|
|
|
|
if (isUndefined(checkUnstrippedText)) {
|
|
checkUnstrippedText = true;
|
|
}
|
|
|
|
var text;
|
|
if (checkUnstrippedText) {
|
|
text = variable;
|
|
} else {
|
|
text = getHtmlInnerTextFromString(variable);
|
|
}
|
|
|
|
var result = text.trim();
|
|
return isNullOrEmpty(result);
|
|
}
|
|
|
|
function isBool(variable) {
|
|
return typeof variable === 'boolean';
|
|
}
|
|
|
|
function isFunction(variable) {
|
|
return typeof variable === 'function';
|
|
}
|
|
|
|
function getNormalizedHtmlFromString(variable) {
|
|
var tempDivElement = document.createElement('textarea');
|
|
tempDivElement.innerHTML = variable;
|
|
return tempDivElement.value;
|
|
}
|
|
|
|
function getHtmlInnerTextFromString(variable) {
|
|
var tempDivElement = document.createElement('div');
|
|
tempDivElement.innerHTML = getNormalizedHtmlFromString(variable);
|
|
return tempDivElement.innerText;
|
|
}
|
|
|
|
function allowOnlyNumber(e) {
|
|
// Allow: backspace, delete, tab, escape, enter and .
|
|
if (
|
|
$.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
|
|
// Allow: Ctrl/cmd+A
|
|
(e.keyCode == 65 && (e.ctrlKey === true || e.metaKey === true)) ||
|
|
// Allow: Ctrl/cmd+C
|
|
(e.keyCode == 67 && (e.ctrlKey === true || e.metaKey === true)) ||
|
|
// Allow: Ctrl/cmd+X
|
|
(e.keyCode == 88 && (e.ctrlKey === true || e.metaKey === true)) ||
|
|
// Allow: home, end, left, up, right, down
|
|
(e.keyCode >= 35 && e.keyCode <= 40)
|
|
) {
|
|
// let it happen, don't do anything
|
|
return;
|
|
}
|
|
// Ensure that it is a number and stop the keypress
|
|
if (
|
|
(e.shiftKey || e.keyCode < 48 || e.keyCode > 57) &&
|
|
(e.keyCode < 96 || e.keyCode > 105)
|
|
) {
|
|
e.preventDefault();
|
|
}
|
|
}
|
|
|
|
function checkKendoComboBoxHasItemByValue(comboBoxName, value) {
|
|
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(comboBoxName);
|
|
var comboBoxItemsByValue = $.grep(kendoComboBox.dataItems(), function (e) {
|
|
return e.Value === value;
|
|
});
|
|
var result = comboBoxItemsByValue.length > 0;
|
|
return result;
|
|
}
|
|
|
|
function CheckBrowserVersion() {
|
|
// ha mobilon lévő böngészőről nézi a böngészőt, nincs figyelmeztetés
|
|
var indexOfMOBI = navigator.userAgent.indexOf('Mobi');
|
|
if (indexOfMOBI !== -1) {
|
|
return true;
|
|
}
|
|
|
|
var MinVersionEdgeHTML = 14;
|
|
var MinVersionFirefox = 50;
|
|
var MinVersionChrome = 50;
|
|
var MinVersionOpera = 36;
|
|
|
|
var KretaBrowser = (function () {
|
|
var userAgent = navigator.userAgent;
|
|
|
|
var arr =
|
|
userAgent.match(
|
|
/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i
|
|
) || [];
|
|
|
|
var browser = arr[1];
|
|
var version = arr[2];
|
|
|
|
//IE
|
|
if (/trident/i.test(browser)) {
|
|
browser = 'IE';
|
|
var ieVersionArr = /\brv[ :]+(\d+)/g.exec(userAgent) || [];
|
|
version = ieVersionArr[1] || '';
|
|
|
|
return { browser: browser, version: version };
|
|
}
|
|
|
|
//Opera és Edge
|
|
if (browser === 'Chrome') {
|
|
var isEdgeOrOperaArr = userAgent.match(/\b(OPR|Edge)\/(\d+)/i);
|
|
if (isEdgeOrOperaArr !== null) {
|
|
browser = isEdgeOrOperaArr[1].replace('OPR', 'Opera');
|
|
version = isEdgeOrOperaArr[2];
|
|
|
|
return { browser: browser, version: version };
|
|
}
|
|
}
|
|
|
|
var isOtherVersionArr = userAgent.match(/version\/(\d+)/i);
|
|
|
|
//Safari
|
|
if (isOtherVersionArr !== null) {
|
|
version = isOtherVersionArr[1];
|
|
}
|
|
|
|
return { browser: browser, version: version };
|
|
})();
|
|
|
|
// verzió és böngésző ellenőrzés
|
|
if (
|
|
KretaBrowser.browser === 'Edge' &&
|
|
KretaBrowser.version >= MinVersionEdgeHTML
|
|
) {
|
|
return true;
|
|
}
|
|
if (
|
|
KretaBrowser.browser === 'Opera' &&
|
|
KretaBrowser.version >= MinVersionOpera
|
|
) {
|
|
return true;
|
|
}
|
|
if (
|
|
KretaBrowser.browser === 'Firefox' &&
|
|
KretaBrowser.version >= MinVersionFirefox
|
|
) {
|
|
return true;
|
|
}
|
|
if (
|
|
KretaBrowser.browser === 'Chrome' &&
|
|
KretaBrowser.version >= MinVersionChrome
|
|
) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function setCaretPosition(input, position) {
|
|
if (input.setSelectionRange) {
|
|
// Modern browsers
|
|
input.focus();
|
|
input.setSelectionRange(position, position);
|
|
} else if (input.createTextRange) {
|
|
// IE8 and below
|
|
var textRange = input.createTextRange();
|
|
textRange.collapse(true);
|
|
textRange.moveEnd('character', position);
|
|
textRange.moveStart('character', position);
|
|
textRange.select();
|
|
}
|
|
}
|
|
|
|
commonUtils.hunSorterWithKey = function (key) {
|
|
return function hunSort(x, y) {
|
|
if (!x.hasOwnProperty(key) || !y.hasOwnProperty(key)) {
|
|
return 0;
|
|
}
|
|
|
|
var a = x[key];
|
|
var b = y[key];
|
|
var hunABC = [
|
|
'A',
|
|
'Á',
|
|
'B',
|
|
'C',
|
|
'CS',
|
|
'D',
|
|
'DZ',
|
|
'DZS',
|
|
'E',
|
|
'É',
|
|
'F',
|
|
'G',
|
|
'GY',
|
|
'H',
|
|
'I',
|
|
'Í',
|
|
'J',
|
|
'K',
|
|
'L',
|
|
'LY',
|
|
'M',
|
|
'N',
|
|
'NY',
|
|
'O',
|
|
'Ó',
|
|
'Ö',
|
|
'Ő',
|
|
'P',
|
|
'Q',
|
|
'R',
|
|
'S',
|
|
'SZ',
|
|
'T',
|
|
'TY',
|
|
'U',
|
|
'Ú',
|
|
'Ü',
|
|
'Ű',
|
|
'V',
|
|
'W',
|
|
'X',
|
|
'Y',
|
|
'Z',
|
|
'ZS'
|
|
];
|
|
var digraphs = ['CS', 'DZ', 'GY', 'LY', 'NY', 'SZ', 'TY', 'ZS'];
|
|
var trigraphs = ['DZS'];
|
|
var hunAccentsMap = {
|
|
Á: 'A',
|
|
É: 'E',
|
|
Í: 'I',
|
|
Ó: 'O',
|
|
Ő: 'Ö',
|
|
Ú: 'U',
|
|
Ű: 'Ü'
|
|
};
|
|
var foreignCharactersMap = {
|
|
// A
|
|
À: 'A',
|
|
Â: 'A',
|
|
Ă: 'A',
|
|
Ä: 'A',
|
|
Ą: 'A',
|
|
Å: 'A',
|
|
Ā: 'A',
|
|
Æ: 'A',
|
|
// C
|
|
Č: 'C',
|
|
Ć: 'C',
|
|
Ç: 'C',
|
|
// D
|
|
Ď: 'D',
|
|
Ð: 'D',
|
|
Dž: 'D',
|
|
Đ: 'D',
|
|
// E
|
|
È: 'E',
|
|
Ê: 'E',
|
|
Ě: 'E',
|
|
Ë: 'E',
|
|
Ę: 'E',
|
|
Ē: 'E',
|
|
// G
|
|
Ğ: 'G',
|
|
// I
|
|
Ì: 'I',
|
|
Î: 'I',
|
|
Ï: 'I',
|
|
İ: 'I',
|
|
Ī: 'I',
|
|
// L
|
|
Ĺ: 'L',
|
|
Ľ: 'L',
|
|
Lj: 'L',
|
|
Ł: 'L',
|
|
Ḷ: 'L',
|
|
Ḹ: 'L',
|
|
// N
|
|
Ň: 'N',
|
|
Ñ: 'N',
|
|
Nj: 'N',
|
|
// O
|
|
Ò: 'O',
|
|
Ô: 'O',
|
|
Õ: 'O',
|
|
Ō: 'O',
|
|
Ø: 'O',
|
|
Œ: 'O',
|
|
// R
|
|
Ŕ: 'R',
|
|
Ř: 'R',
|
|
Ṛ: 'R',
|
|
Ṝ: 'R',
|
|
// S
|
|
Ś: 'S',
|
|
Š: 'S',
|
|
Ŝ: 'S',
|
|
Ș: 'S',
|
|
Ş: 'S',
|
|
// T
|
|
Ť: 'T',
|
|
Ț: 'T',
|
|
Þ: 'T',
|
|
// U
|
|
Ù: 'U',
|
|
Û: 'U',
|
|
Ů: 'U',
|
|
Ū: 'U',
|
|
// Y
|
|
Ý: 'Y',
|
|
Ÿ: 'Y',
|
|
// Z
|
|
Ź: 'Z',
|
|
Ż: 'Z',
|
|
Ž: 'Z'
|
|
};
|
|
var removeAccent = false;
|
|
|
|
// clean special characters and replace ssz -> szsz
|
|
var cleanerRegex =
|
|
/(.)(?=\1)(DZS|CS|DZ|GY|LY|NY|SZ|TY|ZS)| |-|\[|\]|\.|\(|\)|/g;
|
|
|
|
var cleanForeignCharacters = function cleanForeignCharacters(text) {
|
|
return [].concat(text).reduce(function (acc, curr) {
|
|
return acc + (foreignCharactersMap[curr] || curr);
|
|
}, '');
|
|
};
|
|
|
|
var getUpperCaseAndReplaxeTwiceOccured =
|
|
function getUpperCaseAndReplaxeTwiceOccured(text) {
|
|
return cleanForeignCharacters(text.toUpperCase()).replace(
|
|
cleanerRegex,
|
|
'$2$2'
|
|
);
|
|
};
|
|
|
|
var aUpper = getUpperCaseAndReplaxeTwiceOccured(a);
|
|
var bUpper = getUpperCaseAndReplaxeTwiceOccured(b);
|
|
|
|
var compareNumbers = function compareNumbers(i, j) {
|
|
if (i < j) {
|
|
return -1;
|
|
}
|
|
|
|
if (i > j) {
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
};
|
|
|
|
var getCharAndShift = function getCharAndShift(text, index) {
|
|
var shift = 3;
|
|
var _char = '';
|
|
|
|
if (trigraphs.includes(text.substring(index, index + shift))) {
|
|
_char = text.substring(index, index + shift);
|
|
} else {
|
|
shift = 2;
|
|
|
|
if (digraphs.includes(text.substring(index, index + shift))) {
|
|
_char = text.substring(index, index + shift);
|
|
} else {
|
|
shift = 1;
|
|
_char = text.charAt(index);
|
|
}
|
|
}
|
|
|
|
return {
|
|
shift: shift,
|
|
char: _char,
|
|
isNumber: Number.isInteger(parseInt(_char))
|
|
};
|
|
};
|
|
|
|
var getIndex = function getIndex(_char2) {
|
|
return hunABC.indexOf(
|
|
(removeAccent && hunAccentsMap[_char2]) || _char2
|
|
);
|
|
};
|
|
|
|
var compareTexts = function compareTexts(_ref) {
|
|
var aIndex = _ref.aIndex,
|
|
bIndex = _ref.bIndex;
|
|
|
|
var _getCharAndShift = getCharAndShift(aUpper, aIndex),
|
|
aShift = _getCharAndShift.shift,
|
|
aCurrentChar = _getCharAndShift['char'],
|
|
aIsNumber = _getCharAndShift.isNumber;
|
|
|
|
var _getCharAndShift2 = getCharAndShift(bUpper, bIndex),
|
|
bShift = _getCharAndShift2.shift,
|
|
bCurrentChar = _getCharAndShift2['char'],
|
|
bIsNumber = _getCharAndShift2.isNumber;
|
|
|
|
var aCharIndex = getIndex(aCurrentChar);
|
|
var bCharIndex = getIndex(bCurrentChar);
|
|
|
|
if (aIsNumber && bIsNumber) {
|
|
var aNumber = parseInt(aCurrentChar);
|
|
var bNumber = parseInt(bCurrentChar);
|
|
if (aNumber !== bNumber) {
|
|
return compareNumbers(aNumber, bNumber);
|
|
}
|
|
} else if (aCharIndex !== bCharIndex) {
|
|
return compareNumbers(aCharIndex, bCharIndex);
|
|
}
|
|
|
|
return compareTexts({
|
|
aIndex: aIndex + aShift,
|
|
bIndex: bIndex + bShift
|
|
});
|
|
};
|
|
|
|
var cleanAccent = function cleanAccent(text) {
|
|
return [].concat(text).reduce(function (acc, curr) {
|
|
return acc + (hunAccentsMap[curr] || curr);
|
|
}, '');
|
|
};
|
|
|
|
if (aUpper === bUpper) {
|
|
var aFirstChar = getIndex(a.charAt(0));
|
|
var bFirstChar = getIndex(b.charAt(0));
|
|
return compareNumbers(aFirstChar, bFirstChar);
|
|
}
|
|
|
|
return compareTexts({
|
|
aIndex: 0,
|
|
bIndex: 0
|
|
});
|
|
};
|
|
};
|
|
|
|
commonUtils.getBankszamlaVezetoBankAjax = function (url, bankszamlaszam) {
|
|
if (bankszamlaszam === undefined) {
|
|
return '';
|
|
}
|
|
|
|
return $.ajax({
|
|
type: 'POST',
|
|
global: false,
|
|
dataType: 'html',
|
|
url: url,
|
|
data: { bankszamlaszam: bankszamlaszam },
|
|
success: function (data) {
|
|
tmp = data;
|
|
},
|
|
error: function (xhr, textStatus, errorThrown) {
|
|
tmp = '';
|
|
}
|
|
});
|
|
};
|
|
|
|
commonUtils.dateFormat = 'YYYY-MM-DD';
|
|
commonUtils.dateTimeFormat = 'YYYY-MM-DD HH:mm';
|
|
|
|
commonUtils.getUtcTimeFromDateAndTime = function (date, time) {
|
|
var datum;
|
|
if (CommonUtils.isNullOrUndefined(date)) {
|
|
datum = moment(new Date()).format(commonUtils.dateFormat);
|
|
} else {
|
|
var parameterDateFormat =
|
|
date.indexOf('-') > -1 ? commonUtils.dateFormat : 'YYYY. MM. DD.';
|
|
datum = moment(date, parameterDateFormat).format(commonUtils.dateFormat);
|
|
}
|
|
|
|
var splittedTime = '';
|
|
if (time.length <= 5) {
|
|
splittedTime = time.substr(time.length - 5);
|
|
} else {
|
|
splittedTime = moment(time, 'HH:mm:ss').format('LT'); // LT -> AM/PM szerepel a time-nál
|
|
}
|
|
|
|
var idopont = moment(datum + splittedTime, commonUtils.dateTimeFormat);
|
|
var utcIdopont = moment(idopont).utc().format(commonUtils.dateTimeFormat);
|
|
|
|
var utcTime = moment(utcIdopont).format('HH:mm');
|
|
return utcTime;
|
|
};
|
|
|
|
commonUtils.SetUtcDateTimeFromDatetime = function (dateTime) {
|
|
return (
|
|
moment(dateTime).format('YYYY-MM-DD') +
|
|
' ' +
|
|
commonUtils.getUtcTimeFromDateAndTime(
|
|
moment(dateTime).format('YYYY-MM-DD'),
|
|
moment(dateTime).format('HH:mm:ss')
|
|
)
|
|
);
|
|
};
|
|
|
|
commonUtils.EscapeControlCharacters = function (jsonString) {
|
|
return (
|
|
jsonString
|
|
.replace(/\n/g, '\\n') // line feed
|
|
.replace(/\r/g, '\\r') // carriage return
|
|
.replace(/\t/g, '\\t') // horizontal tab
|
|
//.replace(/\b/g, "\\b") // backspace
|
|
.replace(/\v/g, '\\v') // vertical tab
|
|
//.replace(/\a/g, "\\a") // bell
|
|
.replace(/\f/g, '\\f')
|
|
); // form feed
|
|
};
|
|
|
|
commonUtils.JSONparse = function (json) {
|
|
if (json.substring(1, 2) === '\r' || json.substring(1, 2) === '\n') {
|
|
return JSON.parse(json);
|
|
}
|
|
|
|
return JSON.parse(CommonUtils.EscapeControlCharacters(json));
|
|
};
|
|
|
|
//Required if mezők UI oldali ellenőrzése
|
|
//params: expression: bool, fieldId:string, errorMessage:string -> (pl.: '@Html.Raw(TanuloResource.TanterviJellemzoMegadasaKotelezo.Replace(Environment.NewLine, ""))' )
|
|
commonUtils.UpdateRequiredProperies = function (expression, fieldId, errorMessage) {
|
|
if (expression) {
|
|
$(fieldId).rules("add", "required");
|
|
$(fieldId).attr("data-rule-required", "true");
|
|
$(fieldId).attr("data-msg-required", errorMessage);
|
|
$(fieldId).attr("aria-required", "true");
|
|
}
|
|
else {
|
|
$(fieldId).rules("remove", "required");
|
|
$(fieldId).attr("data-rule-required", "false");
|
|
$(fieldId).attr("aria-required", "false");
|
|
}
|
|
}
|
|
|
|
commonUtils.ConvertToDateWithPointsFormat = function (dateWithPoints) {
|
|
if (dateWithPoints.includes('.')) {
|
|
splitarray = dateWithPoints.split(".");
|
|
|
|
return splitarray[0] + "-" + splitarray[1] + "-" + splitarray[2];
|
|
}
|
|
|
|
return dateWithPoints;
|
|
}
|
|
|
|
return commonUtils;
|
|
})();
|