File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/modules/calendar/install/js/calendar/util/dist/util.bundle.js.map
Back
{"version":3,"file":"util.bundle.js","sources":["../src/util.js"],"sourcesContent":["import { Type, Loc, Dom, Tag} from \"main.core\";\nimport { DateTimeFormat } from \"main.date\";\nimport \"ui.notification\";\nimport {PopupManager} from 'main.popup';\nimport {PULL as Pull} from 'pull.client';\n\nexport class Util\n{\n\tstatic PLANNER_PULL_TAG = 'calendar-planner-#USER_ID#';\n\tstatic PLANNER_WATCH_LIST = [];\n\tstatic REQUEST_ID_LIST = [];\n\tstatic accessNames = {};\n\n\tstatic parseTime(str)\n\t{\n\t\tlet date = Util.parseDate1(BX.date.format(Util.getDateFormat(), new Date()) + ' ' + str, false);\n\t\treturn date ? {\n\t\t\th: date.getHours(),\n\t\t\tm: date.getMinutes()\n\t\t} : date;\n\t}\n\n\tstatic getTimeRounded(date)\n\t{\n\t\treturn Math.round(date.getTime() / 60000) * 60000;\n\t}\n\n\tstatic parseDate(str, bUTC, formatDate, formatDatetime)\n\t{\n\t\treturn BX.parseDate(str, bUTC, formatDate, formatDatetime);\n\t}\n\n\tstatic parseDate1(str, format, trimSeconds)\n\t{\n\t\tlet\n\t\t\ti, cnt, k,\n\t\t\tregMonths,\n\t\t\tbUTC = false;\n\n\t\tif (!format)\n\t\t\tformat = Loc.getMessage('FORMAT_DATETIME');\n\n\t\tstr = BX.util.trim(str);\n\n\t\tif (trimSeconds !== false)\n\t\t\tformat = format.replace(':SS', '');\n\n\t\tif (BX.type.isNotEmptyString(str))\n\t\t{\n\t\t\tregMonths = '';\n\t\t\tfor (i = 1; i <= 12; i++)\n\t\t\t{\n\t\t\t\tregMonths = regMonths + '|' + Loc.getMessage('MON_' + i);\n\t\t\t}\n\n\t\t\tlet\n\t\t\t\texpr = new RegExp('([0-9]+|[a-z]+' + regMonths + ')', 'ig'),\n\t\t\t\taDate = str.match(expr),\n\t\t\t\taFormat = Loc.getMessage('FORMAT_DATE').match(/(DD|MI|MMMM|MM|M|YYYY)/ig),\n\t\t\t\taDateArgs = [],\n\t\t\t\taFormatArgs = [],\n\t\t\t\taResult = {};\n\n\t\t\tif (!aDate)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (aDate.length > aFormat.length)\n\t\t\t{\n\t\t\t\taFormat = format.match(/(DD|MI|MMMM|MM|M|YYYY|HH|H|SS|TT|T|GG|G)/ig);\n\t\t\t}\n\n\t\t\tfor (i = 0, cnt = aDate.length; i < cnt; i++)\n\t\t\t{\n\t\t\t\tif (BX.util.trim(aDate[i]) !== '')\n\t\t\t\t{\n\t\t\t\t\taDateArgs[aDateArgs.length] = aDate[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0, cnt = aFormat.length; i < cnt; i++)\n\t\t\t{\n\t\t\t\tif (BX.util.trim(aFormat[i]) != '')\n\t\t\t\t{\n\t\t\t\t\taFormatArgs[aFormatArgs.length] = aFormat[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet m = BX.util.array_search('MMMM', aFormatArgs);\n\t\t\tif (m > 0)\n\t\t\t{\n\t\t\t\taDateArgs[m] = BX.getNumMonth(aDateArgs[m]);\n\t\t\t\taFormatArgs[m] = \"MM\";\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm = BX.util.array_search('M', aFormatArgs);\n\t\t\t\tif (m > 0)\n\t\t\t\t{\n\t\t\t\t\taDateArgs[m] = BX.getNumMonth(aDateArgs[m]);\n\t\t\t\t\taFormatArgs[m] = \"MM\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0, cnt = aFormatArgs.length; i < cnt; i++)\n\t\t\t{\n\t\t\t\tk = aFormatArgs[i].toUpperCase();\n\t\t\t\taResult[k] = k == 'T' || k == 'TT' ? aDateArgs[i] : parseInt(aDateArgs[i], 10);\n\t\t\t}\n\n\t\t\tif (aResult['DD'] > 0 && aResult['MM'] > 0 && aResult['YYYY'] > 0)\n\t\t\t{\n\t\t\t\tlet d = new Date();\n\n\t\t\t\tif (bUTC)\n\t\t\t\t{\n\t\t\t\t\td.setUTCDate(1);\n\t\t\t\t\td.setUTCFullYear(aResult['YYYY']);\n\t\t\t\t\td.setUTCMonth(aResult['MM'] - 1);\n\t\t\t\t\td.setUTCDate(aResult['DD']);\n\t\t\t\t\td.setUTCHours(0, 0, 0);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\td.setDate(1);\n\t\t\t\t\td.setFullYear(aResult['YYYY']);\n\t\t\t\t\td.setMonth(aResult['MM'] - 1);\n\t\t\t\t\td.setDate(aResult['DD']);\n\t\t\t\t\td.setHours(0, 0, 0);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!isNaN(aResult['HH']) || !isNaN(aResult['GG']) || !isNaN(aResult['H']) || !isNaN(aResult['G']))\n\t\t\t\t\t&& !isNaN(aResult['MI'])\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tif (!isNaN(aResult['H']) || !isNaN(aResult['G']))\n\t\t\t\t\t{\n\t\t\t\t\t\tlet bPM = (aResult['T'] || aResult['TT'] || 'am').toUpperCase() == 'PM';\n\t\t\t\t\t\tlet h = parseInt(aResult['H'] || aResult['G'] || 0, 10);\n\t\t\t\t\t\tif (bPM)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taResult['HH'] = h + (h == 12 ? 0 : 12);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taResult['HH'] = h < 12 ? h : 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\taResult['HH'] = parseInt(aResult['HH'] || aResult['GG'] || 0, 10);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (isNaN(aResult['SS']))\n\t\t\t\t\t\taResult['SS'] = 0;\n\n\t\t\t\t\tif (bUTC)\n\t\t\t\t\t{\n\t\t\t\t\t\td.setUTCHours(aResult['HH'], aResult['MI'], aResult['SS']);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\td.setHours(aResult['HH'], aResult['MI'], aResult['SS']);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn d;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic formatTime(hours, minutes)\n\t{\n\t\tlet day;\n\t\tif (Type.isDate(hours))\n\t\t{\n\t\t\tday = hours;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tday = new Date();\n\t\t\tday.setHours(hours, minutes, 0);\n\t\t}\n\n\t\treturn BX.date.format(Util.getTimeFormatShort(), day.getTime() / 1000);\n\t}\n\n\tstatic formatDate(timestamp)\n\t{\n\t\tif (Type.isDate(timestamp))\n\t\t{\n\t\t\ttimestamp = timestamp.getTime();\n\t\t}\n\t\treturn BX.date.format(Util.getDateFormat(), timestamp / 1000);\n\t}\n\n\tstatic formatDateTime(timestamp)\n\t{\n\t\tif (Type.isDate(timestamp))\n\t\t{\n\t\t\ttimestamp = timestamp.getTime();\n\t\t}\n\t\treturn BX.date.format(Util.getDateTimeFormat(), timestamp / 1000);\n\t}\n\n\tstatic formatTimeInterval(from, to)\n\t{\n\t\tconst formattedFrom = DateTimeFormat.format(Util.getTimeFormatShort(), from.getTime() / 1000);\n\t\tconst formattedTo = DateTimeFormat.format(Util.getTimeFormatShort(), to.getTime() / 1000);\n\t\treturn `${formattedFrom} - ${formattedTo}`;\n\t}\n\n\tstatic formatDateUsable(date, showYear = true, showDayOfWeek = false)\n\t{\n\t\tconst lang = Loc.getMessage('LANGUAGE_ID');\n\t\tlet format = Util.getDateFormat();\n\t\tif (lang === 'ru' || lang === 'ua')\n\t\t{\n\t\t\tformat = showDayOfWeek ? 'l, j F' : 'j F';\n\n\t\t\tif (date.getFullYear\n\t\t\t\t&& date.getFullYear() !== new Date().getFullYear()\n\t\t\t\t&& showYear !== false\n\t\t\t)\n\t\t\t{\n\t\t\t\tformat += ' Y';\n\t\t\t}\n\t\t}\n\n\t\treturn BX.date.format([\n\t\t\t[\"today\", \"today\"],\n\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t[\"\", format]\n\t\t], date);\n\t}\n\n\tstatic getDayLength()\n\t{\n\t\tif (!Util.DAY_LENGTH)\n\t\t{\n\t\t\tUtil.DAY_LENGTH = 86400000;\n\t\t}\n\t\treturn Util.DAY_LENGTH;\n\t}\n\n\tstatic getDefaultColorList()\n\t{\n\t\treturn ['#86b100', '#0092cc', '#00afc7', '#e89b06', '#00b38c', '#de2b24', '#bd7ac9', '#838fa0', '#c3612c', '#e97090'];\n\t}\n\n\tstatic findTargetNode(node, parentCont)\n\t{\n\t\tlet res = false;\n\t\tif (node)\n\t\t{\n\t\t\tlet prefix = 'data-bx-calendar', i;\n\n\t\t\tif (node.attributes && node.attributes.length)\n\t\t\t{\n\t\t\t\tfor (i = 0; i < node.attributes.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif (node.attributes[i].name && node.attributes[i].name.substr(0, prefix.length) === prefix)\n\t\t\t\t\t{\n\t\t\t\t\t\tres = node;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!res)\n\t\t\t{\n\t\t\t\tres = BX.findParent(node, function(n) {\n\t\t\t\t\tlet j;\n\t\t\t\t\tif (n.attributes && n.attributes.length)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (j = 0; j < n.attributes.length; j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (n.attributes[j].name && n.attributes[j].name.substr(0, prefix.length) === prefix)\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}, parentCont);\n\t\t\t}\n\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tstatic getFollowedUserList(userId)\n\t{\n\t\treturn [];\n\t}\n\n\tstatic getWeekDayByInd(index)\n\t{\n\t\treturn ['SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA'][index];\n\t}\n\n\tstatic getIndByWeekDay(weekDay)\n\t{\n\t\treturn new Object({SU: 0, MO: 1, TU: 2, WE: 3, TH: 4, FR: 5, SA: 6})[weekDay];\n\t}\n\n\tstatic getWeekdaysLoc()\n\t{\n\t\tconst today = new Date();\n\t\tconst weekdays = [];\n\n\t\tconst dayLength = 24 * 60 * 60 * 1000;\n\t\tfor (let weekOffset = 0; weekOffset < 7; weekOffset++)\n\t\t{\n\t\t\tconst weekDayName = DateTimeFormat.format('D', new Date(today.getTime() + dayLength * weekOffset));\n\t\t\tweekdays[(today.getDay() + weekOffset) % 7] = weekDayName;\n\t\t}\n\n\t\treturn weekdays;\n\t}\n\n\tstatic getLoader(size, className)\n\t{\n\t\treturn Tag.render`\n\t\t<div class=\"${className || 'calendar-loader'}\">\n\t\t\t<svg class=\"calendar-loader-circular\"\n\t\t\t\tstyle=\"width:${parseInt(size)}px; height:${parseInt(size)}px;\"\n\t\t\t\tviewBox=\"25 25 50 50\">\n\t\t\t\t\t<circle class=\"calendar-loader-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-miterlimit=\"10\"/>\n\t\t\t\t\t<circle class=\"calendar-loader-inner-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-miterlimit=\"10\"/>\n\t\t\t</svg>\n\t\t</div>\n`;\n\t};\n\n\tstatic getDayCode(date)\n\t{\n\t\treturn date.getFullYear() + '-' + (\"0\" + (~~(date.getMonth() + 1))).substr(-2, 2) + '-' + (\"0\" + (~~(date.getDate()))).substr(-2, 2);\n\t}\n\n\tstatic getTextColor(color)\n\t{\n\t\tif (!color)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (color.charAt(0) === \"#\")\n\t\t{\n\t\t\tcolor = color.substring(1, 7);\n\t\t}\n\n\t\tlet\n\t\t\tr = parseInt(color.substring(0, 2), 16),\n\t\t\tg = parseInt(color.substring(2, 4), 16),\n\t\t\tb = parseInt(color.substring(4, 6), 16),\n\t\t\tlight = (r * 0.8 + g + b * 0.2) / 510 * 100;\n\n\t\treturn light < 50;\n\t}\n\n\tstatic getKeyCode(key)\n\t{\n\t\tif (!Type.isString(key))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tlet KEY_CODES = {\n\t\t\t'backspace': 8,\n\t\t\t'enter': 13,\n\t\t\t'escape': 27,\n\t\t\t'space': 32,\n\t\t\t'delete': 46,\n\t\t\t'left': 37,\n\t\t\t'right': 39,\n\t\t\t'up': 38,\n\t\t\t'down': 40,\n\t\t\t'z': 90,\n\t\t\t'y': 89,\n\t\t\t'shift': 16,\n\t\t\t'ctrl': 17,\n\t\t\t'alt': 18,\n\t\t\t'cmd': 91, // 93, 224, 17 Browser dependent\n\t\t\t'cmdRight': 93, // 93, 224, 17 Browser dependent?\n\t\t\t'pageUp': 33,\n\t\t\t'pageDown': 34,\n\t\t\t'd': 68,\n\t\t\t'w': 87,\n\t\t\t'm': 77,\n\t\t\t'a': 65\n\t\t};\n\t\treturn KEY_CODES[key.toLowerCase()];\n\t}\n\n\tstatic isAnyModifierKeyPressed(event = window.event)\n\t{\n\t\tif (event)\n\t\t{\n\t\t\treturn event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstatic getUsableDateTime(timestamp, roundMin)\n\t{\n\t\tif (Type.isDate(timestamp))\n\t\t{\n\t\t\ttimestamp = timestamp.getTime();\n\t\t}\n\n\t\tlet r = (roundMin || 10) * 60 * 1000;\n\t\ttimestamp = Math.ceil(timestamp / r) * r;\n\n\t\treturn new Date(timestamp);\n\t}\n\n\tstatic showNotification(message, actions = null)\n\t{\n\t\tif (Type.isString(message) && message !== '')\n\t\t{\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tcontent: message,\n\t\t\t\tactions: actions\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic showFieldError(message, wrap, options)\n\t{\n\t\tif (Type.isDomNode(wrap) && Type.isString(message) && message !== '')\n\t\t{\n\t\t\tDom.remove(wrap.querySelector('.ui-alert'));\n\n\t\t\tlet alert = new BX.UI.Alert({\n\t\t\t\tcolor: BX.UI.Alert.Color.DANGER,\n\t\t\t\ticon: BX.UI.Alert.Icon.DANGER,\n\t\t\t\ttext: message\n\t\t\t});\n\n\t\t\tlet alertWrap = alert.getContainer();\n\n\t\t\twrap.appendChild(alertWrap);\n\n\t\t\treturn alertWrap;\n\t\t}\n\t}\n\n\tstatic getDateFormat()\n\t{\n\t\tif (!Util.DATE_FORMAT)\n\t\t{\n\t\t\tUtil.DATE_FORMAT = BX.Main.Date.convertBitrixFormat(Loc.getMessage(\"FORMAT_DATE\"));\n\t\t}\n\t\treturn Util.DATE_FORMAT;\n\t}\n\n\tstatic setDayOfWeekMonthFormat(value)\n\t{\n\t\tUtil.dayOfWeekMonthFormat = value;\n\t}\n\n\tstatic getDayOfWeekMonthFormat()\n\t{\n\t\treturn Util.dayOfWeekMonthFormat || 'l, j F';\n\t}\n\n\tstatic setDayMonthFormat(value)\n\t{\n\t\tUtil.dayMonthFormat = value;\n\t}\n\n\tstatic getDayMonthFormat()\n\t{\n\t\treturn Util.dayMonthFormat || 'j F';\n\t}\n\n\tstatic setLongDateFormat(value)\n\t{\n\t\tUtil.longDateFormat = value;\n\t}\n\n\tstatic getLongDateFormat()\n\t{\n\t\treturn Util.longDateFormat || 'j F Y';\n\t}\n\n\tstatic getDateTimeFormat()\n\t{\n\t\tif (!Util.DATETIME_FORMAT)\n\t\t{\n\t\t\tUtil.DATETIME_FORMAT = BX.Main.Date.convertBitrixFormat(Loc.getMessage(\"FORMAT_DATETIME\"));\n\t\t}\n\t\treturn Util.DATETIME_FORMAT;\n\t}\n\n\tstatic getTimeFormat()\n\t{\n\t\tif (!Util.TIME_FORMAT)\n\t\t{\n\t\t\tif ((Loc.getMessage(\"FORMAT_DATETIME\").substr(0, Loc.getMessage(\"FORMAT_DATE\").length) === Loc.getMessage(\"FORMAT_DATE\")))\n\t\t\t{\n\t\t\t\tUtil.TIME_FORMAT = BX.util.trim(Util.getDateTimeFormat().substr(Util.getDateFormat().length));\n\t\t\t\tUtil.TIME_FORMAT_BX = BX.util.trim(Loc.getMessage(\"FORMAT_DATETIME\").substr(Loc.getMessage(\"FORMAT_DATE\").length));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tUtil.TIME_FORMAT_BX = BX.isAmPmMode() ? 'H:MI:SS T' : 'HH:MI:SS';\n\t\t\t\tUtil.TIME_FORMAT = BX.date.convertBitrixFormat(BX.isAmPmMode() ? 'H:MI:SS T' : 'HH:MI:SS');\n\t\t\t}\n\t\t}\n\n\t\treturn Util.TIME_FORMAT;\n\t}\n\n\tstatic getTimeFormatShort()\n\t{\n\t\tif (!Util.TIME_FORMAT_SHORT)\n\t\t{\n\t\t\tUtil.TIME_FORMAT_SHORT = Util.getTimeFormat().replace(':s', '');\n\t\t\tUtil.TIME_FORMAT_SHORT_BX = Util.TIME_FORMAT_BX.replace(':SS', '');\n\t\t}\n\t\treturn Util.TIME_FORMAT_SHORT;\n\t}\n\n\tstatic getCurrentUserId()\n\t{\n\t\tif (!Util.currentUserId)\n\t\t{\n\t\t\tUtil.currentUserId = parseInt(Loc.getMessage('USER_ID'));\n\t\t}\n\t\treturn Util.currentUserId;\n\t}\n\n\tstatic getTimeByInt(intValue)\n\t{\n\t\tintValue = parseInt(intValue);\n\t\tlet h = Math.floor(intValue / 60);\n\t\treturn { hour: h, min: intValue - h * 60 };\n\t}\n\n\tstatic preventSelection(node)\n\t{\n\t\tnode.ondrag = BX.False;\n\t\tnode.ondragstart = BX.False;\n\t\tnode.onselectstart = BX.False;\n\t}\n\n\tstatic getBX()\n\t{\n\t\treturn window.top.BX || window.BX;\n\t}\n\n\tstatic closeAllPopups()\n\t{\n\t\tif (PopupManager.isAnyPopupShown())\n\t\t{\n\t\t\tfor (let i = 0, length = PopupManager._popups.length; i < length; i++)\n\t\t\t{\n\t\t\t\tif (PopupManager._popups[i]\n\t\t\t\t\t&& PopupManager._popups[i].isShown())\n\t\t\t\t{\n\t\t\t\t\tPopupManager._popups[i].close();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic sendAnalyticLabel(label)\n\t{\n\t\tBX.ajax.runAction('calendar.api.calendarajax.sendAnalyticsLabel', { analyticsLabel: label });\n\t}\n\n\tstatic setOptions(config, additionalParams)\n\t{\n\t\tUtil.config = config;\n\t\tUtil.additionalParams = additionalParams;\n\t}\n\n\tstatic setUserSettings(userSettings)\n\t{\n\t\tUtil.userSettings = userSettings;\n\t}\n\n\tstatic getUserSettings()\n\t{\n\t\treturn Type.isObjectLike(Util.userSettings) ? Util.userSettings : {};\n\t}\n\n\tstatic setCalendarContext(calendarContext)\n\t{\n\t\tUtil.calendarContext = calendarContext;\n\t}\n\n\tstatic getCalendarContext()\n\t{\n\t\treturn Util.calendarContext || null;\n\t}\n\n\tstatic getMeetingStatusList()\n\t{\n\t\treturn ['Y', 'N', 'Q', 'H'];\n\t}\n\n\tstatic checkEmailLimitationPopup()\n\t{\n\t\tconst emailGuestAmount = Util.getEventWithEmailGuestAmount();\n\t\tconst emailGuestLimit = Util.getEventWithEmailGuestLimit();\n\t\treturn emailGuestLimit > 0\n\t\t\t&& (emailGuestAmount === 8\n\t\t\t\t|| emailGuestAmount === 4\n\t\t\t\t|| emailGuestAmount >= emailGuestLimit);\n\t}\n\n\tstatic isEventWithEmailGuestAllowed()\n\t{\n\t\treturn Util.getEventWithEmailGuestLimit() === -1\n\t\t\t|| Util.getEventWithEmailGuestAmount() < Util.getEventWithEmailGuestLimit();\n\t}\n\n\tstatic setEventWithEmailGuestAmount(value)\n\t{\n\t\tUtil.countEventWithEmailGuestAmount = value;\n\t}\n\n\tstatic setEventWithEmailGuestLimit(value)\n\t{\n\t\tUtil.eventWithEmailGuestLimit = value;\n\t}\n\n\tstatic getEventWithEmailGuestAmount()\n\t{\n\t\treturn Util.countEventWithEmailGuestAmount;\n\t}\n\n\tstatic getEventWithEmailGuestLimit()\n\t{\n\t\treturn Util.eventWithEmailGuestLimit;\n\t}\n\n\tstatic setCurrentView(calendarView = null)\n\t{\n\t\tUtil.currentCalendarView = calendarView;\n\t}\n\n\tstatic getCurrentView()\n\t{\n\t\treturn Util.currentCalendarView || null;\n\t}\n\n\tstatic adjustDateForTimezoneOffset(date, timezoneOffset = 0, fullDay = false)\n\t{\n\t\tif (!Type.isDate(date))\n\t\t\tthrow new Error('Wrong type for date attribute. DateTime object expected.')\n\n\t\tif (!parseInt(timezoneOffset) || fullDay === true)\n\t\t\treturn date;\n\n\t\treturn new Date(date.getTime() - parseInt(timezoneOffset) * 1000);\n\t}\n\n\tstatic getFormattedTimezone(timeZone)\n\t{\n\t\tconst timezoneOffset = this.getTimeZoneOffset(timeZone);\n\t\tif (timezoneOffset === 0)\n\t\t{\n\t\t\treturn '(UTC) ' + timeZone;\n\t\t}\n\n\t\tconst prefix = (timezoneOffset > 0 ? '-' : '+');\n\t\tconst hours = ('0' + Math.floor(Math.abs(timezoneOffset) / 60)).slice(-2);\n\t\tconst minutes = ('0' + Math.abs(timezoneOffset) % 60).slice(-2);\n\n\t\treturn '(UTC ' + prefix + hours + ':' + minutes + ') ' + timeZone;\n\t}\n\n\tstatic getTimezoneDateFromTimestampUTC(timestampUTC, timeZone)\n\t{\n\t\treturn new Date(timestampUTC + this.getTimeZoneOffset() * 60 * 1000 - this.getTimeZoneOffset(timeZone) * 60 * 1000);\n\t}\n\n\tstatic getTimeZoneOffset(timeZone = undefined)\n\t{\n\t\tconst timeInTimezone = new Date(new Date().toLocaleString(\"en-US\", { timeZone })).getTime();\n\t\tconst timeInUTC = new Date(new Date().toLocaleString(\"en-US\", { timeZone: 'UTC' })).getTime();\n\t\treturn parseInt((timeInUTC - timeInTimezone) / 60000);\n\t}\n\n\tstatic randomInt(min, max)\n\t{\n\t\treturn Math.round(min - 0.5 + Math.random() * (max - min + 1));\n\t}\n\n\tstatic getRandomColor()\n\t{\n\t\tconst defaultColors = Util.getDefaultColorList();\n\t\treturn defaultColors[Util.randomInt(0, defaultColors.length - 1)];\n\t}\n\n\tstatic setAccessNames(accessNames = {})\n\t{\n\t\tUtil.accessNames = {};\n\t\tfor (let code in accessNames)\n\t\t{\n\t\t\tif (accessNames.hasOwnProperty(code))\n\t\t\t{\n\t\t\t\tUtil.setAccessName(code, accessNames[code])\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic getAccessName(code)\n\t{\n\t\treturn Util.accessNames[code] || code;\n\t}\n\n\tstatic setAccessName(code, name)\n\t{\n\t\tUtil.accessNames[code] = name;\n\t}\n\n\tstatic getRandomInt(numCount = 6)\n\t{\n\t\treturn Math.round(Math.random() * Math.pow(10, numCount));\n\t}\n\n\tstatic displayError(errors, reloadPage)\n\t{\n\t\tif (Type.isArray(errors))\n\t\t{\n\t\t\tlet errorMessage = '';\n\t\t\tfor (let i = 0; i < errors.length; i++)\n\t\t\t{\n\t\t\t\terrorMessage += errors[i].message + \"\\n\";\n\t\t\t}\n\t\t\terrors = errorMessage;\n\t\t}\n\n\t\tsetTimeout(() => {\n\n\t\t\talert(errors || '[Bitrix Calendar] Request error');\n\t\t\tif (reloadPage)\n\t\t\t{\n\t\t\t\tlocation.reload();\n\t\t\t}\n\n\t\t}, 200);\n\t}\n\n\tstatic convertEntityToAccessCode(entity)\n\t{\n\t\tif (Type.isObjectLike(entity))\n\t\t{\n\t\t\tif (entity.entityId === 'meta-user' && entity.id === 'all-users')\n\t\t\t{\n\t\t\t\treturn 'UA';\n\t\t\t}\n\t\t\telse if (entity.entityId === 'user')\n\t\t\t{\n\t\t\t\treturn 'U' + entity.id;\n\t\t\t}\n\t\t\telse if (entity.entityId === 'project')\n\t\t\t{\n\t\t\t\treturn 'SG' + entity.id + '_K'; // for all members of group\n\t\t\t}\n\t\t\telse if (entity.entityId === 'department')\n\t\t\t{\n\t\t\t\treturn 'DR' + entity.id;\n\t\t\t}\n\t\t\telse if (entity.entityId === 'group')\n\t\t\t{\n\t\t\t\treturn entity.id;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic extendPlannerWatches({ entries, userId })\n\t{\n\t\tentries.forEach((entry) => {\n\t\t\tif (entry.type === 'user' && parseInt(entry.id) !== parseInt(userId))\n\t\t\t{\n\t\t\t\tconst tag = Util.PLANNER_PULL_TAG.replace('#USER_ID#', entry.id);\n\t\t\t\tif (!Util.PLANNER_WATCH_LIST.includes(tag))\n\t\t\t\t{\n\t\t\t\t\tPull.extendWatch(tag);\n\t\t\t\t\tUtil.PLANNER_WATCH_LIST.push(tag);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic clearPlannerWatches()\n\t{\n\t\tUtil.PLANNER_WATCH_LIST.forEach((tag) => {\n\t\t\tPull.clearWatch(tag);\n\t\t});\n\t\tUtil.PLANNER_WATCH_LIST = [];\n\t}\n\n\tstatic registerRequestId()\n\t{\n\t\tconst requestUid = BX.Calendar.Util.getRandomInt(8);\n\t\tUtil.REQUEST_ID_LIST.push(requestUid);\n\t\treturn requestUid;\n\t}\n\n\tstatic unregisterRequestId(requestUid)\n\t{\n\t\tUtil.REQUEST_ID_LIST = Util.REQUEST_ID_LIST.filter((uid) => {return uid !== requestUid});\n\t}\n\n\tstatic checkRequestId(requestUid)\n\t{\n\t\trequestUid = parseInt(requestUid);\n\t\treturn !Type.isInteger(requestUid) || !Util.REQUEST_ID_LIST.includes(requestUid);\n\t}\n\n\tstatic initHintNode(hintNode)\n\t{\n\t\tconst bx = Util.getBX();\n\t\tif (Type.isElementNode(hintNode) && bx?.UI?.Hint)\n\t\t{\n\t\t\tif (bx?.UI?.Hint?.popup)\n\t\t\t{\n\t\t\t\tbx.UI.Hint.popup.destroy();\n\t\t\t\tbx.UI.Hint.popup = null;\n\t\t\t\tbx.UI.Hint.content = null;\n\t\t\t}\n\t\t\tbx.UI.Hint.initNode(hintNode);\n\t\t}\n\t}\n\n\tstatic documentIsDisplayingNow()\n\t{\n\t\treturn !document.hidden;\n\t}\n\n\tstatic removeHash()\n\t{\n\t\tif (\"pushState\" in history)\n\t\t{\n\t\t\thistory.pushState(\"\", document.title, window.location.pathname + window.location.search);\n\t\t}\n\t\telse\n\t\t\t{\n\t\t\t// Prevent scrolling by storing the page's current scroll offset\n\t\t\tlet scrollV = document.body.scrollTop;\n\t\t\tlet scrollH = document.body.scrollLeft;\n\t\t\twindow.location.hash = \"\";\n\t\t\t// Restore the scroll offset, should be flicker free\n\t\t\tdocument.body.scrollTop = scrollV;\n\t\t\tdocument.body.scrollLeft = scrollH;\n\t\t}\n\t}\n\n\t// TODO: move to syncManager\n\tstatic setIphoneConnectionStatus(value)\n\t{\n\t\tUtil.iphoneConnectionStatus = value;\n\t}\n\n\tstatic isIphoneConnected()\n\t{\n\t\treturn Util.iphoneConnectionStatus;\n\t}\n\n\tstatic setMacConnectionStatus(value)\n\t{\n\t\tUtil.macConnectionStatus = value;\n\t}\n\n\tstatic isMacConnected()\n\t{\n\t\treturn Util.macConnectionStatus;\n\t}\n\n\tstatic setIcloudConnectionStatus(value)\n\t{\n\t\tUtil.icloudConnectionStatus = value;\n\t}\n\n\tstatic isIcloudConnected()\n\t{\n\t\treturn Util.icloudConnectionStatus;\n\t}\n\n\tstatic setGoogleConnectionStatus(value)\n\t{\n\t\tUtil.googleConnectionStatus = value;\n\t}\n\n\tstatic isGoogleConnected()\n\t{\n\t\treturn Util.googleConnectionStatus;\n\t}\n\n\tstatic setIsSharingFeatureEnabled(value)\n\t{\n\t\tUtil.isSharingFeatureEnabled = value;\n\t}\n\n\tstatic checkSharingFeatureEnabled()\n\t{\n\t\treturn Util.isSharingFeatureEnabled;\n\t}\n\n\tstatic setSharingConfig(value)\n\t{\n\t\tUtil.sharingConfig = value;\n\t}\n\n\tstatic getSharingConfig()\n\t{\n\t\treturn Util.sharingConfig;\n\t}\n\n\tstatic downloadIcsFile(fileContent, fileName)\n\t{\n\t\tconst link = document.createElement('a');\n\t\tlink.href = \"data:text/calendar,\" + encodeURI(fileContent);\n\t\tlink.download = fileName;\n\t\tlink.click();\n\t}\n\n\tstatic isMobileBrowser()\n\t{\n\t\treturn navigator.userAgent.toLowerCase().includes('iphone')\n\t\t\t|| navigator.userAgent.toLowerCase().includes('ipad')\n\t\t\t|| navigator.userAgent.toLowerCase().includes('android')\n\t\t;\n\t}\n}"],"names":["Util","parseTime","str","date","parseDate1","BX","format","getDateFormat","Date","h","getHours","m","getMinutes","getTimeRounded","Math","round","getTime","parseDate","bUTC","formatDate","formatDatetime","trimSeconds","i","cnt","k","regMonths","Loc","getMessage","util","trim","replace","type","isNotEmptyString","expr","RegExp","aDate","match","aFormat","aDateArgs","aFormatArgs","aResult","length","array_search","getNumMonth","toUpperCase","parseInt","d","setDate","setFullYear","setMonth","setHours","isNaN","bPM","formatTime","hours","minutes","day","Type","isDate","getTimeFormatShort","timestamp","formatDateTime","getDateTimeFormat","formatTimeInterval","from","to","formattedFrom","DateTimeFormat","formattedTo","formatDateUsable","showYear","showDayOfWeek","lang","getFullYear","getDayLength","DAY_LENGTH","getDefaultColorList","findTargetNode","node","parentCont","res","prefix","attributes","name","substr","findParent","n","j","getFollowedUserList","userId","getWeekDayByInd","index","getIndByWeekDay","weekDay","Object","SU","MO","TU","WE","TH","FR","SA","getWeekdaysLoc","today","weekdays","dayLength","weekOffset","weekDayName","getDay","getLoader","size","className","Tag","render","getDayCode","getMonth","getDate","getTextColor","color","charAt","substring","r","g","b","light","getKeyCode","key","isString","KEY_CODES","toLowerCase","isAnyModifierKeyPressed","event","window","altKey","shiftKey","ctrlKey","metaKey","getUsableDateTime","roundMin","ceil","showNotification","message","actions","UI","Notification","Center","notify","content","showFieldError","wrap","options","isDomNode","Dom","remove","querySelector","alert","Alert","Color","DANGER","icon","Icon","text","alertWrap","getContainer","appendChild","DATE_FORMAT","Main","convertBitrixFormat","setDayOfWeekMonthFormat","value","dayOfWeekMonthFormat","getDayOfWeekMonthFormat","setDayMonthFormat","dayMonthFormat","getDayMonthFormat","setLongDateFormat","longDateFormat","getLongDateFormat","DATETIME_FORMAT","getTimeFormat","TIME_FORMAT","TIME_FORMAT_BX","isAmPmMode","TIME_FORMAT_SHORT","TIME_FORMAT_SHORT_BX","getCurrentUserId","currentUserId","getTimeByInt","intValue","floor","hour","min","preventSelection","ondrag","False","ondragstart","onselectstart","getBX","top","closeAllPopups","PopupManager","isAnyPopupShown","_popups","isShown","close","sendAnalyticLabel","label","ajax","runAction","analyticsLabel","setOptions","config","additionalParams","setUserSettings","userSettings","getUserSettings","isObjectLike","setCalendarContext","calendarContext","getCalendarContext","getMeetingStatusList","checkEmailLimitationPopup","emailGuestAmount","getEventWithEmailGuestAmount","emailGuestLimit","getEventWithEmailGuestLimit","isEventWithEmailGuestAllowed","setEventWithEmailGuestAmount","countEventWithEmailGuestAmount","setEventWithEmailGuestLimit","eventWithEmailGuestLimit","setCurrentView","calendarView","currentCalendarView","getCurrentView","adjustDateForTimezoneOffset","timezoneOffset","fullDay","Error","getFormattedTimezone","timeZone","getTimeZoneOffset","abs","slice","getTimezoneDateFromTimestampUTC","timestampUTC","undefined","timeInTimezone","toLocaleString","timeInUTC","randomInt","max","random","getRandomColor","defaultColors","setAccessNames","accessNames","code","hasOwnProperty","setAccessName","getAccessName","getRandomInt","numCount","pow","displayError","errors","reloadPage","isArray","errorMessage","setTimeout","location","reload","convertEntityToAccessCode","entity","entityId","id","extendPlannerWatches","entries","forEach","entry","tag","PLANNER_PULL_TAG","PLANNER_WATCH_LIST","includes","Pull","extendWatch","push","clearPlannerWatches","clearWatch","registerRequestId","requestUid","Calendar","REQUEST_ID_LIST","unregisterRequestId","filter","uid","checkRequestId","isInteger","initHintNode","hintNode","bx","isElementNode","Hint","popup","destroy","initNode","documentIsDisplayingNow","document","hidden","removeHash","history","pushState","title","pathname","search","scrollV","body","scrollTop","scrollH","scrollLeft","hash","setIphoneConnectionStatus","iphoneConnectionStatus","isIphoneConnected","setMacConnectionStatus","macConnectionStatus","isMacConnected","setIcloudConnectionStatus","icloudConnectionStatus","isIcloudConnected","setGoogleConnectionStatus","googleConnectionStatus","isGoogleConnected","setIsSharingFeatureEnabled","isSharingFeatureEnabled","checkSharingFeatureEnabled","setSharingConfig","sharingConfig","getSharingConfig","downloadIcsFile","fileContent","fileName","link","createElement","href","encodeURI","download","click","isMobileBrowser","navigator","userAgent"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings