File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/im/v2/lib/utils/dist/utils.bundle.js.map
Back
{"version":3,"file":"utils.bundle.js","sources":["../src/browser.js","../src/date.js","../src/device.js","../src/platform.js","../src/rest.js","../src/text.js","../src/user.js","../src/file.js","../src/utils.js"],"sourcesContent":["import {Type, Dom, Browser} from 'main.core';\n\nconst UA = navigator.userAgent.toLowerCase();\n\nexport const BrowserUtil = {\n\n\tisChrome(): boolean\n\t{\n\t\treturn Browser.isChrome();\n\t},\n\n\tisFirefox(): boolean\n\t{\n\t\treturn Browser.isFirefox();\n\t},\n\n\tisIe(): boolean\n\t{\n\t\treturn Browser.isIE();\n\t},\n\n\tisSafari(): boolean\n\t{\n\t\tif (this.isChrome())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!UA.includes('safari'))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn !this.isSafariBased();\n\t},\n\n\tisSafariBased(): boolean\n\t{\n\t\tif (!UA.includes('applewebkit'))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\tUA.includes('yabrowser')\n\t\t\t|| UA.includes('yaapp_ios_browser')\n\t\t\t|| UA.includes('crios')\n\t\t);\n\t},\n\n\tfindParent(item, findTag): ?HTMLElement\n\t{\n\t\tconst isHtmlElement = findTag instanceof HTMLElement;\n\n\t\tif (\n\t\t\t!findTag\n\t\t\t|| (!Type.isString(findTag) && !isHtmlElement)\n\t\t)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tfor (; item && item !== document; item = item.parentNode)\n\t\t{\n\t\t\tif (Type.isString(findTag))\n\t\t\t{\n\t\t\t\tif (Dom.hasClass(findTag))\n\t\t\t\t{\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isHtmlElement && item === findTag)\n\t\t\t{\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n};","import {DateFormat} from 'im.v2.const';\nimport {Loc, Type} from 'main.core';\nimport 'main.date';\n\nexport const DateUtil = {\n\n\tgetFormatType(type = DateFormat.default): Object\n\t{\n\t\tlet format = [];\n\t\tif (type === DateFormat.groupTitle)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_DATE\")]\n\t\t\t];\n\t\t}\n\t\telse if (type === DateFormat.message)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")]\n\t\t\t];\n\t\t}\n\t\telse if (type === DateFormat.recentTitle)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"tommorow\", \"today\"],\n\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_DATE_RECENT\")]\n\t\t\t]\n\t\t}\n\t\telse if (type === DateFormat.recentLinesTitle)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_DATE_RECENT\")]\n\t\t\t]\n\t\t}\n\t\telse if (type === DateFormat.readedTitle)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"tommorow\", \"tommorow, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"today\", \"today, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"yesterday\", \"yesterday, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_READED\")]\n\t\t\t];\n\t\t}\n\t\telse if (type === DateFormat.vacationTitle)\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_DATE_SHORT\")]\n\t\t\t];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tformat = [\n\t\t\t\t[\"tommorow\", \"tommorow, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"today\", \"today, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"yesterday\", \"yesterday, \"+Loc.getMessage(\"IM_UTILS_FORMAT_TIME\")],\n\t\t\t\t[\"\", Loc.getMessage(\"IM_UTILS_FORMAT_DATE_TIME\")]\n\t\t\t];\n\t\t}\n\n\t\treturn format;\n\t},\n\n\tgetDateFunction(localize = null): function\n\t{\n\t\tif (this.dateFormatFunction)\n\t\t{\n\t\t\treturn this.dateFormatFunction;\n\t\t}\n\n\t\tthis.dateFormatFunction = Object.create(BX.Main.Date);\n\t\tif (localize)\n\t\t{\n\t\t\t// eslint-disable-next-line bitrix-rules/no-pseudo-private\n\t\t\tthis.dateFormatFunction._getMessage = (phrase) => localize[phrase];\n\t\t}\n\n\t\treturn this.dateFormatFunction;\n\t},\n\n\tformat(timestamp, format = null, localize = null): function\n\t{\n\t\tif (!format)\n\t\t{\n\t\t\tformat = this.getFormatType(DateFormat.default, localize);\n\t\t}\n\n\t\treturn this.getDateFunction(localize).format(format, timestamp);\n\t},\n\n\tcast(date, def = new Date()): Date\n\t{\n\t\tlet result = def;\n\n\t\tif (date instanceof Date)\n\t\t{\n\t\t\tresult = date;\n\t\t}\n\t\telse if (Type.isString(date))\n\t\t{\n\t\t\tresult = new Date(date);\n\t\t}\n\t\telse if (Type.isNumber(date))\n\t\t{\n\t\t\tresult = new Date(date*1000);\n\t\t}\n\n\t\tif (\n\t\t\tresult instanceof Date\n\t\t\t&& Number.isNaN(result.getTime())\n\t\t)\n\t\t{\n\t\t\tresult = def;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tgetTimeToNextMidnight(): number\n\t{\n\t\tconst nextMidnight = new Date(new Date().setHours(24, 0, 0)).getTime();\n\t\treturn nextMidnight - Date.now();\n\t},\n\n\tgetStartOfTheDay(): Date\n\t{\n\t\treturn new Date((new Date()).setHours(0, 0));\n\t},\n\n\tisToday(date): boolean\n\t{\n\t\treturn this.cast(date).toDateString() === (new Date()).toDateString();\n\t}\n\n};","import {Type} from 'main.core';\n\nconst UA = navigator.userAgent.toLowerCase();\n\nexport const DeviceUtil = {\n\n\tisDesktop(): boolean\n\t{\n\t\treturn !this.isMobile();\n\t},\n\n\tisMobile(): boolean\n\t{\n\t\tif (!Type.isUndefined(this.isMobileStatic))\n\t\t{\n\t\t\treturn this.isMobileStatic;\n\t\t}\n\n\t\tthis.isMobileStatic = (\n\t\t\tUA.includes('android')\n\t\t\t|| UA.includes('webos')\n\t\t\t|| UA.includes('iphone')\n\t\t\t|| UA.includes('ipad')\n\t\t\t|| UA.includes('ipod')\n\t\t\t|| UA.includes('blackberry')\n\t\t\t|| UA.includes('windows phone')\n\t\t);\n\n\t\treturn this.isMobileStatic;\n\t},\n\n\torientationHorizontal: 'horizontal',\n\torientationPortrait: 'portrait',\n\n\tgetOrientation(): string\n\t{\n\t\tif (!this.isMobile())\n\t\t{\n\t\t\treturn this.orientationHorizontal;\n\t\t}\n\n\t\treturn Math.abs(window.orientation) === 0? this.orientationPortrait: this.orientationHorizontal;\n\t},\n\n};","import {Type, Browser} from 'main.core';\n\nconst UA = navigator.userAgent.toLowerCase();\n\nexport const PlatformUtil = {\n\n\tisMac(): boolean\n\t{\n\t\treturn Browser.isMac();\n\t},\n\tisLinux(): boolean\n\t{\n\t\treturn Browser.isLinux();\n\t},\n\tisWindows(): boolean\n\t{\n\t\treturn Browser.isWin() || (!this.isMac() && !this.isLinux());\n\t},\n\tisBitrixMobile(): boolean\n\t{\n\t\treturn UA.includes('bitrixmobile');\n\t},\n\tisBitrixDesktop(): boolean\n\t{\n\t\treturn UA.includes('bitrixdesktop');\n\t},\n\tgetDesktopVersion(): number\n\t{\n\t\tif (!Type.isUndefined(this.getDesktopVersionStatic))\n\t\t{\n\t\t\treturn this.getDesktopVersionStatic;\n\t\t}\n\n\t\tif (Type.isUndefined(window.BXDesktopSystem))\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst version = window.BXDesktopSystem.GetProperty('versionParts');\n\t\tthis.getDesktopVersionStatic = version[3];\n\n\t\treturn this.getDesktopVersionStatic;\n\t},\n\tisDesktopFeatureEnabled(code: string)\n\t{\n\t\tif (!this.isBitrixDesktop() || !Type.isFunction(BXDesktopSystem.FeatureEnabled))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn !!BXDesktopSystem.FeatureEnabled(code);\n\t},\n\tisMobile(): boolean\n\t{\n\t\treturn this.isAndroid() || this.isIos() || this.isBitrixMobile();\n\t},\n\tisIos(): boolean\n\t{\n\t\treturn Browser.isIOS();\n\t},\n\tgetIosVersion(): ?string\n\t{\n\t\tif (!this.isIos())\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst matches = UA.match(/(iphone|ipad)(.+)(OS\\s([0-9]+)([_.]([0-9]+))?)/i);\n\t\tif (!matches || !matches[4])\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn parseFloat(matches[4]+'.'+(matches[6]? matches[6]: 0));\n\t},\n\tisAndroid(): boolean\n\t{\n\t\treturn Browser.isAndroid();\n\t},\n\topenNewPage(url): boolean\n\t{\n\t\tif (!url)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.isBitrixMobile())\n\t\t{\n\t\t\tconst MobileTools = window.BX.MobileTools;\n\t\t\tif (Type.isUndefined())\n\t\t\t{\n\t\t\t\tconst openWidget = MobileTools.resolveOpenFunction(url);\n\t\t\t\tif (openWidget)\n\t\t\t\t{\n\t\t\t\t\topenWidget();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\twindow.app.openNewPage(url);\n\n\t\t\treturn true;\n\t\t}\n\n\t\twindow.open(url, '_blank');\n\n\t\treturn true;\n\t}\n};","import {Type} from 'main.core';\nimport {PlatformUtil} from './platform';\n\nexport const RestUtil = {\n\n\tgetLogTrackingParams(params = {}): string\n\t{\n\t\tconst result = [];\n\n\t\tlet {\n\t\t\tname = 'tracking',\n\t\t\tdata = [],\n\t\t} = params;\n\n\t\tconst {\n\t\t\tdialog = null,\n\t\t\tmessage = null,\n\t\t\tfiles = null,\n\t\t} = params;\n\n\t\tname = encodeURIComponent(name);\n\n\t\tif (Type.isPlainObject(data))\n\t\t{\n\t\t\tconst dataArray = [];\n\t\t\tfor (const name in data)\n\t\t\t{\n\t\t\t\tif (data.hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tdataArray.push(encodeURIComponent(name)+\"=\"+encodeURIComponent(data[name]));\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata = dataArray;\n\t\t}\n\t\telse if (!Type.isArray(data))\n\t\t{\n\t\t\tdata = [];\n\t\t}\n\n\t\tif (Type.isObjectLike(dialog))\n\t\t{\n\t\t\tresult.push('timType='+dialog.type);\n\n\t\t\tif (dialog.type === 'lines')\n\t\t\t{\n\t\t\t\tresult.push('timLinesType='+dialog.entityId.split('|')[0]);\n\t\t\t}\n\t\t}\n\n\t\tif (!Type.isNull(files))\n\t\t{\n\t\t\tlet type = 'file';\n\t\t\tif (Type.isArray(files) && files[0])\n\t\t\t{\n\t\t\t\ttype = files[0].type;\n\t\t\t}\n\t\t\telse if (Type.isObjectLike(files))\n\t\t\t{\n\t\t\t\ttype = files.type;\n\t\t\t}\n\t\t\tresult.push('timMessageType='+type);\n\t\t}\n\t\telse if (!Type.isNull(message))\n\t\t{\n\t\t\tresult.push('timMessageType=text');\n\t\t}\n\n\t\tif (PlatformUtil.isBitrixMobile())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixMobile');\n\t\t}\n\t\telse if (PlatformUtil.isBitrixDesktop())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixDesktop');\n\t\t}\n\t\telse if (PlatformUtil.isIos() || PlatformUtil.isAndroid())\n\t\t{\n\t\t\tresult.push('timDevice=mobile');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.push('timDevice=web');\n\t\t}\n\n\t\treturn name + (data.length? '&'+data.join('&'): '') + (result.length? '&'+result.join('&'): '');\n\t},\n};\n","import {Type, Loc, Text, Dom} from 'main.core';\n\nexport const TextUtil = {\n\n\tconvertHtmlEntities(text: string): string\n\t{\n\t\treturn Dom.create({\n\t\t\ttag: 'span',\n\t\t\thtml: text\n\t\t}).innerText;\n\t},\n\n\tconvertSnakeToCamelCase(text: string): string\n\t{\n\t\treturn text.replace(/(_[a-z])/gi, ($1) => {\n\t\t\treturn $1.toUpperCase().replace('_', '');\n\t\t});\n\t},\n\n\tescapeRegex(string): string\n\t{\n\t\treturn string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t},\n\n\tgetLocalizeForNumber(phrase, number, language = 'en'): string\n\t{\n\t\tlet pluralFormType = 1;\n\n\t\tnumber = parseInt(number);\n\n\t\tif (number < 0)\n\t\t{\n\t\t\tnumber = number * -1;\n\t\t}\n\n\t\tif (language)\n\t\t{\n\t\t\tswitch (language)\n\t\t\t{\n\t\t\t\tcase 'de':\n\t\t\t\tcase 'en':\n\t\t\t\t\tpluralFormType = ((number !== 1) ? 1 : 0);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'ru':\n\t\t\t\tcase 'ua':\n\t\t\t\t\tpluralFormType = (((number%10 === 1) && (number%100 !== 11)) ? 0 : (((number%10 >= 2) && (number%10 <= 4) && ((number%100 < 10) || (number%100 >= 20))) ? 1 : 2));\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn Loc.getMessage(phrase + '_PLURAL_' + pluralFormType);\n\t},\n\n\tgetFirstLetters(text): string\n\t{\n\t\tconst validSymbolsPattern = /[\\p{L}\\p{N} ]/u;\n\n\t\tconst words = text.split(/[\\s,]/).filter(word => {\n\t\t\tconst firstLetter = word.charAt(0);\n\t\t\treturn validSymbolsPattern.test(firstLetter);\n\t\t});\n\n\t\tif (words.length === 0)\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\tif (words.length > 1)\n\t\t{\n\t\t\treturn words[0].charAt(0) + words[1].charAt(0);\n\t\t}\n\n\t\treturn words[0].charAt(0);\n\t},\n\n\tinsertUnseenWhitespace(text: string, splitIndex: number): string\n\t{\n\t\tif (text.length <= splitIndex)\n\t\t{\n\t\t\treturn text;\n\t\t}\n\n\t\tconst UNSEEN_SPACE = '\\u200B';\n\n\t\tlet firstPart = text.slice(0, splitIndex + 1);\n\t\tconst secondPart = text.slice(splitIndex + 1);\n\t\tconst hasWhitespace = /\\s/.test(firstPart);\n\t\tconst hasUserCode = /\\[user=(\\d+)(\\s)?(replace)?](.*?)\\[\\/user]/ig.test(text);\n\n\t\tif (firstPart.length === splitIndex + 1 && !hasWhitespace && !hasUserCode)\n\t\t{\n\t\t\tfirstPart += UNSEEN_SPACE;\n\t\t}\n\n\t\treturn firstPart + secondPart;\n\t},\n\n\tisUuidV4(uuid): boolean\n\t{\n\t\tif (!Type.isString(uuid))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst uuidV4pattern = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);\n\n\t\treturn uuid.search(uuidV4pattern) === 0;\n\t},\n\n\tcheckUrl(url): boolean\n\t{\n\t\tconst allowList = [\n\t\t\t\"http:\",\n\t\t\t\"https:\",\n\t\t\t\"ftp:\",\n\t\t\t\"file:\",\n\t\t\t\"tel:\",\n\t\t\t\"callto:\",\n\t\t\t\"mailto:\",\n\t\t\t\"skype:\",\n\t\t\t\"viber:\",\n\t\t];\n\n\t\tconst checkCorrectStartLink = ['/', ...allowList].find(protocol => {\n\t\t\treturn url.startsWith(protocol);\n\t\t});\n\t\tif (!checkCorrectStartLink)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst element = Dom.create({ tag: 'a', attrs: { href: url }});\n\n\t\treturn allowList.indexOf(element.protocol) > -1;\n\t},\n\n\t/**\n\t * @deprecated\n\t * @use Text.encode from main.core\n\t */\n\thtmlspecialchars(text): string\n\t{\n\t\treturn Text.encode(text);\n\t},\n\n\t/**\n\t * @deprecated\n\t * @use Text.decode from main.core\n\t */\n\thtmlspecialcharsback(text): string\n\t{\n\t\treturn Text.decode(text);\n\t},\n};","import {Extension, Type, Loc} from 'main.core';\n\nimport {DateFormat} from 'im.v2.const';\n\nimport {DateUtil} from './date';\n\nimport 'main.date';\n\nconst settings = Extension.getSettings('im.v2.lib.utils');\n\nexport const UserUtil = {\n\n\tgetLastDateText(params = {}): string\n\t{\n\t\tif (params.bot || params.network || !params.lastActivityDate)\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\tconst isOnline = this.isOnline(params.lastActivityDate);\n\t\tconst isMobileOnline = this.isMobileOnline(params.lastActivityDate, params.mobileLastDate);\n\n\t\tlet text = '';\n\n\t\t// \"away for X minutes\"\n\t\tif (isOnline && params.idle && !isMobileOnline)\n\t\t{\n\t\t\ttext = Loc.getMessage('IM_STATUS_AWAY_TITLE').replace('#TIME#', this.getIdleText(params.idle));\n\t\t}\n\n\t\tconst lastSeenText = this.getLastSeenText(params.lastActivityDate);\n\t\t// truly online, last activity date < 5 minutes ago - show status text\n\t\tif (isOnline && !lastSeenText)\n\t\t{\n\t\t\ttext = this.getStatusTextForLastDate(params.status);\n\t\t}\n\n\t\t// last activity date > 5 minutes ago - \"Was online X minutes ago\"\n\t\tif (lastSeenText)\n\t\t{\n\t\t\tconst phraseCode = `IM_LAST_SEEN_${params.gender}`;\n\t\t\ttext = Loc.getMessage(phraseCode).replace('#POSITION#. ', '').replace('#LAST_SEEN#', lastSeenText);\n\t\t}\n\n\t\t// if on vacation - add postfix with vacation info\n\t\tif (params.absent)\n\t\t{\n\t\t\tconst dateFunction = DateUtil.getDateFunction();\n\t\t\tconst vacationFormat = DateUtil.getFormatType(DateFormat.vacationTitle);\n\t\t\tconst vacationText = Loc.getMessage('IM_STATUS_VACATION_TITLE').replace('#DATE#',\n\t\t\t\tdateFunction.format(vacationFormat, params.absent.getTime() / 1000)\n\t\t\t);\n\n\t\t\ttext = text ? `${text}. ${vacationText}`: vacationText;\n\t\t}\n\n\t\treturn text;\n\t},\n\n\tgetIdleText(idle = '')\n\t{\n\t\tif (!idle)\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\treturn DateUtil.getDateFunction().format([\n\t\t\t['s60', 'sdiff'],\n\t\t\t['i60', 'idiff'],\n\t\t\t['H24', 'Hdiff'],\n\t\t\t['', 'ddiff']\n\t\t], idle);\n\t},\n\n\tisOnline(lastActivityDate): boolean\n\t{\n\t\tif (!lastActivityDate)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn Date.now() - lastActivityDate.getTime() <= this.getOnlineLimit() * 1000;\n\t},\n\n\tisMobileOnline(lastActivityDate, mobileLastDate): boolean\n\t{\n\t\tif (!lastActivityDate || !mobileLastDate)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst FIVE_MINUTES = 5 * 60 * 1000;\n\t\treturn (\n\t\t\tDate.now() - mobileLastDate.getTime() < this.getOnlineLimit() * 1000\n\t\t\t&& lastActivityDate - mobileLastDate < FIVE_MINUTES\n\t\t);\n\t},\n\n\tgetStatusTextForLastDate(status: string): string\n\t{\n\t\tstatus = status.toUpperCase();\n\t\treturn Loc.getMessage(`IM_STATUS_${status}`) ?? status;\n\t},\n\n\tgetStatusText(status: string): string\n\t{\n\t\tstatus = status.toUpperCase();\n\t\treturn Loc.getMessage(`IM_STATUS_TEXT_${status}`) ?? status;\n\t},\n\n\tgetLastSeenText(lastActivityDate): string\n\t{\n\t\tif (!lastActivityDate)\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\tconst FIVE_MINUTES = 5 * 60 * 1000;\n\t\tif (Date.now() - lastActivityDate.getTime() > FIVE_MINUTES)\n\t\t{\n\t\t\treturn DateUtil.getDateFunction().formatLastActivityDate(lastActivityDate);\n\t\t}\n\n\t\treturn '';\n\t},\n\n\tisBirthdayToday(birthday): boolean\n\t{\n\t\treturn birthday === DateUtil.format(new Date(), 'd-m');\n\t},\n\n\tgetOnlineLimit(): number\n\t{\n\t\tconst limitOnline = settings.get('limitOnline', false);\n\n\t\tconst FIFTEEN_MINUTES = 15 * 60;\n\t\treturn limitOnline? Number.parseInt(limitOnline, 10): FIFTEEN_MINUTES;\n\t},\n\n\tgetProfileLink(userId: number | string): string\n\t{\n\t\tif (Type.isString(userId))\n\t\t{\n\t\t\tuserId = Number.parseInt(userId, 10);\n\t\t}\n\n\t\treturn `/company/personal/user/${userId}/`;\n\t},\n\n\tgetCalendarLink(userId: number | string): string\n\t{\n\t\tif (Type.isString(userId))\n\t\t{\n\t\t\tuserId = Number.parseInt(userId, 10);\n\t\t}\n\n\t\treturn `/company/personal/user/${userId}/calendar/`;\n\t},\n\n\tgetMentionBbCode(userId: number | string, name: string): string\n\t{\n\t\tif (Type.isString(userId))\n\t\t{\n\t\t\tuserId = Number.parseInt(userId, 10);\n\t\t}\n\n\t\treturn `[USER=${userId}]${name}[/USER]`;\n\t}\n};\n","import {Loc} from 'main.core';\nimport {FileType} from 'im.v2.const';\n\nexport const FileUtil = {\n\tgetFileExtension(fileName: string): string\n\t{\n\t\treturn fileName.split('.').splice(-1)[0];\n\t},\n\n\tgetIconTypeByFilename(fileName: string): string\n\t{\n\t\tconst extension = this.getFileExtension(fileName);\n\n\t\treturn this.getIconTypeByExtension(extension);\n\t},\n\n\tgetIconTypeByExtension(extension: string): string\n\t{\n\t\tlet icon = 'empty';\n\n\t\tswitch(extension.toString())\n\t\t{\n\t\t\tcase 'png':\n\t\t\tcase 'jpe':\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'gif':\n\t\t\tcase 'heic':\n\t\t\tcase 'bmp':\n\t\t\tcase 'webp':\n\t\t\t\ticon = 'img';\n\t\t\t\tbreak;\n\n\t\t\tcase 'mp4':\n\t\t\tcase 'mkv':\n\t\t\tcase 'webm':\n\t\t\tcase 'mpeg':\n\t\t\tcase 'hevc':\n\t\t\tcase 'avi':\n\t\t\tcase '3gp':\n\t\t\tcase 'flv':\n\t\t\tcase 'm4v':\n\t\t\tcase 'ogg':\n\t\t\tcase 'wmv':\n\t\t\tcase 'mov':\n\t\t\t\ticon = 'mov';\n\t\t\t\tbreak;\n\n\t\t\tcase 'txt':\n\t\t\t\ticon = 'txt';\n\t\t\t\tbreak;\n\n\t\t\tcase 'doc':\n\t\t\tcase 'docx':\n\t\t\t\ticon = 'doc';\n\t\t\t\tbreak;\n\n\t\t\tcase 'xls':\n\t\t\tcase 'xlsx':\n\t\t\t\ticon = 'xls';\n\t\t\t\tbreak;\n\n\t\t\tcase 'php':\n\t\t\t\ticon = 'php';\n\t\t\t\tbreak;\n\n\t\t\tcase 'pdf':\n\t\t\t\ticon = 'pdf';\n\t\t\t\tbreak;\n\n\t\t\tcase 'ppt':\n\t\t\tcase 'pptx':\n\t\t\t\ticon = 'ppt';\n\t\t\t\tbreak;\n\n\t\t\tcase 'rar':\n\t\t\t\ticon = 'rar';\n\t\t\t\tbreak;\n\n\t\t\tcase 'zip':\n\t\t\tcase '7z':\n\t\t\tcase 'tar':\n\t\t\tcase 'gz':\n\t\t\tcase 'gzip':\n\t\t\t\ticon = 'zip';\n\t\t\t\tbreak;\n\n\t\t\tcase 'set':\n\t\t\t\ticon = 'set';\n\t\t\t\tbreak;\n\n\t\t\tcase 'conf':\n\t\t\tcase 'ini':\n\t\t\tcase 'plist':\n\t\t\t\ticon = 'set';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn icon;\n\t},\n\n\tgetFileTypeByExtension(extension: string): string\n\t{\n\t\tlet type = FileType.file;\n\n\t\tswitch (extension)\n\t\t{\n\t\t\tcase 'png':\n\t\t\tcase 'jpe':\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'gif':\n\t\t\tcase 'heic':\n\t\t\tcase 'bmp':\n\t\t\tcase 'webp':\n\t\t\t\ttype = FileType.image;\n\t\t\t\tbreak;\n\n\t\t\tcase 'mp4':\n\t\t\tcase 'mkv':\n\t\t\tcase 'webm':\n\t\t\tcase 'mpeg':\n\t\t\tcase 'hevc':\n\t\t\tcase 'avi':\n\t\t\tcase '3gp':\n\t\t\tcase 'flv':\n\t\t\tcase 'm4v':\n\t\t\tcase 'ogg':\n\t\t\tcase 'wmv':\n\t\t\tcase 'mov':\n\t\t\t\ttype = FileType.video;\n\t\t\t\tbreak;\n\n\t\t\tcase 'mp3':\n\t\t\t\ttype = FileType.audio;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn type;\n\t},\n\n\tformatFileSize(fileSize: number): string\n\t{\n\t\tif (!fileSize || fileSize <= 0)\n\t\t{\n\t\t\tfileSize = 0;\n\t\t}\n\n\t\tconst sizes = ['BYTE', 'KB', 'MB', 'GB', 'TB'];\n\t\tconst KILOBYTE_SIZE = 1024;\n\n\t\tlet position = 0;\n\t\twhile (fileSize >= KILOBYTE_SIZE && position < sizes.length - 1)\n\t\t{\n\t\t\tfileSize /= KILOBYTE_SIZE;\n\t\t\tposition++;\n\t\t}\n\n\t\tconst phrase = Loc.getMessage(`IM_UTILS_FILE_SIZE_${sizes[position]}`);\n\t\tconst roundedSize = Math.round(fileSize);\n\n\t\treturn `${roundedSize} ${phrase}`;\n\t},\n\n\tgetShortFileName(fileName: string, maxLength: number): string\n\t{\n\t\tif (!fileName || fileName.length < maxLength)\n\t\t{\n\t\t\treturn fileName;\n\t\t}\n\n\t\tconst DOT_LENGTH = 1;\n\t\tconst SYMBOLS_TO_TAKE_BEFORE_EXTENSION = 10;\n\n\t\tconst extension = this.getFileExtension(fileName);\n\t\tconst symbolsToTakeFromEnd = extension.length + DOT_LENGTH + SYMBOLS_TO_TAKE_BEFORE_EXTENSION;\n\t\tconst secondPart = fileName.slice(-symbolsToTakeFromEnd);\n\t\tconst firstPart = fileName.slice(0, maxLength - secondPart.length - DOT_LENGTH * 3);\n\n\t\treturn `${firstPart.trim()}...${secondPart.trim()}`;\n\t},\n\n\tgetViewerDataAttributes(viewerAttributes): Object\n\t{\n\t\tif (!viewerAttributes)\n\t\t{\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\t'data-viewer': true,\n\t\t\t'data-viewer-type': viewerAttributes.viewerType,\n\t\t\t'data-object-id': viewerAttributes.objectId,\n\t\t\t'data-src': viewerAttributes.src,\n\t\t\t'data-viewer-group-by': viewerAttributes.viewerGroupBy,\n\t\t\t'data-title': viewerAttributes.title,\n\t\t\t'data-actions': viewerAttributes.actions,\n\t\t};\n\t}\n};","import {BrowserUtil} from './browser';\nimport {DateUtil} from './date';\nimport {DeviceUtil} from './device';\nimport {PlatformUtil} from './platform';\nimport {RestUtil} from './rest';\nimport {TextUtil} from './text';\nimport {UserUtil} from './user';\nimport {FileUtil} from './file';\n\nexport const Utils = {\n\tbrowser: BrowserUtil,\n\tdate: DateUtil,\n\tdevice: DeviceUtil,\n\tplatform: PlatformUtil,\n\trest: RestUtil,\n\ttext: TextUtil,\n\tuser: UserUtil,\n\tfile: FileUtil,\n};"],"names":["UA","navigator","userAgent","toLowerCase","BrowserUtil","isChrome","Browser","isFirefox","isIe","isIE","isSafari","includes","isSafariBased","findParent","item","findTag","isHtmlElement","HTMLElement","Type","isString","document","parentNode","Dom","hasClass","DateUtil","getFormatType","type","DateFormat","default","format","groupTitle","Loc","getMessage","message","recentTitle","recentLinesTitle","readedTitle","vacationTitle","getDateFunction","localize","dateFormatFunction","Object","create","BX","Main","Date","_getMessage","phrase","timestamp","cast","date","def","result","isNumber","Number","isNaN","getTime","getTimeToNextMidnight","nextMidnight","setHours","now","getStartOfTheDay","isToday","toDateString","DeviceUtil","isDesktop","isMobile","isUndefined","isMobileStatic","orientationHorizontal","orientationPortrait","getOrientation","Math","abs","window","orientation","PlatformUtil","isMac","isLinux","isWindows","isWin","isBitrixMobile","isBitrixDesktop","getDesktopVersion","getDesktopVersionStatic","BXDesktopSystem","version","GetProperty","isDesktopFeatureEnabled","code","isFunction","FeatureEnabled","isAndroid","isIos","isIOS","getIosVersion","matches","match","parseFloat","openNewPage","url","MobileTools","openWidget","resolveOpenFunction","app","open","RestUtil","getLogTrackingParams","params","name","data","dialog","files","encodeURIComponent","isPlainObject","dataArray","hasOwnProperty","push","isArray","isObjectLike","entityId","split","isNull","length","join","TextUtil","convertHtmlEntities","text","tag","html","innerText","convertSnakeToCamelCase","replace","$1","toUpperCase","escapeRegex","string","getLocalizeForNumber","number","language","pluralFormType","parseInt","getFirstLetters","validSymbolsPattern","words","filter","word","firstLetter","charAt","test","insertUnseenWhitespace","splitIndex","UNSEEN_SPACE","firstPart","slice","secondPart","hasWhitespace","hasUserCode","isUuidV4","uuid","uuidV4pattern","RegExp","search","checkUrl","allowList","checkCorrectStartLink","find","protocol","startsWith","element","attrs","href","indexOf","htmlspecialchars","Text","encode","htmlspecialcharsback","decode","settings","Extension","getSettings","UserUtil","getLastDateText","bot","network","lastActivityDate","isOnline","isMobileOnline","mobileLastDate","idle","getIdleText","lastSeenText","getLastSeenText","getStatusTextForLastDate","status","phraseCode","gender","absent","dateFunction","vacationFormat","vacationText","getOnlineLimit","FIVE_MINUTES","getStatusText","formatLastActivityDate","isBirthdayToday","birthday","limitOnline","get","FIFTEEN_MINUTES","getProfileLink","userId","getCalendarLink","getMentionBbCode","FileUtil","getFileExtension","fileName","splice","getIconTypeByFilename","extension","getIconTypeByExtension","icon","toString","getFileTypeByExtension","FileType","file","image","video","audio","formatFileSize","fileSize","sizes","KILOBYTE_SIZE","position","roundedSize","round","getShortFileName","maxLength","DOT_LENGTH","SYMBOLS_TO_TAKE_BEFORE_EXTENSION","symbolsToTakeFromEnd","trim","getViewerDataAttributes","viewerAttributes","viewerType","objectId","src","viewerGroupBy","title","actions","Utils","browser","device","platform","rest","user"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings