YetiForceCompany/YetiForceCRM

View on GitHub
public_html/layouts/resources/Fields.min.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"Fields.min.js","sources":["Fields.js"],"sourcesContent":["/* {[The file is published on the basis of YetiForce Public License 6.5 that can be found in the following directory: licenses/LicenseEN.txt or yetiforce.com]} */\n'use strict';\n\nwindow.App.Fields = {\n\tDate: {\n\t\tmonths: [\n\t\t\t'JS_JAN',\n\t\t\t'JS_FEB',\n\t\t\t'JS_MAR',\n\t\t\t'JS_APR',\n\t\t\t'JS_MAY_SHORT',\n\t\t\t'JS_JUN',\n\t\t\t'JS_JUL',\n\t\t\t'JS_AUG',\n\t\t\t'JS_SEP',\n\t\t\t'JS_OCT',\n\t\t\t'JS_NOV',\n\t\t\t'JS_DEC'\n\t\t],\n\t\tmonthsTranslated: [\n\t\t\t'JS_JAN',\n\t\t\t'JS_FEB',\n\t\t\t'JS_MAR',\n\t\t\t'JS_APR',\n\t\t\t'JS_MAY_SHORT',\n\t\t\t'JS_JUN',\n\t\t\t'JS_JUL',\n\t\t\t'JS_AUG',\n\t\t\t'JS_SEP',\n\t\t\t'JS_OCT',\n\t\t\t'JS_NOV',\n\t\t\t'JS_DEC'\n\t\t].map((monthName) => app.vtranslate(monthName)),\n\t\tfullMonths: [\n\t\t\t'JS_JANUARY',\n\t\t\t'JS_FEBRUARY',\n\t\t\t'JS_MARCH',\n\t\t\t'JS_APRIL',\n\t\t\t'JS_MAY',\n\t\t\t'JS_JUNE',\n\t\t\t'JS_JULY',\n\t\t\t'JS_AUGUST',\n\t\t\t'JS_SEPTEMBER',\n\t\t\t'JS_OCTOBER',\n\t\t\t'JS_NOVEMBER',\n\t\t\t'JS_DECEMBER'\n\t\t],\n\t\tfullMonthsTranslated: [\n\t\t\t'JS_JANUARY',\n\t\t\t'JS_FEBRUARY',\n\t\t\t'JS_MARCH',\n\t\t\t'JS_APRIL',\n\t\t\t'JS_MAY',\n\t\t\t'JS_JUNE',\n\t\t\t'JS_JULY',\n\t\t\t'JS_AUGUST',\n\t\t\t'JS_SEPTEMBER',\n\t\t\t'JS_OCTOBER',\n\t\t\t'JS_NOVEMBER',\n\t\t\t'JS_DECEMBER'\n\t\t].map((monthName) => app.vtranslate(monthName)),\n\t\tdays: ['JS_SUN', 'JS_MON', 'JS_TUE', 'JS_WED', 'JS_THU', 'JS_FRI', 'JS_SAT'],\n\t\tdaysTranslated: ['JS_SUN', 'JS_MON', 'JS_TUE', 'JS_WED', 'JS_THU', 'JS_FRI', 'JS_SAT'].map((monthName) =>\n\t\t\tapp.vtranslate(monthName)\n\t\t),\n\t\tfullDays: ['JS_SUNDAY', 'JS_MONDAY', 'JS_TUESDAY', 'JS_WEDNESDAY', 'JS_THURSDAY', 'JS_FRIDAY', 'JS_SATURDAY'],\n\t\tfullDaysTranslated: [\n\t\t\t'JS_SUNDAY',\n\t\t\t'JS_MONDAY',\n\t\t\t'JS_TUESDAY',\n\t\t\t'JS_WEDNESDAY',\n\t\t\t'JS_THURSDAY',\n\t\t\t'JS_FRIDAY',\n\t\t\t'JS_SATURDAY'\n\t\t].map((monthName) => app.vtranslate(monthName)),\n\n\t\t/**\n\t\t * Register DatePicker\n\t\t * @param {$} parentElement\n\t\t * @param {boolean} registerForAddon\n\t\t * @param {object} customParams\n\t\t */\n\t\tregister(parentElement, registerForAddon, customParams, className = 'dateField') {\n\t\t\tif (typeof parentElement === 'undefined') {\n\t\t\t\tparentElement = $('body');\n\t\t\t} else {\n\t\t\t\tparentElement = $(parentElement);\n\t\t\t}\n\t\t\tif (typeof registerForAddon === 'undefined') {\n\t\t\t\tregisterForAddon = true;\n\t\t\t}\n\t\t\tlet elements = $('.' + className, parentElement);\n\t\t\tif (parentElement.hasClass(className)) {\n\t\t\t\telements = parentElement;\n\t\t\t}\n\t\t\tif (elements.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (registerForAddon === true) {\n\t\t\t\tconst parentDateElem = elements.closest('.date');\n\t\t\t\t$('.js-date__btn', parentDateElem).on('click', function inputGroupAddonClickHandler(e) {\n\t\t\t\t\t// Using focus api of DOM instead of jQuery because show api of datePicker is calling e.preventDefault\n\t\t\t\t\t// which is stopping from getting focus to input element\n\t\t\t\t\t$(e.currentTarget)\n\t\t\t\t\t\t.closest('.date')\n\t\t\t\t\t\t.find('input.' + className)\n\t\t\t\t\t\t.get(0)\n\t\t\t\t\t\t.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t\tlet format = CONFIG.dateFormat;\n\t\t\tconst elementDateFormat = elements.data('dateFormat');\n\t\t\tif (typeof elementDateFormat !== 'undefined') {\n\t\t\t\tformat = elementDateFormat;\n\t\t\t}\n\t\t\tif (typeof $.fn.datepicker.dates[CONFIG.langKey] === 'undefined') {\n\t\t\t\t$.fn.datepicker.dates[CONFIG.langKey] = {\n\t\t\t\t\tdays: App.Fields.Date.fullDaysTranslated,\n\t\t\t\t\tdaysShort: App.Fields.Date.daysTranslated,\n\t\t\t\t\tdaysMin: App.Fields.Date.daysTranslated,\n\t\t\t\t\tmonths: App.Fields.Date.fullMonthsTranslated,\n\t\t\t\t\tmonthsShort: App.Fields.Date.monthsTranslated,\n\t\t\t\t\ttoday: app.vtranslate('JS_TODAY'),\n\t\t\t\t\tclear: app.vtranslate('JS_CLEAR'),\n\t\t\t\t\tformat: format,\n\t\t\t\t\ttitleFormat: 'MM yyyy' /* Leverages same syntax as 'format' */,\n\t\t\t\t\tweekStart: CONFIG.firstDayOfWeekNo\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet params = {\n\t\t\t\ttodayBtn: 'linked',\n\t\t\t\tclearBtn: true,\n\t\t\t\tlanguage: CONFIG.langKey,\n\t\t\t\tweekStart: CONFIG.firstDayOfWeekNo,\n\t\t\t\tautoclose: true,\n\t\t\t\ttodayHighlight: true,\n\t\t\t\tformat: format\n\t\t\t};\n\t\t\tif (typeof customParams !== 'undefined') {\n\t\t\t\tparams = $.extend(params, customParams);\n\t\t\t}\n\t\t\telements.each((_index, element) => {\n\t\t\t\t$(element).datepicker(\n\t\t\t\t\t$.extend(\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tObject.assign(params, { enableOnReadonly: !element.hasAttribute('readonly') }),\n\t\t\t\t\t\t$(element).data('params')\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t});\n\t\t\tApp.Fields.Utils.hideMobileKeyboard(elements);\n\t\t\treturn elements;\n\t\t},\n\n\t\t/**\n\t\t * Register dateRangePicker\n\t\t * @param {jQuery} parentElement\n\t\t * @param {object} customParams\n\t\t */\n\t\tregisterRange(parentElement, customParams = {}) {\n\t\t\tif (typeof parentElement === 'undefined') {\n\t\t\t\tparentElement = $('body');\n\t\t\t} else {\n\t\t\t\tparentElement = $(parentElement);\n\t\t\t}\n\t\t\tlet elements = $('.dateRangeField', parentElement);\n\t\t\tif (parentElement.hasClass('dateRangeField')) {\n\t\t\t\telements = parentElement;\n\t\t\t}\n\t\t\tif (elements.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet format = CONFIG.dateFormat.toUpperCase();\n\t\t\tconst elementDateFormat = elements.data('dateFormat');\n\t\t\tif (typeof elementDateFormat !== 'undefined') {\n\t\t\t\tformat = elementDateFormat.toUpperCase();\n\t\t\t}\n\t\t\tlet ranges = {};\n\t\t\tranges[app.vtranslate('JS_TODAY')] = [moment(), moment()];\n\t\t\tranges[app.vtranslate('JS_TOMORROW')] = [moment().add(1, 'days'), moment().add(1, 'days')];\n\t\t\tranges[app.vtranslate('JS_YESTERDAY')] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];\n\t\t\tranges[app.vtranslate('JS_LAST_7_DAYS')] = [moment().subtract(6, 'days'), moment()];\n\t\t\tranges[app.vtranslate('JS_NEXT_7_DAYS')] = [moment(), moment().add(6, 'days')];\n\t\t\tranges[app.vtranslate('JS_CURRENT_MONTH')] = [moment().startOf('month'), moment().endOf('month')];\n\t\t\tranges[app.vtranslate('JS_NEXT_MONTH')] = [\n\t\t\t\tmoment().add(1, 'month').startOf('month'),\n\t\t\t\tmoment().add(1, 'month').endOf('month')\n\t\t\t];\n\t\t\tranges[app.vtranslate('JS_LAST_MONTH')] = [\n\t\t\t\tmoment().subtract(1, 'month').startOf('month'),\n\t\t\t\tmoment().subtract(1, 'month').endOf('month')\n\t\t\t];\n\t\t\tranges[app.vtranslate('JS_NEXT_MONTH')] = [\n\t\t\t\tmoment().add(1, 'month').startOf('month'),\n\t\t\t\tmoment().add(1, 'month').endOf('month')\n\t\t\t];\n\t\t\tranges[app.vtranslate('JS_LAST_3_MONTHS')] = [\n\t\t\t\tmoment().subtract(3, 'month').startOf('month'),\n\t\t\t\tmoment().subtract(1, 'month').endOf('month')\n\t\t\t];\n\t\t\tranges[app.vtranslate('JS_NEXT_3_MONTHS')] = [moment().startOf('month'), moment().add(3, 'month').endOf('month')];\n\t\t\tranges[app.vtranslate('JS_LAST_6_MONTHS')] = [\n\t\t\t\tmoment().subtract(6, 'month').startOf('month'),\n\t\t\t\tmoment().subtract(1, 'month').endOf('month')\n\t\t\t];\n\t\t\tranges[app.vtranslate('JS_NEXT_6_MONTHS')] = [moment().startOf('month'), moment().add(6, 'month').endOf('month')];\n\n\t\t\tlet locale = App.Fields.DateTime.getDefaultLocale();\n\t\t\tlocale.format = format;\n\t\t\tlet params = {\n\t\t\t\tlanguage: CONFIG.langKey,\n\t\t\t\tautoUpdateInput: false,\n\t\t\t\tautoApply: true,\n\t\t\t\tranges: ranges,\n\t\t\t\tlocale: locale\n\t\t\t};\n\n\t\t\tif (typeof customParams !== 'undefined') {\n\t\t\t\tparams = $.extend(params, customParams);\n\t\t\t}\n\t\t\tparentElement\n\t\t\t\t.find('.js-date__btn')\n\t\t\t\t.off()\n\t\t\t\t.on('click', (e) => {\n\t\t\t\t\t$(e.currentTarget).parent().next('.dateRangeField')[0].focus();\n\t\t\t\t});\n\t\t\telements.each((_index, element) => {\n\t\t\t\tlet el = $(element);\n\t\t\t\tlet currentParams = $.extend(true, params, el.data('params'));\n\t\t\t\tel.daterangepicker(currentParams)\n\t\t\t\t\t.on('apply.daterangepicker', function (_ev, picker) {\n\t\t\t\t\t\t$(this).val(\n\t\t\t\t\t\t\tpicker.startDate.format(currentParams.locale.format) +\n\t\t\t\t\t\t\t\t',' +\n\t\t\t\t\t\t\t\tpicker.endDate.format(currentParams.locale.format)\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$(this).trigger('change');\n\t\t\t\t\t})\n\t\t\t\t\t.on('show.daterangepicker', (ev, picker) => {\n\t\t\t\t\t\tApp.Fields.Utils.positionPicker(ev, picker);\n\t\t\t\t\t})\n\t\t\t\t\t.on('showCalendar.daterangepicker', (ev, picker) => {\n\t\t\t\t\t\tApp.Fields.Utils.positionPicker(ev, picker);\n\t\t\t\t\t\tpicker.container.addClass('js-visible');\n\t\t\t\t\t})\n\t\t\t\t\t.on('hide.daterangepicker', (_ev, picker) => {\n\t\t\t\t\t\tpicker.container.removeClass('js-visible');\n\t\t\t\t\t});\n\t\t\t\tApp.Fields.Utils.registerMobileDateRangePicker(el);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Function to get Date Instance\n\t\t * @param {string} dateTime\n\t\t * @param {string} dateFormat user date format\n\t\t * @returns {Date}\n\t\t */\n\t\tgetDateInstance: function (dateTime, dateFormat = CONFIG.dateFormat) {\n\t\t\tlet dateTimeComponents = dateTime.split(' '),\n\t\t\t\tdateComponent = dateTimeComponents[0],\n\t\t\t\ttimeComponent = dateTimeComponents[1],\n\t\t\t\tseconds = '00',\n\t\t\t\tdotMode = '-';\n\t\t\tif (dateFormat.indexOf('.') !== -1) {\n\t\t\t\tdotMode = '.';\n\t\t\t} else if (dateFormat.indexOf('/') !== -1) {\n\t\t\t\tdotMode = '/';\n\t\t\t}\n\t\t\tlet splittedDate = dateComponent.split(dotMode),\n\t\t\t\tsplittedDateFormat = dateFormat.split(dotMode),\n\t\t\t\tyear = splittedDate[splittedDateFormat.indexOf('yyyy')],\n\t\t\t\tmonth = splittedDate[splittedDateFormat.indexOf('mm')],\n\t\t\t\tday = splittedDate[splittedDateFormat.indexOf('dd')],\n\t\t\t\tdateInstance = Date.parse(year + '/' + month + '/' + day);\n\n\t\t\tif (isNaN(dateInstance) || year.length !== 4 || month.length > 2 || day.length > 2 || dateInstance == null) {\n\t\t\t\tthrow app.vtranslate('JS_INVALID_DATE');\n\t\t\t}\n\t\t\t//Before creating date object time is set to 00\n\t\t\t//because as while calculating date object it depends system timezone\n\t\t\tif (typeof timeComponent === 'undefined') {\n\t\t\t\ttimeComponent = '00:00:00';\n\t\t\t}\n\t\t\tlet timeSections = timeComponent.split(':');\n\t\t\tif (typeof timeSections[2] !== 'undefined') {\n\t\t\t\tseconds = timeSections[2];\n\t\t\t}\n\t\t\t//Am/Pm component exits\n\t\t\tif (typeof dateTimeComponents[2] !== 'undefined') {\n\t\t\t\tif (dateTimeComponents[2].toLowerCase() === 'pm' && timeSections[0] !== '12') {\n\t\t\t\t\ttimeSections[0] = parseInt(timeSections[0], 10) + 12;\n\t\t\t\t}\n\t\t\t\tif (dateTimeComponents[2].toLowerCase() === 'am' && timeSections[0] === '12') {\n\t\t\t\t\ttimeSections[0] = '00';\n\t\t\t\t}\n\t\t\t}\n\t\t\tmonth = month - 1;\n\t\t\treturn new Date(year, month, day, timeSections[0], timeSections[1], seconds);\n\t\t},\n\t\t/**\n\t\t * Format the Date object to a date in the format DB format, example: `2018-07-23`\n\t\t * @param {Date} date\n\t\t * @returns {string}\n\t\t */\n\t\tdateToDbFormat: function (date) {\n\t\t\tlet d = date.getDate();\n\t\t\tlet m = date.getMonth() + 1;\n\t\t\tlet y = date.getFullYear();\n\t\t\td = d <= 9 ? '0' + d : d;\n\t\t\tm = m <= 9 ? '0' + m : m;\n\t\t\treturn y + '-' + m + '-' + d;\n\t\t},\n\t\t/**\n\t\t * Format the Date object to a date in the format user format, example: `2018/07/23`\n\t\t * @param {Date} date\n\t\t * @returns {string}\n\t\t */\n\t\tdateToUserFormat: function (date, format = CONFIG.dateFormat) {\n\t\t\tif (typeof date === 'string') {\n\t\t\t\tdate = new Date(date);\n\t\t\t}\n\t\t\tlet m = date.getMonth() + 1,\n\t\t\t\td = date.getDate();\n\t\t\td = d <= 9 ? '0' + d : d;\n\t\t\tm = m <= 9 ? '0' + m : m;\n\t\t\treturn format.replace('yyyy', date.getFullYear()).replace('mm', m).replace('dd', d);\n\t\t},\n\t\t/**\n\t\t * Get last day of month\n\t\t * @param {integer} year\n\t\t * @param {integer} month\n\t\t * @returns {integer}\n\t\t */\n\t\tgetLastMonthDay: function (year, month) {\n\t\t\tlet date = new Date(year, month, 0);\n\t\t\treturn date.getDate();\n\t\t},\n\t\t/**\n\t\t * Get number of days from a given date to now\n\t\t * @param {Date} dateTime\n\t\t * @returns {integer}\n\t\t */\n\t\thowManyDaysFromDate: function (dateTime) {\n\t\t\tlet today = new Date();\n\t\t\tlet toTime = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime();\n\t\t\treturn Math.floor((toTime - dateTime.getTime()) / (1000 * 60 * 60 * 24)) + 1;\n\t\t},\n\t\t/**\n\t\t * Converting the date format to the format supported in the DatePicker, example: `yyyy-mm-dd` >> `Y-m-d`\n\t\t * @param {string} dateFormat\n\t\t * @returns {string}\n\t\t */\n\t\tconvertToDatePickerFormat: function (dateFormat) {\n\t\t\tswitch (dateFormat) {\n\t\t\t\tcase 'yyyy-mm-dd':\n\t\t\t\t\treturn 'Y-m-d';\n\t\t\t\tcase 'mm-dd-yyyy':\n\t\t\t\t\treturn 'm-d-Y';\n\t\t\t\tcase 'dd-mm-yyyy':\n\t\t\t\t\treturn 'd-m-Y';\n\t\t\t\tcase 'yyyy.mm.dd':\n\t\t\t\t\treturn 'Y.m.d';\n\t\t\t\tcase 'mm.dd.yyyy':\n\t\t\t\t\treturn 'm.d.Y';\n\t\t\t\tcase 'dd.mm.yyyy':\n\t\t\t\t\treturn 'd.m.Y';\n\t\t\t\tcase 'yyyy/mm/dd':\n\t\t\t\t\treturn 'Y/m/d';\n\t\t\t\tcase 'mm/dd/yyyy':\n\t\t\t\t\treturn 'm/d/Y';\n\t\t\t\tcase 'dd/mm/yyyy':\n\t\t\t\t\treturn 'd/m/Y';\n\t\t\t}\n\t\t}\n\t},\n\tDateTime: class DateTime {\n\t\tconstructor(container, params) {\n\t\t\tthis.container = container;\n\t\t\tthis.init(params);\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t * @param {Object} params\n\t\t */\n\t\tstatic register(container, params) {\n\t\t\tif (typeof container === 'undefined') {\n\t\t\t\tcontainer = $('body');\n\t\t\t}\n\t\t\tif (container.hasClass('dateTimePickerField') && !container.prop('disabled')) {\n\t\t\t\treturn new DateTime(container, params);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.dateTimePickerField:not([disabled])').each((_, e) => {\n\t\t\t\tlet element = $(e);\n\t\t\t\tinstances.push(new DateTime(element, params));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Format the Date object to a date in the format user format, example: `2018/07/23 03:00`\n\t\t * @param {Date} dateTime Date object\n\t\t * @returns {string} `2018/07/23 03:00`\n\t\t */\n\t\tstatic dateToUserFormat(dateTime, format = CONFIG.dateFormat) {\n\t\t\tformat = format.toUpperCase();\n\t\t\tif (CONFIG.hourFormat == 24) {\n\t\t\t\tformat += ' HH:mm';\n\t\t\t} else {\n\t\t\t\tformat += ' hh:mm A';\n\t\t\t}\n\t\t\treturn moment(dateTime).format(format);\n\t\t}\n\t\t/**\n\t\t * Gets default locale data\n\t\t * @returns {Object}\n\t\t */\n\t\tstatic getDefaultLocale() {\n\t\t\tif (!this.locale) {\n\t\t\t\tthis.locale = {\n\t\t\t\t\tseparator: ',',\n\t\t\t\t\tapplyLabel: app.vtranslate('JS_APPLY'),\n\t\t\t\t\tcancelLabel: app.vtranslate('JS_CANCEL'),\n\t\t\t\t\tfromLabel: app.vtranslate('JS_FROM'),\n\t\t\t\t\ttoLabel: app.vtranslate('JS_TO'),\n\t\t\t\t\tcustomRangeLabel: app.vtranslate('JS_CUSTOM'),\n\t\t\t\t\tweekLabel: app.vtranslate('JS_WEEK').substr(0, 1),\n\t\t\t\t\tfirstDay: CONFIG.firstDayOfWeekNo,\n\t\t\t\t\tdaysOfWeek: App.Fields.Date.daysTranslated,\n\t\t\t\t\tmonthNames: App.Fields.Date.fullMonthsTranslated\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn { ...this.locale };\n\t\t}\n\n\t\t/**\n\t\t * Initialization datetime\n\t\t */\n\t\tinit(customParams) {\n\t\t\t$('.input-group-text', this.container.closest('.dateTime')).on('click', function (e) {\n\t\t\t\t$(e.currentTarget).closest('.dateTime').find('input.dateTimePickerField').get(0).focus();\n\t\t\t});\n\t\t\tlet dateFormat = CONFIG.dateFormat.toUpperCase();\n\t\t\tconst elementDateFormat = this.container.data('dateFormat');\n\t\t\tif (typeof elementDateFormat !== 'undefined') {\n\t\t\t\tdateFormat = elementDateFormat.toUpperCase();\n\t\t\t}\n\t\t\tlet hourFormat = CONFIG.hourFormat;\n\t\t\tconst elementHourFormat = this.container.data('hourFormat');\n\t\t\tif (typeof elementHourFormat !== 'undefined') {\n\t\t\t\thourFormat = elementHourFormat;\n\t\t\t}\n\t\t\tlet timePicker24Hour = true;\n\t\t\tlet timeFormat = 'HH:mm';\n\t\t\tif (hourFormat != '24') {\n\t\t\t\ttimePicker24Hour = false;\n\t\t\t\ttimeFormat = 'hh:mm A';\n\t\t\t}\n\t\t\tconst format = dateFormat + ' ' + timeFormat;\n\t\t\tlet isDateRangePicker = this.container.data('calendarType') !== 'range';\n\t\t\tlet locale = App.Fields.DateTime.getDefaultLocale();\n\t\t\tlocale.format = format;\n\t\t\tlet params = {\n\t\t\t\tlanguage: CONFIG.langKey,\n\t\t\t\tparentEl: this.container.closest('.dateTime'),\n\t\t\t\tsingleDatePicker: isDateRangePicker,\n\t\t\t\tshowDropdowns: true,\n\t\t\t\ttimePicker: true,\n\t\t\t\tautoUpdateInput: false,\n\t\t\t\ttimePicker24Hour: timePicker24Hour,\n\t\t\t\ttimePickerIncrement: 1,\n\t\t\t\tautoApply: true,\n\t\t\t\topens: 'left',\n\t\t\t\tlocale: locale\n\t\t\t};\n\t\t\tif (typeof customParams !== 'undefined') {\n\t\t\t\tparams = $.extend(params, customParams);\n\t\t\t}\n\t\t\tthis.container\n\t\t\t\t.daterangepicker(params)\n\t\t\t\t.on('apply.daterangepicker', function applyDateRangePickerHandler(_ev, picker) {\n\t\t\t\t\tif (isDateRangePicker) {\n\t\t\t\t\t\t$(this).val(picker.startDate.format(format));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(this).val(picker.startDate.format(format) + ',' + picker.endDate.format(format));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.on('showCalendar.daterangepicker', (ev, picker) => {\n\t\t\t\t\tApp.Fields.Utils.positionPicker(ev, picker);\n\t\t\t\t\tpicker.container.addClass('js-visible');\n\t\t\t\t});\n\t\t\tApp.Fields.Utils.registerMobileDateRangePicker(this.container);\n\t\t}\n\t},\n\tTime: {\n\t\t/**\n\t\t * Format the Date object to a date in the format user format, example: `2018/07/23`\n\t\t * @param {Date} date\n\t\t * @returns {string}\n\t\t */\n\t\tdateToUserFormat: function (date, timeFormat) {\n\t\t\tif (typeof date === 'string') {\n\t\t\t\tdate = new Date(date);\n\t\t\t}\n\t\t\tif (!timeFormat) {\n\t\t\t\tif (CONFIG.hourFormat == 24) {\n\t\t\t\t\ttimeFormat = 'HH:mm';\n\t\t\t\t} else {\n\t\t\t\t\ttimeFormat = 'hh:mm A';\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn moment(date).format(timeFormat);\n\t\t}\n\t},\n\tColors: {\n\t\t/**\n\t\t * Function to check whether the color is dark or light\n\t\t */\n\t\tgetColorContrast: function (hexcolor) {\n\t\t\tvar r = parseInt(hexcolor.substr(0, 2), 16);\n\t\t\tvar g = parseInt(hexcolor.substr(2, 2), 16);\n\t\t\tvar b = parseInt(hexcolor.substr(4, 2), 16);\n\t\t\tvar yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\t\t\treturn yiq >= 128 ? 'light' : 'dark';\n\t\t},\n\t\tgetRandomColor: function () {\n\t\t\tvar letters = '0123456789ABCDEF'.split('');\n\t\t\tvar color = '#';\n\t\t\tfor (var i = 0; i < 6; i++) {\n\t\t\t\tcolor += letters[Math.floor(Math.random() * 16)];\n\t\t\t}\n\t\t\treturn color;\n\t\t},\n\t\tgetRandomColors: function (count) {\n\t\t\tconst colors = [];\n\t\t\tfor (var i = 0; i < count; i++) {\n\t\t\t\tcolors.push(this.getRandomColor());\n\t\t\t}\n\t\t\treturn colors;\n\t\t},\n\t\tshowPicker({ color, fieldToUpdate, bgToUpdate, cb }) {\n\t\t\tlet registerPickerEvents = (modalContainer) => {\n\t\t\t\tlet picker = window.ColorPicker.mount({\n\t\t\t\t\tel: modalContainer.find('.js-color-picker')[0],\n\t\t\t\t\tcurrentColor: color\n\t\t\t\t});\n\t\t\t\tmodalContainer.find('.js-modal__save').on('click', (_) => {\n\t\t\t\t\tlet newColor = picker.getColor().hex;\n\t\t\t\t\tcb && cb(newColor);\n\t\t\t\t\tbgToUpdate && bgToUpdate.css('background', newColor);\n\t\t\t\t\tfieldToUpdate && fieldToUpdate.val(newColor);\n\t\t\t\t\tapp.hideModalWindow(false, modalContainer.closest('.js-modal-container')[0].id);\n\t\t\t\t});\n\t\t\t};\n\t\t\tlet url = `index.php?module=AppComponents&view=ColorPickerModal${color ? '&color=' + color : ''}`;\n\t\t\tapp.showModalWindow({ url, cb: registerPickerEvents.bind(this) });\n\t\t}\n\t},\n\tText: {\n\t\t/**\n\t\t * Register clip\n\t\t * @param {HTMLElement|jQuery} container\n\t\t * @param {string} key\n\t\t * @returns {ClipboardJS|undefined}\n\t\t */\n\t\tregisterCopyClipboard: function (container, key = '.clipboard') {\n\t\t\tif (typeof container !== 'object' || $(container).length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontainer = $(container).get(0);\n\t\t\tlet elements = container.querySelectorAll(key);\n\t\t\tif (elements.length === 0) {\n\t\t\t\telements = key;\n\t\t\t\tcontainer = '';\n\t\t\t}\n\t\t\treturn new ClipboardJS(elements, {\n\t\t\t\tcontainer: container,\n\t\t\t\ttext: function (trigger) {\n\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\ttext: app.vtranslate('JS_NOTIFY_COPY_TEXT'),\n\t\t\t\t\t\ttype: 'success'\n\t\t\t\t\t});\n\t\t\t\t\ttrigger = $(trigger);\n\t\t\t\t\tconst element = $(trigger.data('copyTarget'), container);\n\t\t\t\t\tlet val;\n\t\t\t\t\tif (typeof trigger.data('copyType') !== 'undefined') {\n\t\t\t\t\t\tif (element.is('select')) {\n\t\t\t\t\t\t\tval = element.find('option:selected').data(trigger.data('copyType'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tval = element.data(trigger.data('copyType'));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (typeof trigger.data('copy-attribute') !== 'undefined') {\n\t\t\t\t\t\tval = trigger.data(trigger.data('copy-attribute'));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tval = element.val();\n\t\t\t\t\t}\n\t\t\t\t\treturn val;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tEditor: class {\n\t\t\tstatic initialization = false;\n\t\t\tconstructor(container, params) {\n\t\t\t\tif (window.App.Fields.Text.Editor.initialization === false) {\n\t\t\t\t\tCKEDITOR.disableAutoInline = true;\n\t\t\t\t\tCKEDITOR.plugins.addExternal(\n\t\t\t\t\t\t'base64image',\n\t\t\t\t\t\tapp.getMainParams('siteUrl') + 'layouts/resources/libraries/ckeditor/base64image/'\n\t\t\t\t\t);\n\t\t\t\t\twindow.App.Fields.Text.Editor.initialization = true;\n\t\t\t\t}\n\t\t\t\tthis.container = container;\n\t\t\t\tthis.init(container, params);\n\t\t\t}\n\t\t\t/**\n\t\t\t * Register function\n\t\t\t * @param {jQuery} container\n\t\t\t * @param {Object} params\n\t\t\t */\n\t\t\tstatic register(container, params) {\n\t\t\t\tif (typeof container === 'undefined') {\n\t\t\t\t\tcontainer = $('body');\n\t\t\t\t}\n\t\t\t\tif (container.hasClass('js-editor') && !container.prop('disabled')) {\n\t\t\t\t\treturn new App.Fields.Text.Editor(container, $.extend(params, container.data()));\n\t\t\t\t}\n\t\t\t\tconst instances = [];\n\t\t\t\tcontainer.find('.js-editor:not([disabled])').each((_, e) => {\n\t\t\t\t\tlet element = $(e);\n\t\t\t\t\tinstances.push(new App.Fields.Text.Editor(element, $.extend(params, element.data())));\n\t\t\t\t});\n\t\t\t\treturn instances;\n\t\t\t}\n\t\t\t/**\n\t\t\t * Initiation\n\t\t\t * @param {jQuery} element\n\t\t\t * @param {Object} params\n\t\t\t */\n\t\t\tinit(element, params) {\n\t\t\t\tlet config = {};\n\t\t\t\tif (element.hasClass('js-editor--basic')) {\n\t\t\t\t\tconfig.toolbar = 'Min';\n\t\t\t\t}\n\t\t\t\tif (element.data('height')) {\n\t\t\t\t\tconfig.height = element.data('height');\n\t\t\t\t}\n\t\t\t\tparams = $.extend(config, params);\n\t\t\t\tthis.isModal = element.closest('.js-modal-container').length;\n\t\t\t\tif (this.isModal && element.is(':visible')) {\n\t\t\t\t\tlet self = this;\n\t\t\t\t\tthis.progressInstance = $.progressIndicator({\n\t\t\t\t\t\tblockInfo: {\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\tonBlock: () => {\n\t\t\t\t\t\t\t\tself.loadEditor(element, params);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tApp.Fields.Text.destroyEditor(element);\n\t\t\t\t\tthis.loadEditor(element, params);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/*\n\t\t\t *Function to set the textArea element\n\t\t\t */\n\t\t\tsetElement(element) {\n\t\t\t\tthis.element = $(element);\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t *Function to get the textArea element\n\t\t\t */\n\t\t\tgetElement() {\n\t\t\t\treturn this.element;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Function to return Element's id atrribute value\n\t\t\t */\n\t\t\tgetElementId() {\n\t\t\t\treturn this.getElement().attr('id');\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Function to get the instance of ckeditor\n\t\t\t */\n\t\t\tgetEditorInstanceFromName() {\n\t\t\t\treturn CKEDITOR.instances[this.getElementId()];\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Function to load CkEditor\n\t\t\t * @param {HTMLElement|jQuery} element on which CkEditor has to be loaded\n\t\t\t * @param {Object} customConfig custom configurations for ckeditor\n\t\t\t */\n\t\t\tloadEditor(element, customConfig) {\n\t\t\t\tthis.setElement(element);\n\t\t\t\tconst instance = this.getEditorInstanceFromName();\n\t\t\t\tlet config = {\n\t\t\t\t\tlanguage: CONFIG.langKey,\n\t\t\t\t\tallowedContent: true,\n\t\t\t\t\tdisableNativeSpellChecker: false,\n\t\t\t\t\textraAllowedContent: 'div{page-break-after*}',\n\t\t\t\t\tformat_tags: 'p;h1;h2;h3;h4;h5;h6;pre;address;div',\n\t\t\t\t\tremoveButtons: '',\n\t\t\t\t\tenterMode: CKEDITOR.ENTER_BR,\n\t\t\t\t\tshiftEnterMode: CKEDITOR.ENTER_P,\n\t\t\t\t\temojiEnabled: false,\n\t\t\t\t\tmentionsEnabled: false,\n\t\t\t\t\tclipboard_handleImages: false,\n\t\t\t\t\ton: {\n\t\t\t\t\t\tinstanceReady: (evt) => {\n\t\t\t\t\t\t\tevt.editor.on('blur', function () {\n\t\t\t\t\t\t\t\tevt.editor.updateElement();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (this.isModal && this.progressInstance) {\n\t\t\t\t\t\t\t\tthis.progressInstance.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbeforeCommandExec: (e) => {\n\t\t\t\t\t\t\tif (e.editor.mode === 'source') {\n\t\t\t\t\t\t\t\treturn this.validate(element, e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tremovePlugins: 'scayt',\n\t\t\t\t\textraPlugins:\n\t\t\t\t\t\t'colorbutton,pagebreak,colordialog,find,selectall,showblocks,div,print,font,justify,bidi,base64image',\n\t\t\t\t\ttoolbar: 'Full',\n\t\t\t\t\ttoolbar_Full: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'clipboard',\n\t\t\t\t\t\t\titems: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'editing', items: ['Find', 'Replace', '-', 'SelectAll'] },\n\t\t\t\t\t\t{ name: 'links', items: ['Link', 'Unlink'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'insert',\n\t\t\t\t\t\t\titems: ['base64image', 'Table', 'HorizontalRule', 'SpecialChar', 'PageBreak']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'tools', items: ['Maximize', 'ShowBlocks'] },\n\t\t\t\t\t\t{ name: 'paragraph', items: ['Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv'] },\n\t\t\t\t\t\t{ name: 'document', items: ['Source', 'Print'] },\n\t\t\t\t\t\t'/',\n\t\t\t\t\t\t{ name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'basicstyles',\n\t\t\t\t\t\t\titems: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'colors', items: ['TextColor', 'BGColor'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'paragraph',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t'NumberedList',\n\t\t\t\t\t\t\t\t'BulletedList',\n\t\t\t\t\t\t\t\t'-',\n\t\t\t\t\t\t\t\t'JustifyLeft',\n\t\t\t\t\t\t\t\t'JustifyCenter',\n\t\t\t\t\t\t\t\t'JustifyRight',\n\t\t\t\t\t\t\t\t'JustifyBlock',\n\t\t\t\t\t\t\t\t'-',\n\t\t\t\t\t\t\t\t'BidiLtr',\n\t\t\t\t\t\t\t\t'BidiRtl'\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'basicstyles', items: ['CopyFormatting', 'RemoveFormat'] }\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar_Min: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'basicstyles',\n\t\t\t\t\t\t\titems: ['Bold', 'Italic', 'Underline', 'Strike']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'colors', items: ['TextColor', 'BGColor'] },\n\t\t\t\t\t\t{ name: 'tools', items: ['Maximize'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'paragraph',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t'NumberedList',\n\t\t\t\t\t\t\t\t'BulletedList',\n\t\t\t\t\t\t\t\t'-',\n\t\t\t\t\t\t\t\t'JustifyLeft',\n\t\t\t\t\t\t\t\t'JustifyCenter',\n\t\t\t\t\t\t\t\t'JustifyRight',\n\t\t\t\t\t\t\t\t'JustifyBlock',\n\t\t\t\t\t\t\t\t'-',\n\t\t\t\t\t\t\t\t'BidiLtr',\n\t\t\t\t\t\t\t\t'BidiRtl'\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'basicstyles', items: ['CopyFormatting', 'RemoveFormat', 'Source'] }\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar_Micro: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'basicstyles',\n\t\t\t\t\t\t\titems: ['Bold', 'Italic', 'Underline', 'Strike']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'colors', items: ['TextColor', 'BGColor'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'paragraph',\n\t\t\t\t\t\t\titems: ['NumberedList', 'BulletedList', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'basicstyles', items: ['CopyFormatting', 'RemoveFormat'] }\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar_Clipboard: [\n\t\t\t\t\t\t{ name: 'document', items: ['Print'] },\n\t\t\t\t\t\t{ name: 'basicstyles', items: ['CopyFormatting', 'RemoveFormat'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'clipboard',\n\t\t\t\t\t\t\titems: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar_PDF: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'clipboard',\n\t\t\t\t\t\t\titems: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'editing', items: ['Find', 'Replace', '-', 'SelectAll', '-'] },\n\t\t\t\t\t\t{ name: 'links', items: ['Link', 'Unlink'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'insert',\n\t\t\t\t\t\t\titems: ['base64image', 'Table', 'HorizontalRule', 'PageBreak']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'tools', items: ['Maximize', 'ShowBlocks'] },\n\t\t\t\t\t\t{ name: 'document', items: ['Source'] },\n\t\t\t\t\t\t'/',\n\t\t\t\t\t\t{ name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'basicstyles',\n\t\t\t\t\t\t\titems: ['Bold', 'Italic', 'Underline', 'Strike']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'colors', items: ['TextColor', 'BGColor'] },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'paragraph',\n\t\t\t\t\t\t\titems: ['JustifyLeft', 'JustifyCenter', 'JustifyRight']\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ name: 'basicstyles', items: ['CopyFormatting', 'RemoveFormat'] }\n\t\t\t\t\t]\n\t\t\t\t};\n\t\t\t\tif (typeof customConfig !== 'undefined') {\n\t\t\t\t\tconfig = $.extend(config, customConfig);\n\t\t\t\t}\n\t\t\t\tconfig = Object.assign(config, element.data());\n\t\t\t\tif (config.emojiEnabled) {\n\t\t\t\t\tlet emojiToolbar = { name: 'links', items: ['EmojiPanel'] };\n\t\t\t\t\tif (typeof config.toolbar === 'string') {\n\t\t\t\t\t\tconfig[`toolbar_${config.toolbar}`].push(emojiToolbar);\n\t\t\t\t\t} else if (Array.isArray(config.toolbar)) {\n\t\t\t\t\t\tconfig.toolbar.push(emojiToolbar);\n\t\t\t\t\t}\n\t\t\t\t\tconfig.extraPlugins = config.extraPlugins + ',emoji';\n\t\t\t\t\tconfig.outputTemplate = '{id}';\n\t\t\t\t}\n\t\t\t\tif (config.mentionsEnabled) {\n\t\t\t\t\tconfig.extraPlugins = config.extraPlugins + ',mentions';\n\t\t\t\t\tconfig.mentions = this.registerMentions();\n\t\t\t\t}\n\t\t\t\tif (instance) {\n\t\t\t\t\tCKEDITOR.remove(instance);\n\t\t\t\t}\n\t\t\t\telement.ckeditor(config);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register mentions\n\t\t\t * @returns {Array}\n\t\t\t */\n\t\t\tregisterMentions() {\n\t\t\t\tlet minSerchTextLength = app.getMainParams('gsMinLength');\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tfeed: this.getMentionUsersData.bind(this),\n\t\t\t\t\t\titemTemplate: `<li data-id=\"{id}\" class=\"row no-gutters\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-2 c-img__completion__container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"{icon} m-auto u-w-fit u-fs-14px\"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"{image}\" class=\"c-img__completion mr-2\" alt=\"{label}\" title=\"{label}\">\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col row-10 no-gutters u-overflow-x-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t<strong class=\"u-text-ellipsis--no-hover col-12\">{label}</strong>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fullname col-12 u-text-ellipsis--no-hover text-muted small\">{category}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</li>`,\n\t\t\t\t\t\toutputTemplate: '<a href=\"#\" data-id=\"@{id}\" data-module=\"{module}\">{label}</a>',\n\t\t\t\t\t\tminChars: minSerchTextLength\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfeed: App.Fields.Text.getMentionData,\n\t\t\t\t\t\tmarker: '#',\n\t\t\t\t\t\tpattern: /#[wа-я]{1,}|#\\w{3,}$/,\n\t\t\t\t\t\titemTemplate: `<li data-id=\"{id}\" class=\"row no-gutters\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-2 c-circle-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"yfm-{module}\"></span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-10 row no-gutters pl-1 u-overflow-x-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t<strong class=\"u-text-ellipsis--no-hover col-12\">{label}</strong>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fullname col-12 u-text-ellipsis--no-hover text-muted small\">{category}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</li>`,\n\t\t\t\t\t\toutputTemplate: '<a href=\"#\" data-id=\"#{id}\" data-module=\"{module}\">{label}</a>',\n\t\t\t\t\t\tminChars: minSerchTextLength\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Get mention Users data (invoked by ck editor mentions plugin)\n\t\t\t * @param {object} opts\n\t\t\t * @param {function} callback\n\t\t\t */\n\t\t\tgetMentionUsersData(opts, callback) {\n\t\t\t\tApp.Fields.Text.getMentionData(opts, callback, 'owners');\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Function to validate the field value\n\t\t\t * @param {jQuery} element\n\t\t\t * @param {object} e\n\t\t\t */\n\t\t\tvalidate(element) {\n\t\t\t\tlet status = true,\n\t\t\t\t\tparams;\n\t\t\t\tconst form = element.closest('form');\n\t\t\t\tif (\n\t\t\t\t\telement.data('purifyMode') ||\n\t\t\t\t\t!form.find('[name=\"module\"]').length ||\n\t\t\t\t\tform.find('[name=\"parent\"]').val() === 'Settings'\n\t\t\t\t) {\n\t\t\t\t\tparams = {\n\t\t\t\t\t\tmodule: 'Users',\n\t\t\t\t\t\taction: 'Fields',\n\t\t\t\t\t\tmode: 'validateByMode',\n\t\t\t\t\t\tpurifyMode: element.data('purifyMode') || 'Html',\n\t\t\t\t\t\tvalue: element.val()\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tparams = {\n\t\t\t\t\t\tmodule: element.closest('form').find('[name=\"module\"]').val(),\n\t\t\t\t\t\taction: 'Fields',\n\t\t\t\t\t\tmode: 'validateForField',\n\t\t\t\t\t\tfieldName: element.attr('name'),\n\t\t\t\t\t\tfieldValue: element.val()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tAppConnector.request({\n\t\t\t\t\tasync: false,\n\t\t\t\t\tdata: params\n\t\t\t\t})\n\t\t\t\t\t.done(function (data) {\n\t\t\t\t\t\telement.val(data.result.raw);\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function () {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_UNEXPECTED_ERROR')\n\t\t\t\t\t\t});\n\t\t\t\t\t\tstatus = false;\n\t\t\t\t\t});\n\t\t\t\treturn status;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Completions class for contenteditable html element for records, users and emojis. Params can be passed in data-completions- of contenteditable element or as argument. Default params:\n\t\t * {\n\t\t\t\t\tcompletionsCollection: {\n\t\t\t\t\t\trecords: true,\n\t\t\t\t\t\tusers: true,\n\t\t\t\t\t\temojis: true\n\t\t\t\t\t}\n\t\t\t}\n\t\t */\n\t\tCompletions: class {\n\t\t\t/**\n\t\t\t * Constructor\n\t\t\t * @param {jQuery} inputDiv - contenteditable div\n\t\t\t * @param params\n\t\t\t */\n\t\t\tconstructor(inputDiv = $('.js-completions').eq(0), params = {}) {\n\t\t\t\tif (typeof inputDiv === 'undefined' || inputDiv.length === 0) {\n\t\t\t\t\treturn;\n\t\t\t\t} else if (inputDiv.length === undefined) {\n\t\t\t\t\tinputDiv = $(inputDiv);\n\t\t\t\t}\n\t\t\t\tlet basicParams = {\n\t\t\t\t\tcompletionsCollection: {\n\t\t\t\t\t\trecords: true,\n\t\t\t\t\t\tusers: true,\n\t\t\t\t\t\temojis: true\n\t\t\t\t\t},\n\t\t\t\t\tautolink: true\n\t\t\t\t};\n\t\t\t\tthis.params = Object.assign(basicParams, inputDiv.data(), params);\n\t\t\t\tthis.inputDiv = inputDiv;\n\t\t\t\tthis.collection = [];\n\t\t\t\tif (this.params.completionsCollection.records) {\n\t\t\t\t\tthis.collection.push(this.registerMentionCollection('#'));\n\t\t\t\t}\n\t\t\t\tif (this.params.completionsCollection.users) {\n\t\t\t\t\tthis.collection.push(this.registerMentionCollection('@', 'owners'));\n\t\t\t\t}\n\t\t\t\tif (this.params.completionsCollection.emojis) {\n\t\t\t\t\tthis.collection.push(this.registerEmojiCollection());\n\t\t\t\t}\n\t\t\t\tthis.register(inputDiv);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register mention collection for tribute.js\n\t\t\t * @param {string} symbol\n\t\t\t * @param {string} searchModule\n\t\t\t * @returns {{trigger: *, selectTemplate: selectTemplate, values: values, menuItemTemplate: (function(*): string), lookup: string, fillAttr: string}}\n\t\t\t */\n\t\t\tregisterMentionCollection(symbol, searchModule = '-') {\n\t\t\t\tlet self = this;\n\t\t\t\treturn {\n\t\t\t\t\ttrigger: symbol,\n\t\t\t\t\tselectTemplate: function (item) {\n\t\t\t\t\t\tif (this.range.isContentEditable(this.current.element)) {\n\t\t\t\t\t\t\treturn `<a href=\"#\" data-id=\"${symbol + item.original.id}\" data-module=\"${\n\t\t\t\t\t\t\t\titem.original.module\n\t\t\t\t\t\t\t}\">${item.original.label.split('(')[0].trim()}</a>`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn symbol + item.original.label;\n\t\t\t\t\t},\n\t\t\t\t\tvalues: (text, cb) => {\n\t\t\t\t\t\tif (text.length >= CONFIG.globalSearchAutocompleteMinLength) {\n\t\t\t\t\t\t\tApp.Fields.Text.getMentionData(text, (users) => cb(users), searchModule);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tmenuItemTemplate: function (item) {\n\t\t\t\t\t\treturn self.mentionTemplate({\n\t\t\t\t\t\t\tid: item.original.id,\n\t\t\t\t\t\t\tmodule: item.original.module,\n\t\t\t\t\t\t\tcategory: item.original.category,\n\t\t\t\t\t\t\timage: item.original.image,\n\t\t\t\t\t\t\tlabel: item.original.label,\n\t\t\t\t\t\t\ticon: item.original.icon\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tlookup: 'label',\n\t\t\t\t\tfillAttr: 'label'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register emoji collection for tribute.js\n\t\t\t * @returns {{trigger: string, selectTemplate: selectTemplate, menuItemTemplate: (function(*): string), lookup: string, fillAttr: string, values: Array}}\n\t\t\t */\n\t\t\tregisterEmojiCollection() {\n\t\t\t\treturn {\n\t\t\t\t\ttrigger: ':',\n\t\t\t\t\tselectTemplate: function (item) {\n\t\t\t\t\t\tif (this.range.isContentEditable(this.current.element)) {\n\t\t\t\t\t\t\treturn `<span data-id=\"${item.original.id}\">${item.original.symbol}</span>`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn item.original.symbol;\n\t\t\t\t\t},\n\t\t\t\t\tmenuItemTemplate: function (item) {\n\t\t\t\t\t\treturn `<span data-id=\"${item.original.id}\">${item.original.symbol} ${item.original.id}</span>`;\n\t\t\t\t\t},\n\t\t\t\t\tlookup: 'id',\n\t\t\t\t\tfillAttr: 'keywords',\n\t\t\t\t\tvalues: (text, cb) => {\n\t\t\t\t\t\tif (text.length >= 2) {\n\t\t\t\t\t\t\tcb(App.emoji);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\t/*\n\t\t\t * Mention template\n\t\t\t */\n\t\t\tmentionTemplate(params) {\n\t\t\t\tlet icon = '';\n\t\t\t\tif (params.module !== undefined) {\n\t\t\t\t\ticon = `yfm-${params.module}`;\n\t\t\t\t}\n\t\t\t\tif (params.icon !== undefined && params.icon !== '') {\n\t\t\t\t\ticon = params.icon;\n\t\t\t\t}\n\t\t\t\tlet avatar = `<div class=\"col-2 c-circle-icon\">\n\t\t\t\t\t\t\t\t<span class=\"${icon}\"></span>\n\t\t\t\t\t\t\t</div>`;\n\t\t\t\tif (params.image !== undefined && params.image !== '') {\n\t\t\t\t\tavatar = `<div class=\"col-2 c-img__completion__container m-0\"><img src=\"${params.image}\" class=\"c-img__completion\" alt=${params.label}\" title=\"${params.label}\"></div>`;\n\t\t\t\t}\n\t\t\t\treturn `<div data-id=\"${params.id}\" class=\"row no-gutters\">\n\t\t\t\t\t\t\t${avatar}\n\t\t\t\t\t\t\t<div class=\"col-10 row no-gutters pl-1 u-overflow-x-hidden\">\n\t\t\t\t\t\t\t\t<strong class=\"u-text-ellipsis--no-hover col-12\">${params.label}</strong>\n\t\t\t\t\t\t\t\t<div class=\"fullname col-12 u-text-ellipsis--no-hover text-muted small\">${params.category}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>`;\n\t\t\t}\n\t\t\t/**\n\t\t\t * Auto link\n\t\t\t */\n\t\t\tautoLink() {\n\t\t\t\tlet fillChar = '\\u200B';\n\t\t\t\tlet sel = window.getSelection(),\n\t\t\t\t\trange = sel.getRangeAt(0).cloneRange(),\n\t\t\t\t\toffset,\n\t\t\t\t\tcharCode,\n\t\t\t\t\tgetParentByTagName = function (node, tags) {\n\t\t\t\t\t\tif (node && !isBody(node)) {\n\t\t\t\t\t\t\twhile (node) {\n\t\t\t\t\t\t\t\tif (tags[node.tagName] || isBody(node)) {\n\t\t\t\t\t\t\t\t\treturn !tags[node.tagName] && isBody(node) ? null : node;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t},\n\t\t\t\t\tisBody = function (node) {\n\t\t\t\t\t\treturn node && node.nodeType == 1 && node.tagName.toLowerCase() == 'body';\n\t\t\t\t\t},\n\t\t\t\t\thtml = function (str) {\n\t\t\t\t\t\treturn str.replace(/&((g|l|quo)t|amp|#39);/g, function (m) {\n\t\t\t\t\t\t\treturn { '&lt;': '<', '&amp;': '&', '&quot;': '\"', '&gt;': '>', '&#39;': \"'\" }[m];\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tisFillChar = function (node) {\n\t\t\t\t\t\treturn node.nodeType == 3 && !node.nodeValue.replace(new RegExp('' + fillChar), '').length;\n\t\t\t\t\t};\n\n\t\t\t\tlet start = range.startContainer;\n\t\t\t\twhile (start.nodeType == 1 && range.startOffset > 0) {\n\t\t\t\t\tstart = range.startContainer.childNodes[range.startOffset - 1];\n\t\t\t\t\tif (!start) break;\n\t\t\t\t\trange.setStart(start, start.nodeType == 1 ? start.childNodes.length : start.nodeValue.length);\n\t\t\t\t\trange.collapse(true);\n\t\t\t\t\tstart = range.startContainer;\n\t\t\t\t}\n\t\t\t\tdo {\n\t\t\t\t\tif (range.startOffset == 0) {\n\t\t\t\t\t\tstart = range.startContainer.previousSibling;\n\t\t\t\t\t\twhile (start && start.nodeType == 1) {\n\t\t\t\t\t\t\tstart = start.lastChild;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!start || isFillChar(start)) break;\n\t\t\t\t\t\toffset = start.nodeValue.length;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstart = range.startContainer;\n\t\t\t\t\t\toffset = range.startOffset;\n\t\t\t\t\t}\n\t\t\t\t\trange.setStart(start, offset - 1);\n\t\t\t\t\tcharCode = range.toString().charCodeAt(0);\n\t\t\t\t} while (charCode != 160 && charCode != 32);\n\t\t\t\tif (\n\t\t\t\t\trange\n\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t.replace(new RegExp(fillChar, 'g'), '')\n\t\t\t\t\t\t.match(/(?:https?:\\/\\/|ssh:\\/\\/|ftp:\\/\\/|file:\\/|www\\.)/i)\n\t\t\t\t) {\n\t\t\t\t\twhile (range.toString().length) {\n\t\t\t\t\t\tif (/^(?:https?:\\/\\/|ssh:\\/\\/|ftp:\\/\\/|file:\\/|www\\.)/i.test(range.toString())) break;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\trange.setStart(range.startContainer, range.startOffset + 1);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlet startCont = range.startContainer,\n\t\t\t\t\t\t\t\tnext;\n\t\t\t\t\t\t\twhile (!(next = startCont.nextSibling)) {\n\t\t\t\t\t\t\t\tif (isBody(startCont)) return;\n\t\t\t\t\t\t\t\tstartCont = startCont.parentNode;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.setStart(next, 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (getParentByTagName(range.startContainer, { a: 1, A: 1 })) return;\n\t\t\t\t\tlet href = range\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.replace(/<[^>]+>/g, '')\n\t\t\t\t\t\t\t.replace(new RegExp(fillChar, 'g'), ''),\n\t\t\t\t\t\threfFull = /^(?:https?:\\/\\/)/gi.test(href) ? href : 'http://' + href,\n\t\t\t\t\t\turl = new URL(hrefFull);\n\t\t\t\t\tlet allowedHosts = CONFIG.purifierAllowedDomains;\n\t\t\t\t\tif (allowedHosts !== false && allowedHosts.indexOf(url.host) === -1) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet a = document.createElement('a'),\n\t\t\t\t\t\ttext = document.createTextNode(' ');\n\t\t\t\t\ta.appendChild(range.extractContents());\n\t\t\t\t\ta.innerHTML = href;\n\t\t\t\t\ta.href = hrefFull ? html(hrefFull) : '';\n\t\t\t\t\ta.setAttribute('rel', 'noopener noreferrer');\n\t\t\t\t\ta.setAttribute('target', '_blank');\n\n\t\t\t\t\trange.insertNode(a);\n\t\t\t\t\ta.parentNode.insertBefore(text, a.nextSibling);\n\t\t\t\t\trange.setStart(text.nextSibling, 0);\n\t\t\t\t\trange.collapse(true);\n\t\t\t\t\tsel.removeAllRanges();\n\t\t\t\t\tsel.addRange(range);\n\t\t\t\t}\n\t\t\t}\n\t\t\t/**\n\t\t\t * Register\n\t\t\t * @param {jQuery} inputDiv - contenteditable div\n\t\t\t */\n\t\t\tregister(inputDiv) {\n\t\t\t\tconst self = this;\n\t\t\t\tthis.completionsCollection = new Tribute({\n\t\t\t\t\tcollection: self.collection,\n\t\t\t\t\tallowSpaces: true\n\t\t\t\t});\n\t\t\t\tthis.completionsCollection.attach(inputDiv[0]);\n\t\t\t\tif (this.params.completionsTextarea !== undefined) {\n\t\t\t\t\tthis.registerCompletionsTextArea(inputDiv);\n\t\t\t\t}\n\t\t\t\tif (this.params.completionsButtons !== undefined) {\n\t\t\t\t\tthis.registerCompletionsButtons();\n\t\t\t\t}\n\t\t\t\tif (this.params.autolink) {\n\t\t\t\t\tthis.registerAutoLinker(inputDiv);\n\t\t\t\t}\n\t\t\t\tif (App.emoji === undefined) {\n\t\t\t\t\tfetch(`${CONFIG.siteUrl}/vendor/ckeditor/ckeditor/plugins/emoji/emoji.json`)\n\t\t\t\t\t\t.then((response) => response.json())\n\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\tApp.emoji = response;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => console.error('Error:', error));\n\t\t\t\t}\n\t\t\t\tthis.registerTagClick(inputDiv);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register autolink\n\t\t\t * @param {jQuery} inputDiv - contenteditable div\n\t\t\t */\n\t\t\tregisterAutoLinker(inputDiv) {\n\t\t\t\tinputDiv.on('keypress', (e) => {\n\t\t\t\t\tif (e.keyCode === 32 || e.keyCode === 13) {\n\t\t\t\t\t\tthis.autoLink();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register completons hidden textarea - useful with forms\n\t\t\t * @param {jQuery} inputDiv - contenteditable div\n\t\t\t */\n\t\t\tregisterCompletionsTextArea(inputDiv) {\n\t\t\t\tlet textarea = inputDiv.siblings(`[name=${inputDiv.attr('id')}]`);\n\t\t\t\tinputDiv\n\t\t\t\t\t.on('focus', function () {\n\t\t\t\t\t\ttextarea.val(inputDiv.html());\n\t\t\t\t\t})\n\t\t\t\t\t.on('blur keyup paste input', function () {\n\t\t\t\t\t\ttextarea.val(inputDiv.html());\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register tag click\n\t\t\t * @param inputDiv\n\t\t\t */\n\t\t\tregisterTagClick(inputDiv) {\n\t\t\t\tinputDiv\n\t\t\t\t\t.closest('.js-completions__container')\n\t\t\t\t\t.find('.js-completions__messages')\n\t\t\t\t\t.on('click', '.js-completions__tag', (e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tinputDiv.append($(e.target).clone());\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Register completions buttons\n\t\t\t */\n\t\t\tregisterCompletionsButtons() {\n\t\t\t\tlet completionsContainer = this.inputDiv.parents().eq(3);\n\t\t\t\tcompletionsContainer.find('.js-completions__users').on('click', (e) => {\n\t\t\t\t\tthis.completionsCollection.showMenuForCollection(this.inputDiv[0], 1);\n\t\t\t\t});\n\t\t\t\tcompletionsContainer.find('.js-completions__records').on('click', (e) => {\n\t\t\t\t\tthis.completionsCollection.showMenuForCollection(this.inputDiv[0], 0);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get mention data (invoked by ck editor mentions plugin and tribute.js)\n\t\t * @param {object} opts\n\t\t * @param {function} callback\n\t\t * @param {string} searchModule\n\t\t */\n\t\tgetMentionData(text, callback, searchModule = '-') {\n\t\t\tlet basicSearch = new Vtiger_BasicSearch_Js();\n\t\t\tbasicSearch.reduceNumberResults = app.getMainParams('gsAmountResponse');\n\t\t\tbasicSearch.returnHtml = false;\n\t\t\tbasicSearch.searchModule = searchModule;\n\t\t\tif (typeof text === 'object') {\n\t\t\t\ttext = text.query.toLowerCase();\n\t\t\t}\n\t\t\tif (searchModule === 'owners') {\n\t\t\t\tAppConnector.request({\n\t\t\t\t\taction: 'Search',\n\t\t\t\t\tmode: 'owners',\n\t\t\t\t\tvalue: text\n\t\t\t\t}).done((data) => {\n\t\t\t\t\tcallback(data.result);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbasicSearch.search(text).done(function (data) {\n\t\t\t\t\tdata = JSON.parse(data);\n\t\t\t\t\tlet serverDataFormat = data.result,\n\t\t\t\t\t\treponseDataList = [];\n\t\t\t\t\tfor (let id in serverDataFormat) {\n\t\t\t\t\t\tlet responseData = serverDataFormat[id];\n\t\t\t\t\t\treponseDataList.push(responseData);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(reponseDataList);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Destroy ckEditor\n\t\t * @param {jQuery} element\n\t\t */\n\t\tdestroyEditor(element) {\n\t\t\tif (typeof CKEDITOR !== 'undefined' && CKEDITOR.instances && element.attr('id') in CKEDITOR.instances) {\n\t\t\t\tCKEDITOR.instances[element.attr('id')].destroy();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Generate random character\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateRandomChar() {\n\t\t\tconst chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ';\n\t\t\tconst rand = Math.floor(Math.random() * chars.length);\n\t\t\treturn chars.substring(rand, rand + 1);\n\t\t},\n\n\t\t/**\n\t\t * generate random hash\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateRandomHash(prefix = '') {\n\t\t\tprefix = prefix.toString();\n\t\t\tconst hash =\n\t\t\t\tMath.random().toString(36).substr(2, 10) +\n\t\t\t\tMath.random().toString(36).substr(2, 10) +\n\t\t\t\tnew Date().valueOf() +\n\t\t\t\tMath.random().toString(36).substr(2, 6);\n\t\t\treturn prefix ? prefix + hash : hash;\n\t\t}\n\t},\n\tPicklist: {\n\t\t/**\n\t\t * Function which will convert ui of select boxes.\n\t\t * @params parent - select element\n\t\t * @params view - select2\n\t\t * @params viewParams - select2 params\n\t\t * @returns jquery object list which represents changed select elements\n\t\t */\n\t\tchangeSelectElementView: function (parent, view, viewParams) {\n\t\t\tif (typeof parent === 'undefined') {\n\t\t\t\tparent = $('body');\n\t\t\t}\n\t\t\tif (typeof view === 'undefined') {\n\t\t\t\tconst select2Elements = $('select.select2', parent).toArray();\n\t\t\t\tselect2Elements.forEach((elem) => {\n\t\t\t\t\tthis.changeSelectElementView($(elem), 'select2', viewParams);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t//If view is select2, This will convert the ui of select boxes to select2 elements.\n\t\t\tif (view === 'select2') {\n\t\t\t\treturn App.Fields.Picklist.showSelect2ElementView(parent, viewParams);\n\t\t\t} else {\n\t\t\t\tapp.errorLog(new Error(`Unknown select type [${view}]`));\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Function which will show the select2 element for select boxes . This will use select2 library\n\t\t */\n\t\tshowSelect2ElementView(selectElement, params) {\n\t\t\tlet self = this;\n\t\t\tselectElement = $(selectElement);\n\t\t\tif (typeof params === 'undefined') {\n\t\t\t\tparams = {};\n\t\t\t}\n\t\t\tif ($(selectElement).length > 1) {\n\t\t\t\treturn $(selectElement).each((_, element) => {\n\t\t\t\t\tthis.showSelect2ElementView($(element).eq(0), params);\n\t\t\t\t});\n\t\t\t}\n\t\t\tparams = this.registerParams(selectElement, params);\n\t\t\tif (params.selectLazy && !selectElement.hasClass('js-lazy-select-active')) {\n\t\t\t\treturn App.Fields.Picklist.showLazySelect(selectElement, {\n\t\t\t\t\tlazyElements: app.getMainParams('picklistLimit'),\n\t\t\t\t\tdata: this.registerLazySelectOptions(selectElement),\n\t\t\t\t\tselectParams: params\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst computeDropdownHeight = (e, dropdownContainer) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (!dropdownContainer.find('.select2-dropdown--above').length) {\n\t\t\t\t\t\tconst dropdownList = dropdownContainer.find('.select2-results > .select2-results__options');\n\t\t\t\t\t\tconst marginBottom = 35;\n\t\t\t\t\t\tconst selectOffsetTop = $(e.currentTarget).offset().top;\n\t\t\t\t\t\tdropdownList.css({\n\t\t\t\t\t\t\t'max-height':\n\t\t\t\t\t\t\t\t$(window).height() - selectOffsetTop - marginBottom - (dropdownList.offset().top - selectOffsetTop)\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t};\n\t\t\tselectElement.each(function () {\n\t\t\t\tlet select = $(this);\n\t\t\t\tlet htmlBoolParams = select.data('select');\n\t\t\t\tif (htmlBoolParams === 'tags') {\n\t\t\t\t\tparams.tags = true;\n\t\t\t\t\tparams.tokenSeparators = [','];\n\t\t\t\t} else {\n\t\t\t\t\tparams[htmlBoolParams] = true;\n\t\t\t\t}\n\t\t\t\tselect\n\t\t\t\t\t.select2(params)\n\t\t\t\t\t.on('select2:open', (e) => {\n\t\t\t\t\t\tcomputeDropdownHeight(e, $('.select2-container--open:not(.select2-container--below)'));\n\t\t\t\t\t\tif (select.data('unselecting')) {\n\t\t\t\t\t\t\tselect.removeData('unselecting');\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tselect.each(function () {\n\t\t\t\t\t\t\t\t\t$(this).select2('close');\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet instance = $(e.currentTarget).data('select2');\n\t\t\t\t\t\tinstance.$dropdown.css('z-index', 1000002);\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fix auto focusing in select2 with jQuery 3.6.0\n\t\t\t\t\t\t * see: https://github.com/select2/select2/issues/5993\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif (instance.dropdown.$search) {\n\t\t\t\t\t\t\tinstance.dropdown.$search.get(0).focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.on('select2:unselect', () => {\n\t\t\t\t\t\tselect.data('unselecting', true);\n\t\t\t\t\t});\n\t\t\t\tif (typeof self[params.selectCb] === 'function') {\n\t\t\t\t\tself[params.selectCb](select, params);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn selectElement;\n\t\t},\n\t\t/**\n\t\t * Register params\n\t\t * @param selectElement\n\t\t * @param params\n\t\t * @returns {*}\n\t\t */\n\t\tregisterParams(selectElement, params) {\n\t\t\tif (typeof params.dropdownParent === 'undefined') {\n\t\t\t\tconst modalParent = $(selectElement).closest('.modal-body');\n\t\t\t\tif (modalParent.length) {\n\t\t\t\t\tparams.dropdownParent = modalParent;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet data = selectElement.data();\n\t\t\tif (data != null) {\n\t\t\t\tparams = $.extend(data, params);\n\t\t\t}\n\t\t\tparams.language = {};\n\t\t\tparams.theme = 'bootstrap';\n\t\t\tconst width = $(selectElement).data('width');\n\t\t\tif (typeof width !== 'undefined') {\n\t\t\t\tparams.width = width;\n\t\t\t} else {\n\t\t\t\tparams.width = '100%';\n\t\t\t}\n\t\t\tparams.containerCssClass = 'form-control w-100';\n\t\t\tconst containerCssClass = selectElement.data('containerCssClass');\n\t\t\tif (typeof containerCssClass !== 'undefined') {\n\t\t\t\tparams.containerCssClass += ' ' + containerCssClass;\n\t\t\t}\n\t\t\tparams.language.noResults = function () {\n\t\t\t\treturn app.vtranslate('JS_NO_RESULTS_FOUND');\n\t\t\t};\n\t\t\tparams.language.removeAllItems = function () {\n\t\t\t\treturn app.vtranslate('JS_REMOVE_ALL_ITEMS');\n\t\t\t};\n\t\t\t// Sort DOM nodes alphabetically in select box.\n\t\t\tif (typeof params['customSortOptGroup'] !== 'undefined' && params['customSortOptGroup']) {\n\t\t\t\t$('optgroup', selectElement).each(function () {\n\t\t\t\t\tlet optgroup = $(this);\n\t\t\t\t\tlet options = optgroup\n\t\t\t\t\t\t.children()\n\t\t\t\t\t\t.toArray()\n\t\t\t\t\t\t.sort(function (a, b) {\n\t\t\t\t\t\t\tvar aText = $(a).text();\n\t\t\t\t\t\t\tvar bText = $(b).text();\n\t\t\t\t\t\t\treturn aText < bText ? 1 : -1;\n\t\t\t\t\t\t});\n\t\t\t\t\t$.each(options, function (i, v) {\n\t\t\t\t\t\toptgroup.prepend(v);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tdelete params['customSortOptGroup'];\n\t\t\t}\n\n\t\t\t//formatSelectionTooBig param is not defined even it has the maximumSelectionLength,\n\t\t\t//then we should send our custom function for formatSelectionTooBig\n\t\t\tif (typeof params.maximumSelectionLength !== 'undefined' && typeof params.formatSelectionTooBig === 'undefined') {\n\t\t\t\t//custom function which will return the maximum selection size exceeds message.\n\t\t\t\tparams.language.maximumSelected = function (limit) {\n\t\t\t\t\treturn app.vtranslate('JS_YOU_CAN_SELECT_ONLY') + ' ' + limit.maximum + ' ' + app.vtranslate('JS_ITEMS');\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (typeof selectElement.attr('multiple') !== 'undefined' && !params.placeholder) {\n\t\t\t\tparams.placeholder = app.vtranslate('JS_SELECT_SOME_OPTIONS');\n\t\t\t} else if (!params.placeholder) {\n\t\t\t\tparams.placeholder = app.vtranslate('JS_SELECT_AN_OPTION');\n\t\t\t}\n\t\t\tif (typeof params.templateResult === 'undefined') {\n\t\t\t\tparams.templateResult = function (data, container) {\n\t\t\t\t\tif (data.element && data.element.className) {\n\t\t\t\t\t\t$(container).addClass(data.element.className);\n\t\t\t\t\t}\n\t\t\t\t\tconst resultContainer = document.createElement('span');\n\t\t\t\t\tif (typeof data.name === 'undefined') {\n\t\t\t\t\t\tresultContainer.innerText = data.text;\n\t\t\t\t\t} else if (data.type == 'optgroup') {\n\t\t\t\t\t\tconst strong = document.createElement('strong');\n\t\t\t\t\t\tstrong.innerText = data.name;\n\t\t\t\t\t\tstrong.appendChild(document.createTextNode(file.name));\n\t\t\t\t\t\tresultContainer.appendChild(strong);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresultContainer.innerText = data.name;\n\t\t\t\t\t}\n\t\t\t\t\treturn resultContainer;\n\t\t\t\t};\n\t\t\t} else if (typeof this[params.templateResult] === 'function') {\n\t\t\t\tparams.templateResult = this[params.templateResult];\n\t\t\t}\n\t\t\tif (typeof params.templateSelection === 'undefined') {\n\t\t\t\tparams.templateSelection = function (item, container) {\n\t\t\t\t\tif (item.element && item.element.className) {\n\t\t\t\t\t\t$(container).addClass(item.element.className);\n\t\t\t\t\t}\n\t\t\t\t\tconst span = document.createElement('span');\n\t\t\t\t\tif (item.text === '') {\n\t\t\t\t\t\tspan.innerText = item.name;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tspan.innerText = item.text;\n\t\t\t\t\t}\n\t\t\t\t\treturn span;\n\t\t\t\t};\n\t\t\t} else if (typeof this[params.templateSelection] === 'function') {\n\t\t\t\tparams.templateSelection = this[params.templateSelection];\n\t\t\t}\n\t\t\tif (selectElement.data('ajaxSearch') === 1) {\n\t\t\t\tparams = this.registerAjaxParams(selectElement, params);\n\t\t\t}\n\t\t\treturn params;\n\t\t},\n\t\t/**\n\t\t * Register ajax params\n\t\t * @param {jQuery} selectElement\n\t\t * @param {Object} params\n\t\t * @returns {Object}\n\t\t */\n\t\tregisterAjaxParams(selectElement, params) {\n\t\t\tparams.tags = false;\n\t\t\tparams.language.searching = function () {\n\t\t\t\treturn app.vtranslate('JS_SEARCHING');\n\t\t\t};\n\t\t\tparams.language.inputTooShort = function (args) {\n\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\t\t\t\treturn app.vtranslate('JS_INPUT_TOO_SHORT').replace('_LENGTH_', remainingChars);\n\t\t\t};\n\t\t\tparams.language.errorLoading = function () {\n\t\t\t\treturn app.vtranslate('JS_NO_RESULTS_FOUND');\n\t\t\t};\n\t\t\tparams.placeholder = '';\n\t\t\tparams.ajax = {\n\t\t\t\turl: selectElement.data('ajaxUrl'),\n\t\t\t\tdataType: 'json',\n\t\t\t\tdelay: 250,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdata:\n\t\t\t\t\tparams['ajax'] && params['ajax']['data']\n\t\t\t\t\t\t? params['ajax']['data']\n\t\t\t\t\t\t: function (item) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: item.term, // search term\n\t\t\t\t\t\t\t\t\tpage: item.page\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t  },\n\t\t\t\tprocessResults:\n\t\t\t\t\tparams['ajax'] && params['ajax']['processResults']\n\t\t\t\t\t\t? params['ajax']['processResults']\n\t\t\t\t\t\t: function (data, _params) {\n\t\t\t\t\t\t\t\tvar items = new Array();\n\t\t\t\t\t\t\t\tif (data.success == true) {\n\t\t\t\t\t\t\t\t\tselectElement.find('option').each(function () {\n\t\t\t\t\t\t\t\t\t\tvar currentTarget = $(this);\n\t\t\t\t\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\t\t\t\t\tlabel: currentTarget.html(),\n\t\t\t\t\t\t\t\t\t\t\tvalue: currentTarget.val()\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\titems = items.concat(data.result.items);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tresults: items,\n\t\t\t\t\t\t\t\t\tpagination: {\n\t\t\t\t\t\t\t\t\t\tmore: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t  },\n\t\t\t\tcache: false\n\t\t\t};\n\t\t\tparams.escapeMarkup = function (markup) {\n\t\t\t\tif (markup !== 'undefined') return markup;\n\t\t\t};\n\t\t\tparams.minimumInputLength = 3;\n\t\t\tif (selectElement.data('minimumInput') !== 'undefined') {\n\t\t\t\tparams.minimumInputLength = selectElement.data('minimumInput');\n\t\t\t}\n\t\t\tparams.templateResult = function (data) {\n\t\t\t\tif (typeof data.name === 'undefined') {\n\t\t\t\t\treturn data.text;\n\t\t\t\t}\n\t\t\t\tif (data.type == 'optgroup') {\n\t\t\t\t\treturn '<strong>' + data.name + '</strong>';\n\t\t\t\t} else {\n\t\t\t\t\treturn '<span>' + data.name + '</span>';\n\t\t\t\t}\n\t\t\t};\n\t\t\tparams.templateSelection = function (data, _container) {\n\t\t\t\tconst span = document.createElement('span');\n\t\t\t\tif (data.text === '') {\n\t\t\t\t\tspan.innerText = data.name;\n\t\t\t\t} else {\n\t\t\t\t\tspan.innerText = data.text;\n\t\t\t\t}\n\t\t\t\treturn span;\n\t\t\t};\n\t\t\treturn params;\n\t\t},\n\t\t/**\n\t\t * Prepend template with a flag, function is called select2\n\t\t * @param optionData\n\t\t * @returns {Mixed|jQuery|HTMLElement}\n\t\t */\n\t\tprependDataTemplate(optionData) {\n\t\t\tconst span = document.createElement('span');\n\t\t\tif (optionData.id !== undefined && optionData.id !== '') {\n\t\t\t\tspan.innerHTML = optionData.element.dataset.template;\n\t\t\t\tif (optionData.element.dataset.state !== undefined) {\n\t\t\t\t\tconst icon = span.querySelector('.js-select-option-event');\n\t\t\t\t\t//check if element has icons with different states\n\t\t\t\t\tif (optionData.element.dataset.state === 'active') {\n\t\t\t\t\t\ticon.classList.replace(optionData.element.dataset.iconInactive, optionData.element.dataset.iconActive);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ticon.classList.replace(optionData.element.dataset.iconActive, optionData.element.dataset.iconInactive);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tspan.innerText = optionData.text;\n\t\t\t}\n\t\t\treturn span;\n\t\t},\n\t\t/**\n\t\t * Register select sortable\n\t\t * @param select\n\t\t * @param params\n\t\t */\n\t\tregisterSelectSortable(select, params) {\n\t\t\tthis.sortSelectOptions(select);\n\t\t\tthis.registerSortEvent(select, params.sortableCb);\n\t\t},\n\t\t/**\n\t\t * Sort elements (options) in select by data-sort-index\n\t\t * @param {jQuery} select2 element\n\t\t */\n\t\tsortSelectOptions(select) {\n\t\t\tselect\n\t\t\t\t.find('option[data-sort-index]')\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn $(b).data('sort-index') < $(a).data('sort-index') ? 1 : -1;\n\t\t\t\t})\n\t\t\t\t.appendTo(select);\n\t\t},\n\t\t/**\n\t\t * Register select drag and drop sorting\n\t\t * @param {jQuery} select2 element\n\t\t * @param {function} callback function\n\t\t */\n\t\tregisterSortEvent(select, cb = () => {}) {\n\t\t\tlet ul = select.next('.select2-container').first('ul.select2-selection__rendered');\n\t\t\tul.sortable({\n\t\t\t\titems: 'li:not(.select2-search__field)',\n\t\t\t\ttolerance: 'pointer',\n\t\t\t\tstop: function () {\n\t\t\t\t\t$(ul.find('.select2-selection__choice').get().reverse()).each(function () {\n\t\t\t\t\t\tlet optionTitle = $(this).attr('title');\n\t\t\t\t\t\tselect.find('option').each(function () {\n\t\t\t\t\t\t\tif ($(this).text() === optionTitle) {\n\t\t\t\t\t\t\t\tselect.prepend($(this));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tcb(select);\n\t\t\t\t\tselect.trigger('sortable:change');\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Register icons events in select2 options\n\t\t * @param selectElement\n\t\t */\n\t\tregisterIconsEvents(selectElement) {\n\t\t\tselectElement.on('select2:selecting', (event) => {\n\t\t\t\tlet currentTarget = $(event.params.args.originalEvent.target);\n\t\t\t\tif (!currentTarget.hasClass('js-select-option-event') && !currentTarget.is('path')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (currentTarget.is('path')) {\n\t\t\t\t\t//svg target fix\n\t\t\t\t\tcurrentTarget = currentTarget.closest('.js-select-option-event');\n\t\t\t\t}\n\t\t\t\tlet currentElementData = $(event.params.args.data.element).data(),\n\t\t\t\t\toptionElement = $(event.params.args.data.element),\n\t\t\t\t\tprogressIndicatorElement = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\t\tAppConnector.request(currentElementData.url)\n\t\t\t\t\t.done((data) => {\n\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\tlet response = data.result;\n\t\t\t\t\t\tconst icon = currentTarget.get(0);\n\t\t\t\t\t\t//check if element has icons with different states\n\t\t\t\t\t\tif (response && response.result) {\n\t\t\t\t\t\t\tif (optionElement.attr('data-state') === 'active') {\n\t\t\t\t\t\t\t\toptionElement.attr('data-state', 'inactive');\n\t\t\t\t\t\t\t\ticon.classList.replace(currentElementData.iconActive, currentElementData.iconInactive);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\toptionElement.attr('data-state', 'active');\n\t\t\t\t\t\t\t\ticon.classList.replace(currentElementData.iconInactive, currentElementData.iconActive);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (response.message) {\n\t\t\t\t\t\t\t\tapp.showNotify({ text: response.message, type: 'success' });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (response && response.message) {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttext: response.message,\n\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function () {\n\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Show lazy select based on data passed in js.\n\t\t *\n\t\t * @param   {object}  selectElement  jQuery\n\t\t * @param   {object}  params         contains selectParams object, lazyElements number, data array\n\t\t */\n\t\tshowLazySelect(selectElement, params) {\n\t\t\t$.fn.select2.amd.require(['select2/data/array', 'select2/utils'], (ArrayData, Utils) => {\n\t\t\t\tfunction CustomData($element, params) {\n\t\t\t\t\tCustomData.__super__.constructor.call(this, $element, params);\n\t\t\t\t}\n\t\t\t\tUtils.Extend(CustomData, ArrayData);\n\t\t\t\tCustomData.prototype.query = (options, callback) => {\n\t\t\t\t\tlet results = [];\n\t\t\t\t\tif (options.term && options.term !== '') {\n\t\t\t\t\t\tresults = params.data.filter((e) => {\n\t\t\t\t\t\t\treturn e.text.toUpperCase().indexOf(options.term.toUpperCase()) >= 0;\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresults = params.data;\n\t\t\t\t\t}\n\t\t\t\t\tif (!('page' in options)) {\n\t\t\t\t\t\toptions.page = 1;\n\t\t\t\t\t}\n\t\t\t\t\tlet data = {};\n\t\t\t\t\tdata.results = results.slice((options.page - 1) * params.lazyElements, options.page * params.lazyElements);\n\t\t\t\t\tdata.pagination = {};\n\t\t\t\t\tdata.pagination.more = options.page * params.lazyElements < results.length;\n\t\t\t\t\tcallback(data);\n\t\t\t\t};\n\t\t\t\tparams.selectParams = Object.assign(params.selectParams, {\n\t\t\t\t\tajax: {},\n\t\t\t\t\tdataAdapter: CustomData\n\t\t\t\t});\n\t\t\t\tselectElement.addClass('js-lazy-select-active');\n\t\t\t\tthis.showSelect2ElementView(selectElement, params.selectParams);\n\t\t\t\tlet selectedOption = selectElement.data('selected-value');\n\t\t\t\tif (selectedOption) {\n\t\t\t\t\tlet text = selectedOption;\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectElement.data('fieldinfo').picklistvalues.hasOwnProperty(selectedOption) &&\n\t\t\t\t\t\t!selectElement.get(0).dataset.templateResult\n\t\t\t\t\t) {\n\t\t\t\t\t\ttext = selectElement.data('fieldinfo').picklistvalues[selectedOption];\n\t\t\t\t\t}\n\t\t\t\t\tthis.createSelectedOption(selectElement, text, selectedOption);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Register lazy select options\n\t\t *\n\t\t * @param   {object}  selectElement  [selectElement description]\n\t\t *\n\t\t * @return  {object}                 [return description]\n\t\t */\n\t\tregisterLazySelectOptions(selectElement) {\n\t\t\tlet options = [];\n\t\t\tif (\n\t\t\t\tselectElement.data('fieldinfo') &&\n\t\t\t\tselectElement.data('fieldinfo').picklistvalues &&\n\t\t\t\t!selectElement.get(0).dataset.templateResult\n\t\t\t) {\n\t\t\t\toptions = $.map(selectElement.data('fieldinfo').picklistvalues, function (val, key) {\n\t\t\t\t\treturn { id: key, text: val };\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toptions = $.map(selectElement.find('option'), (item) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: item.value,\n\t\t\t\t\t\telement: item,\n\t\t\t\t\t\ttext: item.text,\n\t\t\t\t\t\tselected: item.selected,\n\t\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn options;\n\t\t},\n\t\t/**\n\t\t * Set a value for the field\n\t\t *\n\t\t * @param   {jQuery}  field Field element\n\t\t * @param   {mixed}  value The value to set\n\t\t * @param   {object}  params Additional parameters [optional]\n\t\t *\n\t\t * @return  {mixed} The value that has been set\n\t\t */\n\t\tsetValue(field, value, params) {\n\t\t\tlet type = 'value';\n\t\t\tif (params && params['type']) {\n\t\t\t\ttype = params['type'];\n\t\t\t}\n\t\t\tconst option = this.findOption(field, value, type);\n\t\t\tif (!option) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (field.hasClass('js-lazy-select-active')) {\n\t\t\t\tthis.createSelectedOption(field, option.text, option.value);\n\t\t\t} else {\n\t\t\t\tfield.val(option.value).trigger('change');\n\t\t\t}\n\t\t\treturn option.value;\n\t\t},\n\t\t/**\n\t\t * Find option.\n\t\t *\n\t\t * @param   {object}  selectElement  [selectElement description]\n\t\t * @param   {string}  searchValue\n\t\t * @param   {string}  type           value|text|all\n\t\t *\n\t\t * @return  {boolean|object}         false or option object\n\t\t */\n\t\tfindOption(selectElement, searchValue, type = 'value') {\n\t\t\tlet foundOption = false;\n\t\t\tconst selectValues = this.getSelectOptions(selectElement);\n\t\t\tconst getFieldValueFromText = () => Object.keys(selectValues).find((key) => selectValues[key] === searchValue);\n\t\t\tconst valueExists = () => selectValues.hasOwnProperty(searchValue);\n\t\t\tconst createOption = () => {\n\t\t\t\treturn { text: selectValues[foundOption], value: foundOption };\n\t\t\t};\n\t\t\tswitch (type) {\n\t\t\t\tcase 'value':\n\t\t\t\t\tif (valueExists()) {\n\t\t\t\t\t\tfoundOption = searchValue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text':\n\t\t\t\t\tfoundOption = getFieldValueFromText();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'all':\n\t\t\t\t\tif (valueExists()) {\n\t\t\t\t\t\tfoundOption = searchValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfoundOption = getFieldValueFromText();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn foundOption ? createOption() : false;\n\t\t},\n\t\t/**\n\t\t * Get select options\n\t\t *\n\t\t * @param   {object}  selectElement  jQuery\n\t\t *\n\t\t * @return  {object}                 [return description]\n\t\t */\n\t\tgetSelectOptions(selectElement) {\n\t\t\tif (selectElement.data('fieldinfo') && selectElement.data('fieldinfo').picklistvalues) {\n\t\t\t\treturn selectElement.data('fieldinfo').picklistvalues;\n\t\t\t} else {\n\t\t\t\tlet optionsObject = {};\n\t\t\t\tselectElement.find('option').each((_i, element) => {\n\t\t\t\t\toptionsObject[element.value] = element.text;\n\t\t\t\t});\n\t\t\t\treturn optionsObject;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Create selected option\n\t\t *\n\t\t * @param   {object}  selectElement  jQuery\n\t\t * @param   {string}  text\n\t\t * @param   {string}  value\n\t\t */\n\t\tcreateSelectedOption(selectElement, text, value) {\n\t\t\tconst newOption = new Option(text, value, true, true);\n\t\t\tselectElement.append(newOption).trigger('change');\n\t\t}\n\t},\n\tMultiImage: {\n\t\tcurrentFileUploads: 0,\n\t\tregister(container) {\n\t\t\t$('.js-multi-image', container).each(function () {\n\t\t\t\tnew MultiImage($(this));\n\t\t\t});\n\t\t}\n\t},\n\tMultiEmail: {\n\t\tregister($container) {\n\t\t\t$('.js-multi-email', $container).each((idx, multiEmailField) => {\n\t\t\t\tlet $multiEmailField = $(multiEmailField);\n\t\t\t\t$multiEmailField.on('change', '.js-multi-email', (e) => {\n\t\t\t\t\tApp.Fields.MultiEmail.parseToJSON($multiEmailField);\n\t\t\t\t});\n\t\t\t\t$multiEmailField.on('click', '.js-multi-email-consenticon', (e) => {\n\t\t\t\t\tApp.Fields.MultiEmail.toggleConsent($(e.target));\n\t\t\t\t\tApp.Fields.MultiEmail.parseToJSON($multiEmailField);\n\t\t\t\t});\n\t\t\t\t$multiEmailField.on('click', '.js-multi-email-add', (e) => {\n\t\t\t\t\tApp.Fields.MultiEmail.addItem($multiEmailField);\n\t\t\t\t});\n\t\t\t\t$multiEmailField.on('click', '.js-multi-email-remove', (e) => {\n\t\t\t\t\tApp.Fields.MultiEmail.removeItem($(e.target));\n\t\t\t\t\tApp.Fields.MultiEmail.parseToJSON($multiEmailField);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Converts data to json and set MultiEmail field value\n\t\t * @param $multiEmailField\n\t\t */\n\t\tparseToJSON($multiEmailField) {\n\t\t\tlet value = [];\n\t\t\t$('.js-multi-email-item', $multiEmailField).each((idx, item) => {\n\t\t\t\tlet $item = $(item);\n\t\t\t\tlet email = $('.js-multi-email', $item).val();\n\t\t\t\tlet consent = $('.js-multi-email-consent', $item).is(':visible') ? 1 : 0;\n\t\t\t\tif (email) {\n\t\t\t\t\tvalue.push({\n\t\t\t\t\t\te: email,\n\t\t\t\t\t\to: consent\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\t$('.js-multi-email-value', $multiEmailField).val(JSON.stringify(value));\n\t\t},\n\t\t/**\n\t\t * Adds a new item: email box and consent checkbox\n\t\t * @param $multiEmailField\n\t\t */\n\t\taddItem($multiEmailField) {\n\t\t\tlet $newItem = $('.js-multi-email-item', $multiEmailField).first().clone(false, false);\n\t\t\tif ($newItem) {\n\t\t\t\t$('.js-multi-email', $newItem).attr('value', '').val('');\n\t\t\t\t$('.js-multi-email-consent', $newItem).val('');\n\t\t\t\t$('.js-multi-email-consenticon', $newItem).hide();\n\t\t\t\t$('.js-multi-email-consenticon', $newItem).first().show();\n\t\t\t\t$('.js-multi-email-items', $multiEmailField).append($newItem);\n\t\t\t\t$('.js-multi-email-remove', $multiEmailField).show();\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Removes an item: email box and consent checkbox\n\t\t * @param $deleteBtn\n\t\t */\n\t\tremoveItem($deleteBtn) {\n\t\t\tlet $multiEmailField = $deleteBtn.closest('.js-multi-email');\n\t\t\tif (1 < $('.js-multi-email-item', $multiEmailField).length) {\n\t\t\t\t$deleteBtn.closest('.js-multi-email-item').remove();\n\t\t\t}\n\t\t\tif (1 == $('.js-multi-email-item', $multiEmailField).length) {\n\t\t\t\t$('.js-multi-email-remove', $multiEmailField).hide();\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Toggle consent boxes\n\t\t * @param $consentBox\n\t\t */\n\t\ttoggleConsent($consentBox) {\n\t\t\tlet $item = $consentBox.closest('.js-multi-email-item');\n\t\t\t$('.js-multi-email-consenticon', $item).toggle();\n\t\t}\n\t},\n\tMultiDependField: {\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tregister(container) {\n\t\t\tcontainer.find('.js-multi-field').each((index, element) => {\n\t\t\t\tconst inputElement = $(element);\n\t\t\t\tconst fields = inputElement.find('.js-multi-field-val').data('fields');\n\t\t\t\tinputElement.find('.js-multi-field-add-item').on('click', (e) => {\n\t\t\t\t\tApp.Fields.MultiDependField.addRow(inputElement, fields);\n\t\t\t\t});\n\t\t\t\tApp.Fields.MultiDependField.registerRow(inputElement, fields);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Register row\n\t\t * @param {jQuery} inputElement\n\t\t * @param {Object} fields\n\t\t */\n\t\tregisterRow(inputElement, fields) {\n\t\t\tfor (let i in fields) {\n\t\t\t\tinputElement.find('[name=\"' + fields[i] + '\"]').on('change', (e) => {\n\t\t\t\t\tApp.Fields.MultiDependField.parseToJson(inputElement, fields);\n\t\t\t\t});\n\t\t\t}\n\t\t\tinputElement.find('.js-remove-item').on('click', (e) => {\n\t\t\t\tApp.Fields.MultiDependField.removeRow($(e.target), inputElement);\n\t\t\t\tApp.Fields.MultiDependField.parseToJson(inputElement.closest('.js-multi-field'), fields);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Invoked after clicking the remove button\n\t\t * @param {jQuery} element\n\t\t * @param {jQuery} container\n\t\t */\n\t\tremoveRow(element, container) {\n\t\t\tif (container.find('.js-multi-field-row').length > 1) {\n\t\t\t\telement.closest('.js-multi-field-row').remove();\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Convert data to json\n\t\t * @param {jQuery} element\n\t\t * @param {Object} fields\n\t\t */\n\t\tparseToJson(element, fields) {\n\t\t\tlet arr = [];\n\t\t\tlet allFields = $(element).find('.js-multi-field-row');\n\t\t\tlet arrayLength = allFields.length;\n\t\t\tfor (let i = 0; i < arrayLength; ++i) {\n\t\t\t\tlet partData = {},\n\t\t\t\t\tskip = false;\n\t\t\t\tfor (let k in fields) {\n\t\t\t\t\tpartData[fields[k]] = $(allFields[i])\n\t\t\t\t\t\t.find('[name=\"' + fields[k] + '\"]')\n\t\t\t\t\t\t.val();\n\t\t\t\t\tif (k == 0 && partData[fields[k]] === '') {\n\t\t\t\t\t\tskip = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!skip) {\n\t\t\t\t\tarr.push(partData);\n\t\t\t\t}\n\t\t\t}\n\t\t\t$(element).find('input.js-multi-field-val').val(JSON.stringify(arr));\n\t\t},\n\t\t/**\n\t\t * Invoked after clicking the add button\n\t\t * @param {jQuery} container\n\t\t * @param {Object} fields\n\t\t */\n\t\taddRow(container, fields) {\n\t\t\tlet newField;\n\t\t\tlet lastField = container.find('.js-multi-field-row').last();\n\t\t\tlet selectFields = lastField.find('select.select2');\n\t\t\tif (selectFields.length) {\n\t\t\t\tselectFields.select2('destroy').removeAttr('data-select2-id').find('option').removeAttr('data-select2-id');\n\t\t\t\tnewField = lastField.clone(false, false);\n\t\t\t\tApp.Fields.Picklist.showSelect2ElementView(lastField.find('select.select2'));\n\t\t\t} else {\n\t\t\t\tnewField = lastField.clone(false, false);\n\t\t\t}\n\t\t\tfor (let i in fields) {\n\t\t\t\tnewField.find('[name=\"' + fields[i] + '\"]').val('');\n\t\t\t}\n\t\t\tnewField.insertAfter(container.find('.js-multi-field-row').last());\n\t\t\tApp.Fields.Picklist.showSelect2ElementView(newField.find('select.select2'));\n\t\t\tApp.Fields.Date.register(newField);\n\t\t\tApp.Fields.MultiDependField.registerRow(container, fields);\n\t\t}\n\t},\n\tDependentSelect: {\n\t\t/**\n\t\t * Get options for select from array of items (exclude children)\n\t\t * @param {Array} data {value,text,selected, children => data[]}\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateOptionsFromData(data) {\n\t\t\tlet html = '';\n\t\t\tfor (let item of data) {\n\t\t\t\tlet selected = false;\n\t\t\t\tif (typeof item.selected !== 'undefined' && item.selected) {\n\t\t\t\t\tselected = true;\n\t\t\t\t}\n\t\t\t\thtml += `<option value=${item.value}${selected ? ' selected' : ''}>${item.text}</option>`;\n\t\t\t}\n\t\t\treturn html;\n\t\t},\n\t\t/**\n\t\t * Register dependent selects\n\t\t *\n\t\t * @param {jQuery} container with data- options:\n\t\t * data-slave: selector for slave element\n\t\t * data-data: array of options with children elements for slave select (see getOptions for data format)\n\t\t * data-sort: do we want to sort slave options by text when master has two items selected? if not - just append options to slave\n\t\t */\n\t\tregister(container) {\n\t\t\tif (typeof container === 'undefined' || typeof container.length === 'undefined' || !container.length) {\n\t\t\t\treturn app.errorLog('Dependend select field container is missing.');\n\t\t\t}\n\t\t\tcontainer.each(function () {\n\t\t\t\tconst masterSelect = $(this),\n\t\t\t\t\tslaveSelect = $(masterSelect.data('slave')),\n\t\t\t\t\tdata = masterSelect.data('data');\n\t\t\t\tif (!slaveSelect.length) {\n\t\t\t\t\treturn app.errorLog('Could not find slave select element (data-slave attribute)');\n\t\t\t\t}\n\t\t\t\tif (!data) {\n\t\t\t\t\treturn app.errorLog('Could not load data (data-data attribute)');\n\t\t\t\t}\n\t\t\t\tmasterSelect.on('change', (e) => {\n\t\t\t\t\tlet values = $(e.target).val();\n\t\t\t\t\tif (!Array.isArray(values)) {\n\t\t\t\t\t\tvalues = [values];\n\t\t\t\t\t}\n\t\t\t\t\tlet children = [];\n\t\t\t\t\tfor (let value of values) {\n\t\t\t\t\t\tfor (let item of data) {\n\t\t\t\t\t\t\tif (item.value === value) {\n\t\t\t\t\t\t\t\tif (typeof item.children !== 'undefined') {\n\t\t\t\t\t\t\t\t\titem.children.forEach((child) => {\n\t\t\t\t\t\t\t\t\t\tchildren.push(child);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (masterSelect.data('sort')) {\n\t\t\t\t\t\tchildren.sort((a, b) => {\n\t\t\t\t\t\t\treturn a.text.localeCompare(b.text);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tslaveSelect.html(App.Fields.DependentSelect.generateOptionsFromData(children));\n\t\t\t\t});\n\t\t\t\tmasterSelect.html(App.Fields.DependentSelect.generateOptionsFromData(data));\n\t\t\t});\n\t\t}\n\t},\n\tGantt: {\n\t\tregister(container, data) {\n\t\t\treturn new GanttField(container, data);\n\t\t}\n\t},\n\tInteger: {\n\t\t/**\n\t\t * Function returns the integer in user specified format.\n\t\t * @param {number} value\n\t\t * @param {int} numberOfDecimal\n\t\t * @returns {string}\n\t\t */\n\t\tformatToDisplay(value) {\n\t\t\tif (!value) {\n\t\t\t\tvalue = 0;\n\t\t\t}\n\t\t\tlet groupSeparator = CONFIG.currencyGroupingSeparator;\n\t\t\tlet groupingPattern = CONFIG.currencyGroupingPattern;\n\t\t\tvalue = parseFloat(value).toFixed(1);\n\t\t\tlet integer = value.toString().split('.')[0];\n\t\t\tif (integer.length > 3) {\n\t\t\t\tif (groupingPattern === '123,456,789') {\n\t\t\t\t\tinteger = integer.replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1' + groupSeparator);\n\t\t\t\t} else if (groupingPattern === '123456,789') {\n\t\t\t\t\tinteger = integer.slice(0, -3) + groupSeparator + integer.slice(-3);\n\t\t\t\t} else if (groupingPattern === '12,34,56,789') {\n\t\t\t\t\tinteger =\n\t\t\t\t\t\tinteger.slice(0, -3).replace(/(\\d)(?=(\\d\\d)+(?!\\d))/g, '$1' + groupSeparator) +\n\t\t\t\t\t\tgroupSeparator +\n\t\t\t\t\t\tinteger.slice(-3);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn integer;\n\t\t}\n\t},\n\tDouble: {\n\t\t/**\n\t\t * Function returns the currency in user specified format.\n\t\t * @param {number} value\n\t\t * @param {boolean} numberOfDecimal\n\t\t * @param {int} numberOfDecimal\n\t\t * @returns {string}\n\t\t */\n\t\tformatToDisplay(value, fixed = true, numberOfDecimal = CONFIG.noOfCurrencyDecimals) {\n\t\t\tif (!value) {\n\t\t\t\tvalue = 0;\n\t\t\t}\n\t\t\tlet strDecimal = value.toString().split('.')[1];\n\t\t\tlet numberOfZerosAtTheEnd = 0;\n\t\t\tif (typeof strDecimal !== 'undefined') {\n\t\t\t\tfor (let i = strDecimal.length - 1; i > 0; --i) {\n\t\t\t\t\tif (strDecimal[i] == '0') {\n\t\t\t\t\t\tnumberOfZerosAtTheEnd++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = parseFloat(value);\n\t\t\tif (fixed) {\n\t\t\t\tlet base = 10 ** numberOfDecimal;\n\t\t\t\tvalue =\n\t\t\t\t\tMath.round(\n\t\t\t\t\t\tvalue * base + Math.sign(value) * 0.1 ** (17 - 2 - (Math.round(value * base) / base).toString().length)\n\t\t\t\t\t) / base;\n\t\t\t}\n\t\t\tlet splittedFloat = value.toString().split('.');\n\t\t\tlet integer = splittedFloat[0];\n\t\t\tif (integer !== '-0' && integer !== '0') {\n\t\t\t\tinteger = App.Fields.Integer.formatToDisplay(integer);\n\t\t\t}\n\t\t\tlet decimal = splittedFloat[1];\n\t\t\tif (numberOfDecimal) {\n\t\t\t\tif (!CONFIG.truncateTrailingZeros && decimal) {\n\t\t\t\t\tfor (let i = 0; i < numberOfZerosAtTheEnd && decimal.length < numberOfDecimal; ++i) {\n\t\t\t\t\t\tdecimal += '0';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (decimal) {\n\t\t\t\t\treturn integer + CONFIG.currencyDecimalSeparator + decimal;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn integer;\n\t\t},\n\t\t/**\n\t\t * Function to get value for db format.\n\t\t * @param {string} value\n\t\t * @returns {number}\n\t\t */\n\t\tformatToDb(value) {\n\t\t\tif (value == undefined || value == '') {\n\t\t\t\tvalue = 0;\n\t\t\t}\n\t\t\tvalue = value.toString();\n\t\t\tvalue = value.split(CONFIG.currencyGroupingSeparator).join('');\n\t\t\tvalue = value.replace(/\\s/g, '').replace(CONFIG.currencyDecimalSeparator, '.');\n\t\t\treturn parseFloat(value);\n\t\t}\n\t},\n\t/**\n\t * Tree\n\t */\n\tTree: class Tree {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-tree-container')) {\n\t\t\t\treturn new Tree(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-tree-container').each((n, e) => {\n\t\t\t\tinstances.push(new Tree($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\tthis.modalEvent();\n\t\t\tthis.autoCompleteEvent();\n\t\t\tthis.clearSelectionEvent();\n\t\t}\n\t\t/**\n\t\t * Function which will handle modal view with tree\n\t\t */\n\t\tmodalEvent() {\n\t\t\t$('.js-tree-modal', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', (_) => {\n\t\t\t\t\tlet sourceFieldElement = this.container.find('input.sourceField'),\n\t\t\t\t\t\tfieldDisplayElement = this.container.find('input[name=\"' + sourceFieldElement.attr('name') + '_display\"]');\n\t\t\t\t\tAppConnector.request({\n\t\t\t\t\t\tmodule: sourceFieldElement.data('module-name'),\n\t\t\t\t\t\tview: 'TreeModal',\n\t\t\t\t\t\ttemplate: sourceFieldElement.data('treetemplate'),\n\t\t\t\t\t\tfieldName: sourceFieldElement.attr('name'),\n\t\t\t\t\t\tmultiple: sourceFieldElement.data('multiple'),\n\t\t\t\t\t\tvalue: sourceFieldElement.val()\n\t\t\t\t\t}).done(function (requestData) {\n\t\t\t\t\t\tapp.modalEvents['treeModal'] = function (modal, instance) {\n\t\t\t\t\t\t\tinstance.setSelectEvent((responseData) => {\n\t\t\t\t\t\t\t\tsourceFieldElement.val(responseData.id);\n\t\t\t\t\t\t\t\tfieldDisplayElement.val(responseData.name).attr('readonly', true);\n\t\t\t\t\t\t\t\tsourceFieldElement.trigger('change');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\t\t\t\t\t\tapp.showModalWindow(requestData, { modalId: 'treeModal' });\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Function which will handle the reference auto complete event registrations\n\t\t */\n\t\tautoCompleteEvent() {\n\t\t\tlet autoCompleteElement = $('input.treeAutoComplete', this.container);\n\t\t\tif (autoCompleteElement.hasClass('ui-autocomplete-input')) {\n\t\t\t\tautoCompleteElement.autocomplete('destroy');\n\t\t\t}\n\t\t\tautoCompleteElement.autocomplete({\n\t\t\t\tdelay: '600',\n\t\t\t\tminLength: '3',\n\t\t\t\tsource: function (request, response) {\n\t\t\t\t\tlet inputElement = $(this.element[0]);\n\t\t\t\t\tlet searchValue = request.term.toLowerCase();\n\t\t\t\t\tlet parentElem = inputElement.closest('.js-tree-container');\n\t\t\t\t\tlet sourceFieldElement = $('input.sourceField', parentElem);\n\t\t\t\t\tlet fieldInfo = sourceFieldElement.data('fieldinfo');\n\t\t\t\t\tlet allValues = fieldInfo.picklistvalues;\n\t\t\t\t\tlet responseDataList = [];\n\t\t\t\t\tfor (let id in allValues) {\n\t\t\t\t\t\tif (allValues[id].toLowerCase().indexOf(searchValue) >= 0) {\n\t\t\t\t\t\t\tresponseDataList.push({ label: allValues[id], value: id, id: id });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (responseDataList.length <= 0) {\n\t\t\t\t\t\t$(inputElement).val('');\n\t\t\t\t\t\tresponseDataList.push({\n\t\t\t\t\t\t\tlabel: app.vtranslate('JS_NO_RESULTS_FOUND'),\n\t\t\t\t\t\t\ttype: 'no results'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tresponse(responseDataList);\n\t\t\t\t},\n\t\t\t\tselect: function (event, ui) {\n\t\t\t\t\tlet selectedItemData = ui.item;\n\t\t\t\t\tif (typeof selectedItemData.type !== 'undefined' && selectedItemData.type == 'no results') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tselectedItemData.name = selectedItemData.value;\n\t\t\t\t\tthis.value = selectedItemData.label;\n\t\t\t\t\tlet element = $(this).attr('readonly', true);\n\t\t\t\t\telement.closest('.js-tree-container').find('input.sourceField').val(selectedItemData.id).trigger('change');\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tchange: function (event, ui) {},\n\t\t\t\topen: function (event, ui) {\n\t\t\t\t\t//To Make the menu come up in the case of quick create\n\t\t\t\t\t$(this).data('ui-autocomplete').menu.element.css('z-index', '100001');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Function which will register reference field clear event\n\t\t */\n\t\tclearSelectionEvent() {\n\t\t\t$('.clearTreeSelection', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', (e) => {\n\t\t\t\t\tlet fieldElement = this.container.find('.sourceField');\n\t\t\t\t\t$('input[name=\"' + fieldElement.attr('name') + '_display\"]', this.container)\n\t\t\t\t\t\t.removeAttr('readonly')\n\t\t\t\t\t\t.val('');\n\t\t\t\t\tfieldElement.val('').trigger('change');\n\t\t\t\t\te.preventDefault();\n\t\t\t\t});\n\t\t}\n\t},\n\t/**\n\t * TimePeriod class\n\t *\n\t * Save value as time period in 00:m format where '0' is a number of units\n\t * ':' is just separator\n\t * and 'm' is time scale/period in php date format - available formats are [m, d, H, i, s]\n\t * @example 10:i = 10 minutes, 2:m = 2 months, 20:H = 20 hours and so on...\n\t */\n\tTimePeriod: class TimePeriod {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.value = container.val();\n\t\t\tif (this.value) {\n\t\t\t\tconst split = this.value.split(':');\n\t\t\t\tthis.time = Number(split[0]);\n\t\t\t\tthis.period = split[1];\n\t\t\t} else {\n\t\t\t\tthis.time = 0;\n\t\t\t\tthis.period = 'H';\n\t\t\t\tthis.value = '0:H';\n\t\t\t\tcontainer.val(this.value);\n\t\t\t}\n\t\t\tthis.injectContent();\n\t\t}\n\n\t\t/**\n\t\t * Register time period field/s\n\t\t *\n\t\t * @param {jQuery} container it could be input type hidden with js-time-period class\n\t\t *                           or container that contains multiple js-time-period inputs\n\t\t *\n\t\t * @example <input type=\"hidden\" name=\"field_name\" class=\"js-time-period\">\n\t\t *\n\t\t * @returns {TimePeriod|TimePeriod[]} instance/s\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('c-time-period')) {\n\t\t\t\treturn new TimePeriod(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.c-time-period').each((index, value) => {\n\t\t\t\tinstances.push(new TimePeriod($(value)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\n\t\t/**\n\t\t * Inject content next to container\n\t\t *\n\t\t * @returns  {jQuery}  created element with input and select\n\t\t */\n\t\tinjectContent() {\n\t\t\tlet content = `<div class=\"input-group c-time-period\" data-js=\"container\">\n\t\t\t\t<div class=\"input-group-prepend\">\n\t\t\t\t\t<a href class=\"btn btn-default c-time-period-input-modifier c-time-period-input-modifier--minus-1\"><span class=\"fas fa-minus\"></span></a>\n\t\t\t\t</div>\n\t\t\t\t<input type=\"number\" class=\"form-control c-time-period-input\" min=\"0\" value=\"${this.time}\"\n\t\t\t\t\tdata-validation-engine=\"validate[required,funcCall[Vtiger_Integer_Validator_Js.invokeValidation]]\">\n\t\t\t\t<div class=\"input-group-append\">\n\t\t\t\t\t<a href class=\"btn btn-default c-time-period-input-modifier c-time-period-input-modifier--plus-1\"><span class=\"fas fa-plus\"></span></a>\n\t\t\t\t\t<select class=\"select2 js-time-period-select time-period-${this.container.attr('name')}\">\n\t\t\t\t\t\t<option value=\"d\"${this.period === 'd' ? ' selected=\"selected\"' : ''}>${app.vtranslate('JS_DAYS_FULL')}</option>\n\t\t\t\t\t\t<option value=\"H\"${this.period === 'H' ? ' selected=\"selected\"' : ''}>${app.vtranslate('JS_HOURS_FULL')}</option>\n\t\t\t\t\t\t<option value=\"i\"${this.period === 'i' ? ' selected=\"selected\"' : ''}>${app.vtranslate('JS_MINUTES_FULL')}</option>\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t\tthis.element = this.container.parent().append(content);\n\t\t\tthis.input = this.element.find('.c-time-period-input').eq(0);\n\t\t\tthis.select = this.element.find('.select2').eq(0);\n\t\t\tthis.plus1btn = this.element.find('.c-time-period-input-modifier--plus-1').eq(0);\n\t\t\tthis.minus1btn = this.element.find('.c-time-period-input-modifier--minus-1').eq(0);\n\t\t\tApp.Fields.Picklist.showSelect2ElementView(this.select, { width: '100px' });\n\t\t\tthis.registerEvents();\n\t\t\treturn this.element;\n\t\t}\n\n\t\t/**\n\t\t * Register events\n\t\t */\n\t\tregisterEvents() {\n\t\t\tthis.input.on('input', this.onChange.bind(this));\n\t\t\tthis.select.on('change', this.onChange.bind(this));\n\t\t\tthis.plus1btn.on('click', this.onPlus1Click.bind(this));\n\t\t\tthis.minus1btn.on('click', this.onMinus1Click.bind(this));\n\t\t}\n\n\t\t/**\n\t\t * On change event\n\t\t *\n\t\t * @param {Event} event\n\t\t */\n\t\tonChange(event) {\n\t\t\tthis.time = this.input.val();\n\t\t\tthis.period = this.select.val();\n\t\t\tthis.value = this.input.val() + ':' + this.select.val();\n\t\t\tthis.container.val(this.value);\n\t\t}\n\n\t\t/**\n\t\t * Plus 1 button click event handler\n\t\t *\n\t\t * @param {Event} event\n\t\t */\n\t\tonPlus1Click(event) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.input.val(Number(this.input.val()) + 1);\n\t\t\tthis.onChange();\n\t\t}\n\n\t\t/**\n\t\t * Minus 1 button click event handler\n\t\t *\n\t\t * @param {Event} event\n\t\t */\n\t\tonMinus1Click(event) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif (Number(this.input.val()) > 0) {\n\t\t\t\tthis.input.val(Number(this.input.val()) - 1);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Multi currency\n\t */\n\tMultiCurrency: class MultiCurrency {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-multicurrency-container')) {\n\t\t\t\treturn new MultiCurrency(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-multicurrency-container').each((n, e) => {\n\t\t\t\tinstances.push(new MultiCurrency($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\t$('.js-multicurrency-event', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tlet modal = $('<form>').append(this.container.find('.js-currencies-container .js-currencies-modal').clone());\n\t\t\t\t\tthis.registerEnableCurrencyEvent(modal);\n\t\t\t\t\tthis.registerResetCurrencyEvent(modal);\n\t\t\t\t\tthis.loadData(modal);\n\t\t\t\t\tthis.calculateConversionRate(modal);\n\t\t\t\t\tapp.showModalWindow({\n\t\t\t\t\t\tdata: modal,\n\t\t\t\t\t\tcss: {},\n\t\t\t\t\t\tcb: (data) => {\n\t\t\t\t\t\t\tlet form = data.parent();\n\t\t\t\t\t\t\tform.validationEngine(app.validationEngineOptionsForRecord);\n\t\t\t\t\t\t\tform.on('submit', (e) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tif (form.validationEngine('validate') && this.saveCurrencies(form)) {\n\t\t\t\t\t\t\t\t\tlet id = form.closest('.js-modal-container').attr('id');\n\t\t\t\t\t\t\t\t\tapp.hideModalWindow(null, id);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tthis.getField().on('focusout', (e) => {\n\t\t\t\tlet element = $(e.currentTarget);\n\t\t\t\telement.formatNumber();\n\t\t\t\tthis.setPrice(element.val());\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Loading data\n\t\t * @param {jQuery} modalContainer\n\t\t */\n\t\tloadData(modalContainer) {\n\t\t\tlet values = JSON.parse(this.getFieldToSave().val());\n\t\t\tlet baseCurrencyId = values['currencyId'] || CONFIG.currencyId;\n\t\t\tif (values['currencies'] === undefined) {\n\t\t\t\tvalues['currencies'] = [];\n\t\t\t\tvalues['currencies'][baseCurrencyId] = { price: 0 };\n\t\t\t}\n\t\t\tfor (let i in values['currencies']) {\n\t\t\t\tlet row = modalContainer.find('[data-currency-id=\"' + i + '\"]');\n\t\t\t\tif (row.length) {\n\t\t\t\t\trow.find('.js-enable-currency').prop('checked', true);\n\t\t\t\t\trow.find('.js-currency-reset,.js-base-currency,[name^=\"currencies[\"]').prop('disabled', false);\n\t\t\t\t\trow.find('.js-converted-price').val(values['currencies'][i]['price']);\n\t\t\t\t\tif (i == baseCurrencyId) {\n\t\t\t\t\t\trow.find('.js-base-currency').prop('checked', true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Set value\n\t\t * @param {number} value\n\t\t */\n\t\tsetPrice(value) {\n\t\t\tlet values = JSON.parse(this.getFieldToSave().val());\n\t\t\tlet baseCurrencyId = values['currencyId'] || CONFIG.currencyId;\n\t\t\tvalues['currencies'] = values['currencies'] || {};\n\t\t\tvalues['currencies'][baseCurrencyId] = { price: value };\n\t\t\tvalues['currencyId'] = baseCurrencyId;\n\t\t\tvalues = $.extend({}, values);\n\t\t\tthis.getFieldToSave().val(JSON.stringify($.extend({}, values)));\n\t\t}\n\t\t/**\n\t\t * Gets field\n\t\t */\n\t\tgetField() {\n\t\t\treturn this.container.find('.js-multicurrency-field');\n\t\t}\n\t\t/**\n\t\t * Gets field to save\n\t\t */\n\t\tgetFieldToSave() {\n\t\t\treturn this.container.find('.js-multicurrency-field-to-save');\n\t\t}\n\t\t/**\n\t\t * Save\n\t\t * @param {jQuery} modalContainer\n\t\t */\n\t\tsaveCurrencies(modalContainer) {\n\t\t\tlet enabledBaseCurrency = modalContainer.find('.js-enable-currency').filter(':checked');\n\t\t\tif (enabledBaseCurrency.length < 1) {\n\t\t\t\tVtiger_Helper_Js.showMessage({\n\t\t\t\t\ttext: app.vtranslate('JS_PLEASE_SELECT_BASE_CURRENCY_FOR_PRODUCT'),\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tlet selectedBaseCurrency = modalContainer.find('.js-base-currency').filter(':checked');\n\t\t\tif (selectedBaseCurrency.length < 1) {\n\t\t\t\tVtiger_Helper_Js.showMessage({\n\t\t\t\t\ttext: app.vtranslate('JS_PLEASE_ENABLE_BASE_CURRENCY_FOR_PRODUCT'),\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet selectedRow = selectedBaseCurrency.closest('tr');\n\t\t\tlet symbol = selectedRow.data('currency-symbol');\n\t\t\tthis.container.find('.js-currency').text(symbol);\n\t\t\tlet data = {};\n\t\t\tdata['currencies'] = {};\n\t\t\tenabledBaseCurrency.closest('tr').each((n, e) => {\n\t\t\t\tlet row = $(e),\n\t\t\t\t\tcurrencyId = row.data('currencyId');\n\t\t\t\tdata['currencies'][currencyId] = {};\n\t\t\t\tdata['currencies'][currencyId]['price'] = row.find('.js-converted-price').val();\n\t\t\t\tif (row.find('.js-base-currency:checked').length) {\n\t\t\t\t\tdata['currencyId'] = currencyId;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.getFieldToSave().val(JSON.stringify(data));\n\t\t\tthis.getField().val(selectedRow.find('.js-converted-price').val());\n\t\t\tselectedBaseCurrency.prop('checked', false);\n\t\t\treturn true;\n\t\t}\n\t\t/**\n\t\t * Calculate\n\t\t * @param {jQuery} container\n\t\t */\n\t\tcalculateConversionRate(container) {\n\t\t\tlet baseCurrencyConversionRate = container\n\t\t\t\t.find('.js-base-currency')\n\t\t\t\t.filter(':checked')\n\t\t\t\t.closest('tr')\n\t\t\t\t.find('.js-conversion-rate');\n\t\t\tif (baseCurrencyConversionRate.val() == '1') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet baseCurrencyRatePrevValue = baseCurrencyConversionRate.getNumberFromValue();\n\t\t\tcontainer.find('.js-conversion-rate').each(function (key, domElement) {\n\t\t\t\tlet element = $(domElement);\n\t\t\t\tif (!element.is(baseCurrencyConversionRate)) {\n\t\t\t\t\telement.val(\n\t\t\t\t\t\tApp.Fields.Double.formatToDisplay(element.getNumberFromValue() / baseCurrencyRatePrevValue, false)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t\tbaseCurrencyConversionRate.val('1');\n\t\t}\n\t\t/**\n\t\t * Function to register event for enabling currency on checkbox checked\n\t\t * @param {jQuery} container\n\t\t */\n\t\tregisterEnableCurrencyEvent(container) {\n\t\t\tcontainer.on('change', '.js-enable-currency', (e) => {\n\t\t\t\tlet element = $(e.currentTarget);\n\t\t\t\tlet parentRow = element.closest('tr');\n\t\t\t\tif (element.is(':checked')) {\n\t\t\t\t\telement.attr('checked', 'checked');\n\t\t\t\t\tlet price = this.getField().getNumberFromValue() * parentRow.find('.js-conversion-rate').getNumberFromValue();\n\t\t\t\t\t$('input', parentRow).removeAttr('disabled');\n\t\t\t\t\tparentRow.find('.js-currency-reset').removeAttr('disabled');\n\t\t\t\t\tparentRow.find('.js-converted-price').val(App.Fields.Double.formatToDisplay(price));\n\t\t\t\t} else {\n\t\t\t\t\tif (parentRow.find('.js-base-currency').is(':checked')) {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\ttitle:\n\t\t\t\t\t\t\t\t'\"' +\n\t\t\t\t\t\t\t\tparentRow.find('.js-currency-name').text() +\n\t\t\t\t\t\t\t\t'\" ' +\n\t\t\t\t\t\t\t\tapp.vtranslate('JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY')\n\t\t\t\t\t\t});\n\t\t\t\t\t\telement.prop('checked', true);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tparentRow.find('input').attr('disabled', 'disabled');\n\t\t\t\t\tparentRow.find('.js-currency-reset').attr('disabled', 'disabled');\n\t\t\t\t\telement.removeAttr('disabled checked');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Function to register event for reseting the currencies\n\t\t * @param {jQuery} container\n\t\t */\n\t\tregisterResetCurrencyEvent(container) {\n\t\t\tcontainer.on('click', '.js-currency-reset', (e) => {\n\t\t\t\tlet parentElem = $(e.currentTarget).closest('tr');\n\t\t\t\tlet price = this.getField().getNumberFromValue() * parentElem.find('.js-conversion-rate').getNumberFromValue();\n\t\t\t\t$('.js-converted-price', parentElem).val(App.Fields.Double.formatToDisplay(price));\n\t\t\t});\n\t\t}\n\t},\n\t/**\n\t * Meeting URL\n\t */\n\tMeetingUrl: class MeetingUrl {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-meeting-container')) {\n\t\t\t\treturn new MeetingUrl(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-meeting-container').each((n, e) => {\n\t\t\t\tinstances.push(new MeetingUrl($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\tlet addButton = $('.js-meeting-add', this.container);\n\t\t\tif (!addButton.length) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet valElement = $('.js-meeting-val', this.container);\n\t\t\taddButton.off('click').on('click', (e) => {\n\t\t\t\tlet progressIndicatorElement = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\t\tAppConnector.request(this.getUrl(e))\n\t\t\t\t\t.done((data) => {\n\t\t\t\t\t\tlet result = data.result;\n\t\t\t\t\t\tif (result && result.success && result.url) {\n\t\t\t\t\t\t\tvalElement.attr('readonly', true).val(result.url);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t})\n\t\t\t\t\t.fail((_) => {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t});\n\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t});\n\t\t\t});\n\t\t\t$('.js-meeting-clear', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tvalElement.attr('readonly', false).val('');\n\t\t\t\t});\n\t\t\tthis.addEventsForDependentFields();\n\t\t}\n\t\t/**\n\t\t * Gets URL\n\t\t */\n\t\tgetUrl(e) {\n\t\t\tlet url = e.currentTarget.dataset.url;\n\t\t\tlet formData = $(e.currentTarget).closest('form').serializeFormData();\n\t\t\tlet expField = e.currentTarget.dataset.expField;\n\t\t\tif (expField && formData && formData[expField]) {\n\t\t\t\tlet date = formData[expField].split(' ');\n\t\t\t\turl += '&exp=' + encodeURIComponent(date[0]);\n\t\t\t}\n\t\t\tlet roomName = e.currentTarget.dataset.roomName;\n\t\t\tif (roomName && formData && formData[roomName]) {\n\t\t\t\turl += '&roomName=' + encodeURIComponent(formData[roomName]);\n\t\t\t}\n\t\t\treturn url;\n\t\t}\n\t\t/**\n\t\t * Add events for dependent fields\n\t\t */\n\t\taddEventsForDependentFields() {\n\t\t\tlet addButton = $('.js-meeting-add', this.container);\n\t\t\tlet valElement = $('.js-meeting-val', this.container);\n\t\t\tlet data = addButton.data();\n\t\t\tlet formElement = this.container.closest('form');\n\t\t\tfor (let name of ['expField', 'roomName']) {\n\t\t\t\tlet fieldName = data[name];\n\t\t\t\tif (!fieldName) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tformElement.on('change', `[name=${fieldName}]`, (_) => {\n\t\t\t\t\tif (data['domain'] && valElement.val().indexOf(data['domain']) === 0) {\n\t\t\t\t\t\taddButton.trigger('click');\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_MEETING_URL_CHANGED')\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Changes Json\n\t */\n\tChangesJson: class ChangesJson {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-changesjson-container')) {\n\t\t\t\treturn new ChangesJson(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-changesjson-container').each((_, e) => {\n\t\t\t\tinstances.push(new ChangesJson($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\t$('.js-changesjson-edit', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tlet field = this.getField();\n\t\t\t\t\tlet value = field.val() ? JSON.parse(field.val()) : { record: 0, module: '', changes: [] };\n\t\t\t\t\tlet relatedField = this.getRelatedField();\n\t\t\t\t\tif (relatedField.length) {\n\t\t\t\t\t\tvalue.record = relatedField.val();\n\t\t\t\t\t\tvalue.module = $('input[name=\"popupReferenceModule\"]', relatedField.closest('.fieldValue')).val();\n\t\t\t\t\t}\n\t\t\t\t\tif (!value.record || value.record == 0) {\n\t\t\t\t\t\tapp.showNotify({ text: app.vtranslate('JS_LACK_INFORMATION_ABOUT_RECORD') });\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\t\t\tAppConnector.request({\n\t\t\t\t\t\tmodule: value.module,\n\t\t\t\t\t\trecord: value.record,\n\t\t\t\t\t\tchanges: value.changes,\n\t\t\t\t\t\tsourceModule: field.data('module'),\n\t\t\t\t\t\tsourceField: field.attr('name'),\n\t\t\t\t\t\tview: 'ChangesJsonModal'\n\t\t\t\t\t})\n\t\t\t\t\t\t.done((requestData) => {\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\tapp.showModalWindow({\n\t\t\t\t\t\t\t\tdata: requestData,\n\t\t\t\t\t\t\t\tcss: {},\n\t\t\t\t\t\t\t\tcb: (data) => {\n\t\t\t\t\t\t\t\t\tthis.saveData(data, value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.fail((_) => {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Save data to field\n\t\t */\n\t\tsaveData(container, data) {\n\t\t\tlet form = container.find('form');\n\t\t\tcontainer.on('click', '.js-modal__save', (e) => {\n\t\t\t\tif (form.validationEngine('validate')) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!form.find('input[id^=\"selectRow\"]:checked').length) {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_NONE_FIELD_MARKED_IN_MASS_EDIT'),\n\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet invalidFields = form.data('jqv').InvalidFields;\n\t\t\t\t\tif (invalidFields.length !== 0) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tform.find('[id^=\"selectRow\"]').each(function (_, checkbox) {\n\t\t\t\t\t\tcheckbox = $(checkbox);\n\t\t\t\t\t\tif (!checkbox.prop('checked')) {\n\t\t\t\t\t\t\tcheckbox\n\t\t\t\t\t\t\t\t.closest('.js-form-row-container')\n\t\t\t\t\t\t\t\t.find('.fieldValue [name]')\n\t\t\t\t\t\t\t\t.each(function (_, element) {\n\t\t\t\t\t\t\t\t\telement = $(element);\n\t\t\t\t\t\t\t\t\telement.attr('data-element-name', element.attr('name')).removeAttr('name');\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tlet changeData = form.serializeFormData();\n\t\t\t\t\tdelete changeData['_csrf'];\n\t\t\t\t\tfor (let fieldName in changeData) {\n\t\t\t\t\t\tif (fieldName.substr(-2) === '[]') {\n\t\t\t\t\t\t\tlet fieldNameShort = fieldName.substr(0, fieldName.length - 2);\n\t\t\t\t\t\t\tchangeData[fieldNameShort] = changeData[fieldName];\n\t\t\t\t\t\t\tdelete changeData[fieldName];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdata.changes = changeData;\n\t\t\t\t\tthis.getField().val(JSON.stringify(data));\n\t\t\t\t\tapp.hideModalWindow(null, form.closest('.js-modal-container').attr('id'));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Gets field\n\t\t */\n\t\tgetField() {\n\t\t\treturn this.container.find('.js-changesjson-value');\n\t\t}\n\t\t/**\n\t\t * Gets related field\n\t\t */\n\t\tgetRelatedField() {\n\t\t\tlet relatedFieldName = this.getField().data('related-field');\n\t\t\treturn this.container.closest('form').find(`[name=${relatedFieldName}]`);\n\t\t}\n\t},\n\t/**\n\t * MultiReference\n\t */\n\tMultiReference: class MultiReference {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.select = container.find('.js-multi-reference');\n\t\t\tthis.form = container.closest('form');\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-multiReference-container')) {\n\t\t\t\treturn new MultiReference(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-multiReference-container').each((_, e) => {\n\t\t\t\tinstances.push(new MultiReference($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Set a value for the field\n\t\t *\n\t\t * @param   {jQuery}  field Field element\n\t\t * @param   {mixed}  value The value to set\n\t\t * @param   {object}  params Additional parameters [optional]\n\t\t *\n\t\t * @return  {mixed} The value that has been set\n\t\t */\n\t\tstatic setValue(field, value, params) {\n\t\t\tif (!(params && params['extend'])) {\n\t\t\t\tfield.val(null);\n\t\t\t}\n\t\t\tconst values = field.val();\n\t\t\t$.each(value, (id, label) => {\n\t\t\t\tif (!values.includes(id)) {\n\t\t\t\t\tfield.append(new Option(label, id, true, true));\n\t\t\t\t}\n\t\t\t});\n\t\t\tfield.trigger('change');\n\t\t\treturn field.val();\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\t$('.js-related-popup', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tapp.showRecordsList(this.getParams(), (_modal, instance) => {\n\t\t\t\t\t\tinstance.setSelectEvent((data) => {\n\t\t\t\t\t\t\tthis.setReferenceFieldValue(data);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t$('.js-create-reference-record', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.createHandler();\n\t\t\t\t});\n\t\t\tthis.registerAutoComplete();\n\t\t}\n\t\t/**\n\t\t * Function which will handle the reference auto complete event registrations\n\t\t */\n\t\tregisterAutoComplete() {\n\t\t\tApp.Fields.Picklist.showSelect2ElementView(this.select, {\n\t\t\t\tajax: {\n\t\t\t\t\tdata: function (item) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tsearch_value: item.term ?? '',\n\t\t\t\t\t\t\tpage: item.page\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tprocessResults: (data, params) => {\n\t\t\t\t\t\tlet items = new Array();\n\t\t\t\t\t\tif (!params.term) {\n\t\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\t\ttype: 'optgroup',\n\t\t\t\t\t\t\t\tname: this.select.attr('placeholder')\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (data.success) {\n\t\t\t\t\t\t\t$.each(data.result, (_, item) => {\n\t\t\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\t\t\tname: item.label,\n\t\t\t\t\t\t\t\t\tid: item.id\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tresults: items,\n\t\t\t\t\t\t\tpagination: {\n\t\t\t\t\t\t\t\tmore: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Set reference field value\n\t\t */\n\t\tcreateHandler() {\n\t\t\tlet formData = this.form.serializeFormData();\n\t\t\tdelete formData['action'];\n\t\t\tApp.Components.QuickCreate.createRecord($('.js-popup-reference-module', this.container).val(), {\n\t\t\t\tdata: {\n\t\t\t\t\tsourceRecordData: formData\n\t\t\t\t},\n\t\t\t\tcallbackFunction: (data) => {\n\t\t\t\t\tif (data.success) {\n\t\t\t\t\t\tthis.select.append(new Option(data.result._recordLabel, data.result._recordId, true, true));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tnoCache: true\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Set reference field value\n\t\t * @param {object} data\n\t\t */\n\t\tsetReferenceFieldValue(data) {\n\t\t\tconst values = this.select.val();\n\t\t\t$.each(data, (id, label) => {\n\t\t\t\tif (!values.includes(id)) {\n\t\t\t\t\tthis.select.append(new Option(label, id, true, true));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Gets params\n\t\t * @returns {Object}\n\t\t */\n\t\tgetParams() {\n\t\t\tconst referenceModule = $('.js-popup-reference-module', this.container).val(),\n\t\t\t\tsourceFieldName = this.select.attr('name').slice(0, -2),\n\t\t\t\tsourceRecordElement = $('input[name=\"record\"]', this.form),\n\t\t\t\tlistFilterFieldsJson = this.form.find('input[name=\"listFilterFields\"]').val(),\n\t\t\t\tlistFilterFields = listFilterFieldsJson ? JSON.parse(listFilterFieldsJson) : [];\n\t\t\tlet sourceRecordId = '';\n\t\t\tif (sourceRecordElement.length > 0) {\n\t\t\t\tsourceRecordId = sourceRecordElement.val();\n\t\t\t}\n\t\t\tlet filterFields = {};\n\t\t\tif (\n\t\t\t\tlistFilterFields[sourceFieldName] != undefined &&\n\t\t\t\tlistFilterFields[sourceFieldName][referenceModule] != undefined\n\t\t\t) {\n\t\t\t\t$.each(listFilterFields[sourceFieldName][referenceModule], (index) => {\n\t\t\t\t\tlet mapFieldElement = this.form.find('[name=\"' + index + '\"]');\n\t\t\t\t\tif (mapFieldElement.length && mapFieldElement.val() != '') {\n\t\t\t\t\t\tfilterFields[index] = mapFieldElement.val();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tmodule: referenceModule,\n\t\t\t\tsrc_module: $('input[name=\"module\"]', this.form).val(),\n\t\t\t\tsrc_field: sourceFieldName,\n\t\t\t\tsrc_record: sourceRecordId,\n\t\t\t\tfilterFields: filterFields,\n\t\t\t\tmulti_select: true\n\t\t\t};\n\t\t}\n\t},\n\t/**\n\t * Password\n\t */\n\tPassword: class Password {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-pwd-container')) {\n\t\t\t\treturn new Password(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-pwd-container').each((_, e) => {\n\t\t\t\tinstances.push(new Password($(e)));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Get strength meter\n\t\t * @returns {Object}\n\t\t */\n\t\tstatic getStrengthLevels() {\n\t\t\tif (!this.strengthLevels) {\n\t\t\t\tthis.strengthLevels = {\n\t\t\t\t\t0: app.vtranslate('JS_PWD_RIDICULOUS'),\n\t\t\t\t\t1: app.vtranslate('JS_PWD_VERY_WEAK'),\n\t\t\t\t\t2: app.vtranslate('JS_PWD_WEAK'),\n\t\t\t\t\t3: app.vtranslate('JS_PWD_MEDIUM'),\n\t\t\t\t\t4: app.vtranslate('JS_PWD_STRONG'),\n\t\t\t\t\t5: app.vtranslate('JS_PWD_VERY_STRONG')\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn { ...this.strengthLevels };\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\tconst field = this.getField();\n\t\t\t$('.js-pwd-auto-generate', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', (e) => {\n\t\t\t\t\tthis.getResponse($(e.currentTarget).data('url')).then((response) => {\n\t\t\t\t\t\tif (response.success && response.result && response.result.pwd) {\n\t\t\t\t\t\t\tthis.clear();\n\t\t\t\t\t\t\tfield.val(response.result.pwd).trigger('keyup').focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t$('.js-pwd-validate', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', (e) => {\n\t\t\t\t\tthis.getResponse($(e.currentTarget).data('url') + '&password=' + field.val()).then((response) => {\n\t\t\t\t\t\tif (response.success && response.result) {\n\t\t\t\t\t\t\tlet message = response.result.message;\n\t\t\t\t\t\t\tif (Array.isArray(message)) {\n\t\t\t\t\t\t\t\tmessage = message.join('<br>');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfield.validationEngine('showPrompt', message, response.result.type, 'topLeft', true);\n\t\t\t\t\t\t\tfield.validationEngine('updatePromptsPosition');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t$('.js-pwd-clear', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.clear();\n\t\t\t\t});\n\t\t\t$('.js-pwd-copy', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tif (this.container.find('.js-pwd-show').attr('disabled') === 'disabled') {\n\t\t\t\t\t\tthis.getPassword().then((response) => {\n\t\t\t\t\t\t\tthis.clear();\n\t\t\t\t\t\t\tfield.val(response.result.text);\n\t\t\t\t\t\t\tClipboardJS.copy(response.result.text);\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_NOTIFY_COPY_TEXT'),\n\t\t\t\t\t\t\t\ttype: 'success'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tClipboardJS.copy(this.getField().val());\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_NOTIFY_COPY_TEXT'),\n\t\t\t\t\t\t\ttype: 'success'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t$('.js-pwd-get', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.getPassword().then((response) => {\n\t\t\t\t\t\tthis.clear();\n\t\t\t\t\t\tfield.val(response.result.text);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tif (field.data('strengthMeter')) {\n\t\t\t\tfield.off('keyup').on('keyup', (e) => {\n\t\t\t\t\tlet score = this.strengthMeter(e.target.value || '');\n\t\t\t\t\tfield\n\t\t\t\t\t\t.attr('data-original-title', App.Fields.Password.getStrengthLevels()[score])\n\t\t\t\t\t\t.tooltip('show')\n\t\t\t\t\t\t.validationEngine('hide');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Get decoded password\n\t\t * @returns {Promise}\n\t\t */\n\t\tgetPassword() {\n\t\t\tconst field = this.getField();\n\t\t\treturn this.getResponse({\n\t\t\t\tmodule: field.data('module'),\n\t\t\t\tfield: field.attr('name'),\n\t\t\t\trecord: $('input[name=\"record\"]', this.container.closest('form')).val() || app.getRecordId(),\n\t\t\t\taction: 'Password',\n\t\t\t\tmode: 'getPwd'\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Clear data\n\t\t */\n\t\tclear() {\n\t\t\tthis.getField().val('').attr('disabled', false).tooltip('dispose').validationEngine('hide');\n\t\t\tthis.container.find('.js-pwd-validate, .js-pwd-show').attr('disabled', false);\n\t\t}\n\t\t/**\n\t\t * Get response\n\t\t * @param {Object|string} params\n\t\t * @returns {Promise}\n\t\t */\n\t\tgetResponse(params) {\n\t\t\tconst aDeferred = $.Deferred();\n\t\t\tlet progressIndicatorElement = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\tAppConnector.request(params)\n\t\t\t\t.done((response) => {\n\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\tif (response.success) {\n\t\t\t\t\t\taDeferred.resolve(response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taDeferred.reject(response);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.fail((_) => {\n\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t});\n\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\taDeferred.reject(_);\n\t\t\t\t});\n\t\t\treturn aDeferred.promise();\n\t\t}\n\t\t/**\n\t\t * Get strength meter score\n\t\t * @param {string} pwd\n\t\t * @returns {int}\n\t\t */\n\t\tstrengthMeter(pwd) {\n\t\t\tlet score = 0;\n\t\t\tif (pwd.length > 6) score++;\n\t\t\tif (pwd.match(/[a-z]/) && pwd.match(/[A-Z]/)) score++;\n\t\t\tif (pwd.match(/\\d+/)) score++;\n\t\t\tif (pwd.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) score++;\n\t\t\tif (pwd.length > 12) score++;\n\n\t\t\treturn score;\n\t\t}\n\t\t/**\n\t\t * Gets field\n\t\t */\n\t\tgetField() {\n\t\t\treturn this.container.find('.js-pwd-field');\n\t\t}\n\t},\n\t/**\n\t * Multi Attachment\n\t */\n\tMultiAttachment: class MultiAttachment {\n\t\t/**\n\t\t * Constructor\n\t\t * @param {jQuery} container\n\t\t * @param {Object} options\n\t\t */\n\t\tconstructor(container, options) {\n\t\t\tthis.container = container;\n\t\t\tthis.fileInput = container.find('.js-multi-attachment__file').eq(0);\n\t\t\tthis.dataInput = container.find('.js-multi-attachment__values');\n\t\t\tthis.form = container.closest('form');\n\n\t\t\tthis.progressBar = container.find('.js-multi-attachment__progress-bar');\n\t\t\tthis.progress = container.find('.js-multi-attachment__progress');\n\t\t\tthis.result = container.find('.js-multi-attachment__result');\n\t\t\tthis.files = this.dataInput.is('input') ? JSON.parse(this.dataInput.val()) : this.dataInput.data('value');\n\n\t\t\tlet fieldInfo = this.dataInput.data('fieldinfo') || {};\n\t\t\tthis.options = {\n\t\t\t\tformats: fieldInfo.formats || [],\n\t\t\t\tlimit: fieldInfo.limit || 1,\n\t\t\t\tmaxFileSize: fieldInfo.maxFileSize,\n\t\t\t\tmaxFileSizeDisplay: fieldInfo.maxFileSizeDisplay || '',\n\t\t\t\t...options\n\t\t\t};\n\t\t\tif (this.form.length && this.fileInput.length) {\n\t\t\t\tthis.initEditView();\n\t\t\t} else {\n\t\t\t\tthis.initDetailView();\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t * @param {Object} options\n\t\t */\n\t\tstatic register(container, options = {}) {\n\t\t\tif (container.hasClass('js-multi-attachment')) {\n\t\t\t\treturn new MultiAttachment(container, options);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-multi-attachment').each((_, e) => {\n\t\t\t\tinstances.push(new MultiAttachment($(e), options));\n\t\t\t});\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation for detail view\n\t\t */\n\t\tinitDetailView() {\n\t\t\tthis.files.forEach((fileInfo) => {\n\t\t\t\tthis.createItem(fileInfo);\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Initiation for edit view\n\t\t */\n\t\tinitEditView() {\n\t\t\tthis.fileInput.detach();\n\t\t\tthis.container.on('mouseup', this.openBrowser.bind(this));\n\t\t\tthis.fileInput.fileupload({\n\t\t\t\tdataType: 'json',\n\t\t\t\treplaceFileInput: false,\n\t\t\t\tfileInput: this.fileInput,\n\t\t\t\tautoUpload: false,\n\t\t\t\tsubmit: this.submit.bind(this),\n\t\t\t\tadd: this.add.bind(this),\n\t\t\t\tprogressall: this.progressAll.bind(this),\n\t\t\t\tchange: this.change.bind(this),\n\t\t\t\tdrop: this.change.bind(this),\n\t\t\t\tdragover: this.dragOver.bind(this),\n\t\t\t\tfail: this.uploadError.bind(this),\n\t\t\t\tdone: this.uploadSuccess.bind(this)\n\t\t\t});\n\t\t\tthis.container.on('dragleave', this.dragLeave.bind(this));\n\t\t\tthis.container.on('dragend', this.dragLeave.bind(this));\n\t\t\tthis.fileInput.fileupload('option', 'dropZone', this.container);\n\t\t\tthis.enableDragNDrop();\n\t\t\tthis.form.on('submit', this.onFormSubmit.bind(this));\n\t\t\tthis.deleteButtonActive = true;\n\t\t\tthis.container.on('click', '.js-multi-attachment__file-buttons-delete', (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.deleteFile(e.currentTarget.dataset.key);\n\t\t\t});\n\t\t\tthis.files.forEach((fileInfo) => {\n\t\t\t\tthis.createItem(fileInfo);\n\t\t\t});\n\t\t\tthis.filesActive = 0;\n\t\t}\n\t\t/**\n\t\t * Add event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tadd(e, data) {\n\t\t\tif (data.files.length > 0) {\n\t\t\t\tdata.submit();\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Submit event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tsubmit(e, data) {\n\t\t\tthis.filesActive++;\n\t\t\tthis.progressInstance = $.progressIndicator({\n\t\t\t\tposition: 'replace',\n\t\t\t\tblockInfo: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\telementToBlock: this.container\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Prevent form submission before file upload end\n\t\t * @param e\n\t\t */\n\t\tonFormSubmit(e) {\n\t\t\tif (this.filesActive) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t\tapp.showAlert(app.vtranslate('JS_WAIT_FOR_FILE_UPLOAD'));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\t/**\n\t\t * Progressall event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tprogressAll(e, data) {\n\t\t\tconst progress = parseInt((data.loaded / data.total) * 100, 10);\n\t\t\tthis.progressBar.css({ width: progress + '%' });\n\t\t\tif (progress === 100) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.progress.addClass('d-none');\n\t\t\t\t\tthis.progressBar.css({ width: '0%' });\n\t\t\t\t}, 1000);\n\t\t\t} else {\n\t\t\t\tthis.progress.removeClass('d-none');\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * File change event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {object} data\n\t\t */\n\t\tchange(e, data) {\n\t\t\tlet { valid, error } = this.filterFiles(data.files);\n\t\t\tdata.files = valid;\n\t\t\tif (!valid.length) {\n\t\t\t\tthis.fileInput.val('');\n\t\t\t}\n\t\t\tif (error.length) {\n\t\t\t\tthis.showErrors(error);\n\t\t\t}\n\t\t\tthis.dragLeave(e);\n\t\t}\n\t\t/**\n\t\t * Get only valid files from list\n\t\t *\n\t\t * @param {Array} files\n\t\t * @returns {Object}\n\t\t */\n\t\tfilterFiles(files) {\n\t\t\tlet valid = [],\n\t\t\t\terror = [];\n\t\t\tif (files.length + this.files.length > this.options.limit) {\n\t\t\t\terror.push({ error: { text: `${app.vtranslate('JS_FILE_LIMIT')} [${this.options.limit}]` } });\n\t\t\t} else {\n\t\t\t\tfor (let file of files) {\n\t\t\t\t\tthis.validateFileType(file) && this.validateFileSize(file) ? valid.push(file) : error.push(file);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { valid, error };\n\t\t}\n\t\t/**\n\t\t * Validate maximum file size\n\t\t * @param {Object} file\n\t\t * @returns {Boolean}\n\t\t */\n\t\tvalidateFileSize(file) {\n\t\t\tlet result = typeof file.size === 'number' && file.size < this.options.maxFileSize;\n\t\t\tif (!result) {\n\t\t\t\tfile.error = {\n\t\t\t\t\ttitle: `${app.vtranslate('JS_UPLOADED_FILE_SIZE_EXCEEDS')} <br> [${this.options.maxFileSizeDisplay}]`,\n\t\t\t\t\ttext: file.name\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\t/**\n\t\t * Validate file\n\t\t *\n\t\t * @param {Object} file\n\t\t * @returns {boolean}\n\t\t */\n\t\tvalidateFileType(file) {\n\t\t\tlet result =\n\t\t\t\t!this.options.formats.length ||\n\t\t\t\tthis.options.formats.filter((format) => {\n\t\t\t\t\treturn file.type === format || (format.slice(-2) === '/*' && file.type.indexOf(format.slice(0, -1)) === 0);\n\t\t\t\t}).length > 0;\n\t\t\tif (!result) {\n\t\t\t\tfile.error = { title: app.vtranslate('JS_INVALID_FILE_TYPE'), text: file.name };\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\t/**\n\t\t * Show errors\n\t\t */\n\t\tshowErrors(errors = []) {\n\t\t\tfor (let info of errors) {\n\t\t\t\tthis.showError(info.error);\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Show error\n\t\t */\n\t\tshowError(error) {\n\t\t\tif (typeof error.type === 'undefined') {\n\t\t\t\terror.type = 'error';\n\t\t\t}\n\t\t\terror.textTrusted = false;\n\t\t\tapp.showNotify(error);\n\t\t}\n\t\t/**\n\t\t * Dragover event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t */\n\t\tdragOver(_e) {\n\t\t\tthis.container.addClass('c-multi-image__drop-effect');\n\t\t}\n\t\t/**\n\t\t * Dragleave event handler\n\t\t * @param {Event} e\n\t\t */\n\t\tdragLeave(_e) {\n\t\t\tthis.container.removeClass('c-multi-image__drop-effect');\n\t\t}\n\t\t/**\n\t\t * Error event handler from file upload request\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tuploadError(_e, data) {\n\t\t\tthis.progressInstance.progressIndicator({ mode: 'hide' });\n\t\t\tthis.filesActive--;\n\t\t\tapp.errorLog('File upload error.');\n\t\t\tconst { jqXHR, files } = data;\n\t\t\tif (typeof jqXHR.responseJSON === 'undefined' || jqXHR.responseJSON === null) {\n\t\t\t\treturn this.showError({\n\t\t\t\t\ttitle: app.vtranslate('JS_FILE_UPLOAD_ERROR'),\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t}\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tthis.showError({\n\t\t\t\t\ttitle: app.vtranslate('JS_FILE_UPLOAD_ERROR'),\n\t\t\t\t\ttext: file.name,\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t});\n\t\t\tthis.updateFormValues();\n\t\t}\n\t\t/**\n\t\t * Success event handler from file upload request\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tuploadSuccess(e, data) {\n\t\t\tthis.progressInstance.progressIndicator({ mode: 'hide' });\n\t\t\tconst { result } = data;\n\t\t\tconst attach = result.result.attach;\n\t\t\tattach.forEach((fileAttach) => {\n\t\t\t\tthis.filesActive--;\n\t\t\t\tif (typeof fileAttach.key === 'undefined') {\n\t\t\t\t\treturn this.uploadError(e, data);\n\t\t\t\t}\n\t\t\t\tif (typeof fileAttach.info !== 'undefined' && fileAttach.info) {\n\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\ttype: 'notice',\n\t\t\t\t\t\ttext: fileAttach.info\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthis.files.push(fileAttach);\n\t\t\t\tconst fileInfo = this.getFileInfo(fileAttach.key);\n\t\t\t\tthis.createItem(fileInfo);\n\t\t\t});\n\t\t\tthis.updateFormValues();\n\t\t}\n\t\t/**\n\t\t * Get file information\n\t\t *\n\t\t * @param {String} key - file id\n\t\t * @returns {Object}\n\t\t */\n\t\tgetFileInfo(key) {\n\t\t\tfor (let i = 0, len = this.files.length; i < len; i++) {\n\t\t\t\tconst file = this.files[i];\n\t\t\t\tif (file.key === key) {\n\t\t\t\t\treturn file;\n\t\t\t\t}\n\t\t\t}\n\t\t\tapp.errorLog(`File '${key}' not found.`);\n\t\t\tapp.showNotify({\n\t\t\t\ttext: app.vtranslate('JS_INVALID_FILE_HASH'),\n\t\t\t\ttype: 'error'\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Generate preview of image as html string from existing values\n\t\t * @param {Object} file\n\t\t */\n\t\tcreateItem(file) {\n\t\t\tconst item = document.createElement('fieldset');\n\t\t\titem.setAttribute('class', 'c-multi-attachment--file bg-light js-handle');\n\t\t\titem.setAttribute('data-key', file.key);\n\n\t\t\tconst legend = document.createElement('legend');\n\t\t\tlegend.appendChild(document.createTextNode(file.name));\n\t\t\titem.appendChild(legend);\n\n\t\t\tconst icon = document.createElement('div');\n\t\t\ticon.setAttribute('class', 'c-multi-attachment--file-icon');\n\t\t\tconst span = document.createElement('span');\n\t\t\tspan.setAttribute('class', file.icon);\n\t\t\ticon.appendChild(span);\n\t\t\titem.appendChild(icon);\n\n\t\t\tconst fileInfo = document.createElement('div');\n\t\t\tfileInfo.setAttribute('class', 'c-multi-attachment--file-info');\n\t\t\tconst name = document.createElement('span');\n\t\t\tname.setAttribute('class', 'c-multi-attachment--file-info-main');\n\t\t\tname.setAttribute('aria-hidden', true);\n\t\t\tname.appendChild(document.createTextNode(file.name));\n\t\t\tfileInfo.appendChild(name);\n\t\t\tconst size = document.createElement('span');\n\t\t\tsize.setAttribute('class', 'c-multi-attachment--file-info-sub');\n\t\t\tsize.appendChild(document.createTextNode(file.sizeDisplay));\n\t\t\tfileInfo.appendChild(size);\n\t\t\titem.appendChild(fileInfo);\n\n\t\t\tconst buttons = document.createElement('div');\n\t\t\tbuttons.setAttribute('class', 'js-multi-attachment__file-buttons');\n\n\t\t\tif (file.url) {\n\t\t\t\tconst downloadBtn = document.createElement('a');\n\t\t\t\tdownloadBtn.setAttribute('class', 'btn btn-sm btn-outline-success js-multi-attachment__file-buttons-download');\n\t\t\t\tdownloadBtn.setAttribute('href', file.url);\n\t\t\t\tdownloadBtn.setAttribute('download', file.name);\n\t\t\t\tdownloadBtn.setAttribute('title', $('<textarea />').html(app.vtranslate('JS_DOWNLOAD')).text());\n\t\t\t\tconst downloadBtnIcon = document.createElement('span');\n\t\t\t\tdownloadBtnIcon.setAttribute('class', 'fa fa-download');\n\t\t\t\tdownloadBtn.appendChild(downloadBtnIcon);\n\t\t\t\tbuttons.appendChild(downloadBtn);\n\t\t\t}\n\t\t\tif (this.deleteButtonActive && !file.lock) {\n\t\t\t\tconst deleteBtn = document.createElement('button');\n\t\t\t\tdeleteBtn.setAttribute('class', 'btn btn-sm btn-outline-danger js-multi-attachment__file-buttons-delete ml-1');\n\t\t\t\tdeleteBtn.setAttribute('data-key', file.key);\n\t\t\t\tdeleteBtn.setAttribute('title', $('<textarea />').html(app.vtranslate('JS_DELETE')).text());\n\t\t\t\tconst deleteBtnIcon = document.createElement('span');\n\t\t\t\tdeleteBtnIcon.setAttribute('class', 'fa fa-trash-alt');\n\t\t\t\tdeleteBtn.appendChild(deleteBtnIcon);\n\t\t\t\tbuttons.appendChild(deleteBtn);\n\t\t\t}\n\n\t\t\titem.appendChild(buttons);\n\t\t\tthis.result.append(item);\n\t\t}\n\t\t/**\n\t\t * Enable drag and drop files repositioning\n\t\t */\n\t\tenableDragNDrop() {\n\t\t\tthis.result\n\t\t\t\t.sortable({\n\t\t\t\t\tcontainment: this.container,\n\t\t\t\t\titems: '.js-handle',\n\t\t\t\t\tstop: this.sortStop.bind(this)\n\t\t\t\t})\n\t\t\t\t.disableSelection();\n\t\t}\n\t\t/**\n\t\t * Prevent form submission\n\t\t *\n\t\t * @param {Event} e\n\t\t */\n\t\topenBrowser(e) {\n\t\t\tif (!e.target.closest('fieldset')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.fileInput.trigger('click');\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Update file position according to elements order\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} ui\n\t\t */\n\t\tsortStop(e, ui) {\n\t\t\tconst actualElements = this.result.find('fieldset').toArray();\n\t\t\tthis.files = actualElements.map((element) => {\n\t\t\t\tfor (let i = 0, len = this.files.length; i < len; i++) {\n\t\t\t\t\tconst elementHash = $(element).data('key');\n\t\t\t\t\tif (this.files[i].key === elementHash) {\n\t\t\t\t\t\treturn this.files[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.updateFormValues();\n\t\t}\n\t\t/**\n\t\t * Remove file from preview and from file list\n\t\t *\n\t\t * @param {String} key\n\t\t */\n\t\tdeleteFile(key) {\n\t\t\tconst fileInfo = this.getFileInfo(key);\n\t\t\tthis.result.find(`[data-key=\"${fileInfo.key}\"]`).remove();\n\t\t\tthis.files = this.files.filter((file) => file.key !== fileInfo.key);\n\t\t\tthis.updateFormValues();\n\t\t}\n\n\t\t/**\n\t\t * Update form input values\n\t\t */\n\t\tupdateFormValues() {\n\t\t\tthis.fileInput.val('');\n\t\t\tconst formValues = this.files.map((file) => {\n\t\t\t\treturn { key: file.key, name: file.name, size: file.size, type: file.type };\n\t\t\t});\n\t\t\tthis.dataInput.val(JSON.stringify(formValues));\n\t\t}\n\t},\n\t/**\n\t * Icon\n\t */\n\tIcon: class Icon {\n\t\tconstructor(container) {\n\t\t\tthis.container = container;\n\t\t\tthis.init();\n\t\t}\n\t\t/**\n\t\t * Register function\n\t\t * @param {jQuery} container\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (container.hasClass('js-icon-container')) {\n\t\t\t\treturn new Icon(container);\n\t\t\t}\n\t\t\tconst instances = [];\n\t\t\tcontainer.find('.js-icon-container').each((_, e) => {\n\t\t\t\tinstances.push(new Icon($(e)));\n\t\t\t});\n\n\t\t\treturn instances;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\tthis.iconElement = $('.js-icon-show', this.container);\n\t\t\t$('.js-clear-selection', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.clear();\n\t\t\t\t});\n\t\t\t$('.js-icon-select', this.container)\n\t\t\t\t.off('click')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tApp.Components.Icons.modalView().done((data) => {\n\t\t\t\t\t\tif (data.type === 'icon') {\n\t\t\t\t\t\t\tconst span = document.createElement('span');\n\t\t\t\t\t\t\tspan.setAttribute('class', data.name);\n\t\t\t\t\t\t\tthis.iconElement.html('').append(span);\n\t\t\t\t\t\t} else if (data.type === 'image') {\n\t\t\t\t\t\t\tconst image = document.createElement('img');\n\t\t\t\t\t\t\timage.setAttribute('class', 'icon-img--picklist');\n\t\t\t\t\t\t\timage.setAttribute('src', data.src);\n\t\t\t\t\t\t\tthis.iconElement.html('').append(image);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setValue(data);\n\t\t\t\t\t\tthis.setDisplayValue(data.name);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Clear selection\n\t\t */\n\t\tclear() {\n\t\t\tlet element = this.getField();\n\t\t\tlet fieldName = element.attr('name');\n\t\t\telement.val('');\n\t\t\tthis.container.find(`#${fieldName}_display`).val('');\n\t\t\tthis.iconElement.html('');\n\t\t}\n\t\t/**\n\t\t * Set icon name\n\t\t * @param {string} data\n\t\t */\n\t\tsetDisplayValue(name) {\n\t\t\tlet fieldName = this.getField().attr('name');\n\t\t\tthis.container.find(`#${fieldName}_display`).val(name).attr('readonly', true);\n\t\t}\n\t\t/**\n\t\t * Set value\n\t\t * @param {Object} data\n\t\t */\n\t\tsetValue(data) {\n\t\t\tlet { type, name } = data;\n\t\t\tif (data.key) {\n\t\t\t\tname = data.key;\n\t\t\t}\n\t\t\tthis.getField().val(JSON.stringify({ type: type, name: name }));\n\t\t}\n\t\t/**\n\t\t * Gets field\n\t\t */\n\t\tgetField() {\n\t\t\treturn this.container.find('.js-source-field');\n\t\t}\n\t},\n\tUtils: {\n\t\tregisterMobileDateRangePicker(element) {\n\t\t\tthis.hideMobileKeyboard(element);\n\t\t\tif (!Quasar.plugins.Platform.is.desktop) {\n\t\t\t\telement\n\t\t\t\t\t.on('showCalendar.daterangepicker', (ev, picker) => {\n\t\t\t\t\t\tpicker.container.addClass('js-visible');\n\t\t\t\t\t})\n\t\t\t\t\t.on('hide.daterangepicker', (ev, picker) => {\n\t\t\t\t\t\tpicker.container.removeClass('js-visible');\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thideMobileKeyboard(element) {\n\t\t\tif (!Quasar.plugins.Platform.is.desktop) {\n\t\t\t\telement.attr('readonly', 'true').addClass('bg-white');\n\t\t\t}\n\t\t},\n\t\tpositionPicker(ev, picker) {\n\t\t\tlet offset = picker.element.offset();\n\t\t\tlet $window = $(window);\n\t\t\tif (offset.left - $window.scrollLeft() + picker.container.outerWidth() > $window.width()) {\n\t\t\t\tpicker.opens = 'left';\n\t\t\t} else {\n\t\t\t\tpicker.opens = 'right';\n\t\t\t}\n\t\t\tpicker.move();\n\t\t\tif (offset.top - $window.scrollTop() + picker.container.outerHeight() > $window.height()) {\n\t\t\t\tpicker.drops = 'up';\n\t\t\t} else {\n\t\t\t\tpicker.drops = 'down';\n\t\t\t}\n\t\t\tpicker.move();\n\t\t},\n\t\t/**\n\t\t * Set a value for the field\n\t\t *\n\t\t * @param   {jQuery}  field Field element\n\t\t * @param   {mixed}  value The value to set\n\t\t * @param   {object}  params Additional parameters [optional]\n\t\t * @param   {boolean}  animation\n\t\t */\n\t\tsetValue(field, value, params, animation = true) {\n\t\t\tconst fieldInfo = field.data('fieldinfo');\n\t\t\tswitch (fieldInfo['type']) {\n\t\t\t\tcase 'picklist':\n\t\t\t\tcase 'languages':\n\t\t\t\tcase 'country':\n\t\t\t\tcase 'currencyList':\n\t\t\t\tcase 'modules':\n\t\t\t\t\tApp.Fields.Picklist.setValue(field, value, params);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'multiReference':\n\t\t\t\t\tApp.Fields.MultiReference.setValue(field, value, params);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tfield.val(value);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (animation) {\n\t\t\t\tconst fieldValue = field.closest('.fieldValue');\n\t\t\t\tfieldValue.addClass('border border-info');\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tfieldValue.removeClass('border border-info');\n\t\t\t\t}, 5000);\n\t\t\t}\n\t\t}\n\t}\n};\n"],"names":["_class","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e2","f","TypeError","err","normalCompletion","didErr","call","step","next","_e3","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_typeof","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","window","App","Fields","Date","months","monthsTranslated","map","monthName","app","vtranslate","fullMonths","fullMonthsTranslated","days","daysTranslated","fullDays","fullDaysTranslated","register","parentElement","registerForAddon","customParams","className","$","elements","hasClass","parentDateElem","closest","on","currentTarget","find","get","focus","format","CONFIG","dateFormat","elementDateFormat","data","fn","datepicker","dates","langKey","daysShort","daysMin","monthsShort","today","clear","titleFormat","weekStart","firstDayOfWeekNo","params","todayBtn","clearBtn","language","autoclose","todayHighlight","extend","each","_index","element","assign","enableOnReadonly","hasAttribute","Utils","hideMobileKeyboard","registerRange","toUpperCase","ranges","moment","add","subtract","startOf","endOf","locale","DateTime","getDefaultLocale","autoUpdateInput","autoApply","off","parent","el","currentParams","daterangepicker","_ev","picker","val","startDate","endDate","trigger","ev","positionPicker","container","addClass","removeClass","registerMobileDateRangePicker","getDateInstance","dateTime","dateTimeComponents","split","dateComponent","timeComponent","seconds","dotMode","indexOf","splittedDate","splittedDateFormat","year","month","day","dateInstance","parse","isNaN","timeSections","toLowerCase","parseInt","dateToDbFormat","date","d","getDate","m","getMonth","y","getFullYear","dateToUserFormat","replace","getLastMonthDay","howManyDaysFromDate","toTime","getTime","Math","floor","convertToDatePickerFormat","init","hourFormat","elementHourFormat","timePicker24Hour","timeFormat","isDateRangePicker","parentEl","singleDatePicker","showDropdowns","timePicker","timePickerIncrement","opens","prop","instances","_","separator","applyLabel","cancelLabel","fromLabel","toLabel","customRangeLabel","weekLabel","substr","firstDay","daysOfWeek","monthNames","Time","Colors","getColorContrast","hexcolor","g","b","getRandomColor","letters","color","random","getRandomColors","count","colors","showPicker","_ref","fieldToUpdate","bgToUpdate","cb","url","concat","showModalWindow","registerPickerEvents","modalContainer","ColorPicker","mount","currentColor","newColor","getColor","hex","css","hideModalWindow","id","bind","Text","registerCopyClipboard","querySelectorAll","ClipboardJS","text","showNotify","type","is","Editor","initialization","CKEDITOR","disableAutoInline","plugins","addExternal","getMainParams","config","toolbar","height","isModal","self","progressInstance","progressIndicator","blockInfo","enabled","onBlock","loadEditor","destroyEditor","setElement","getElement","getElementId","attr","getEditorInstanceFromName","customConfig","_this","allowedContent","disableNativeSpellChecker","extraAllowedContent","format_tags","removeButtons","enterMode","ENTER_BR","shiftEnterMode","ENTER_P","emojiEnabled","mentionsEnabled","clipboard_handleImages","instanceReady","evt","editor","updateElement","mode","beforeCommandExec","validate","removePlugins","extraPlugins","toolbar_Full","items","toolbar_Min","toolbar_Micro","toolbar_Clipboard","toolbar_PDF","emojiToolbar","outputTemplate","mentions","registerMentions","remove","ckeditor","minSerchTextLength","feed","getMentionUsersData","itemTemplate","minChars","getMentionData","marker","pattern","opts","callback","status","form","module","action","purifyMode","fieldName","fieldValue","AppConnector","request","async","result","raw","fail","Completions","inputDiv","eq","completionsCollection","records","users","emojis","autolink","collection","registerMentionCollection","registerEmojiCollection","symbol","searchModule","selectTemplate","item","range","isContentEditable","current","original","label","trim","values","globalSearchAutocompleteMinLength","menuItemTemplate","mentionTemplate","category","image","icon","lookup","fillAttr","emoji","avatar","autoLink","offset","charCode","fillChar","sel","getSelection","getRangeAt","cloneRange","getParentByTagName","node","tags","isBody","tagName","parentNode","nodeType","html","str","\"&lt;\"","\"&amp;\"","\"&quot;\"","\"&gt;\"","\"&#39;\"","isFillChar","nodeValue","start","startContainer","startOffset","childNodes","setStart","collapse","previousSibling","lastChild","charCodeAt","RegExp","match","startCont","nextSibling","a","A","href","hrefFull","URL","allowedHosts","purifierAllowedDomains","host","document","createElement","createTextNode","appendChild","extractContents","innerHTML","setAttribute","insertNode","insertBefore","removeAllRanges","addRange","Tribute","allowSpaces","attach","completionsTextarea","registerCompletionsTextArea","completionsButtons","registerCompletionsButtons","registerAutoLinker","fetch","siteUrl","then","response","json","catch","error","console","registerTagClick","_this2","keyCode","textarea","siblings","preventDefault","append","clone","_this3","completionsContainer","parents","showMenuForCollection","basicSearch","Vtiger_BasicSearch_Js","reduceNumberResults","returnHtml","query","search","JSON","serverDataFormat","reponseDataList","responseData","destroy","generateRandomChar","rand","substring","generateRandomHash","prefix","hash","valueOf","Picklist","changeSelectElementView","view","viewParams","_this4","select2Elements","toArray","elem","showSelect2ElementView","errorLog","Error","selectElement","_this5","registerParams","selectLazy","showLazySelect","lazyElements","registerLazySelectOptions","selectParams","computeDropdownHeight","dropdownContainer","setTimeout","dropdownList","selectOffsetTop","top","\"max-height\"","select","htmlBoolParams","tokenSeparators","select2","removeData","$dropdown","dropdown","$search","selectCb","dropdownParent","modalParent","theme","width","containerCssClass","noResults","removeAllItems","customSortOptGroup","optgroup","options","children","sort","aText","bText","v","prepend","maximumSelectionLength","formatSelectionTooBig","maximumSelected","limit","maximum","placeholder","templateResult","resultContainer","innerText","strong","file","templateSelection","span","registerAjaxParams","searching","inputTooShort","args","remainingChars","minimum","errorLoading","ajax","dataType","delay","method","term","page","processResults","success","results","pagination","more","cache","escapeMarkup","markup","minimumInputLength","prependDataTemplate","optionData","dataset","template","state","querySelector","classList","iconInactive","iconActive","registerSelectSortable","sortSelectOptions","registerSortEvent","sortableCb","appendTo","ul","first","sortable","tolerance","stop","reverse","optionTitle","registerIconsEvents","event","originalEvent","currentElementData","optionElement","progressIndicatorElement","message","_this6","amd","require","ArrayData","CustomData","$element","__super__","Extend","dataAdapter","selectedOption","picklistvalues","hasOwnProperty","createSelectedOption","selected","disabled","setValue","field","option","findOption","searchValue","foundOption","selectValues","getSelectOptions","getFieldValueFromText","valueExists","createOption","optionsObject","_i","newOption","Option","MultiImage","currentFileUploads","MultiEmail","$container","idx","multiEmailField","$multiEmailField","parseToJSON","toggleConsent","addItem","removeItem","$item","email","consent","stringify","$newItem","hide","show","$deleteBtn","$consentBox","toggle","MultiDependField","index","inputElement","fields","addRow","registerRow","parseToJson","removeRow","allFields","arrayLength","partData","skip","k","newField","lastField","last","selectFields","removeAttr","insertAfter","DependentSelect","generateOptionsFromData","_step","_iterator","masterSelect","slaveSelect","_step2","_iterator2","_step3","_iterator3","child","localeCompare","Gantt","GanttField","Integer","formatToDisplay","groupSeparator","currencyGroupingSeparator","groupingPattern","currencyGroupingPattern","parseFloat","toFixed","integer","Double","fixed","numberOfDecimal","noOfCurrencyDecimals","strDecimal","numberOfZerosAtTheEnd","base","pow","round","sign","splittedFloat","decimal","truncateTrailingZeros","currencyDecimalSeparator","formatToDb","join","Tree","modalEvent","autoCompleteEvent","clearSelectionEvent","_this7","sourceFieldElement","fieldDisplayElement","multiple","requestData","modalEvents","treeModal","modal","setSelectEvent","modalId","autoCompleteElement","autocomplete","minLength","source","parentElem","fieldInfo","allValues","responseDataList","ui","selectedItemData","change","open","menu","_this8","fieldElement","TimePeriod","time","period","injectContent","content","plus1btn","minus1btn","registerEvents","onChange","onPlus1Click","onMinus1Click","stopPropagation","MultiCurrency","_this9","registerEnableCurrencyEvent","registerResetCurrencyEvent","loadData","calculateConversionRate","validationEngine","validationEngineOptionsForRecord","saveCurrencies","getField","formatNumber","setPrice","getFieldToSave","baseCurrencyId","currencyId","currencies","price","row","enabledBaseCurrency","Vtiger_Helper_Js","showMessage","selectedBaseCurrency","selectedRow","baseCurrencyConversionRate","baseCurrencyRatePrevValue","getNumberFromValue","domElement","_this10","parentRow","title","_this11","MeetingUrl","_this12","addButton","valElement","getUrl","addEventsForDependentFields","formData","serializeFormData","expField","encodeURIComponent","roomName","formElement","_i3","_arr","domain","ChangesJson","_this13","record","changes","relatedField","getRelatedField","sourceModule","sourceField","saveData","_this14","invalidFields","InvalidFields","checkbox","changeData","_csrf","fieldNameShort","relatedFieldName","MultiReference","_this15","showRecordsList","getParams","_modal","setReferenceFieldValue","createHandler","registerAutoComplete","_this16","_item$term","search_value","_this17","Components","QuickCreate","createRecord","sourceRecordData","callbackFunction","_recordLabel","_recordId","noCache","_this18","includes","_this19","referenceModule","sourceFieldName","sourceRecordElement","listFilterFieldsJson","listFilterFields","sourceRecordId","filterFields","mapFieldElement","src_module","src_field","src_record","multi_select","Password","_this20","getResponse","pwd","getPassword","copy","score","strengthMeter","getStrengthLevels","tooltip","getRecordId","aDeferred","Deferred","resolve","reject","promise","strengthLevels","MultiAttachment","fileInput","dataInput","progressBar","progress","files","formats","maxFileSize","maxFileSizeDisplay","initEditView","initDetailView","_this21","fileInfo","createItem","_this22","detach","openBrowser","fileupload","replaceFileInput","autoUpload","submit","progressall","progressAll","drop","dragover","dragOver","uploadError","uploadSuccess","dragLeave","enableDragNDrop","onFormSubmit","deleteButtonActive","deleteFile","filesActive","position","elementToBlock","stopImmediatePropagation","showAlert","_this23","loaded","total","_this$filterFiles","filterFiles","valid","showErrors","_step4","_iterator4","validateFileType","validateFileSize","size","_step5","errors","_iterator5","info","showError","textTrusted","_e","_this24","jqXHR","responseJSON","updateFormValues","_this25","fileAttach","getFileInfo","legend","sizeDisplay","buttons","downloadBtn","downloadBtnIcon","lock","deleteBtn","deleteBtnIcon","containment","sortStop","disableSelection","_this26","actualElements","elementHash","formValues","Icon","_this27","iconElement","Icons","modalView","src","setDisplayValue","Quasar","Platform","desktop","$window","left","scrollLeft","outerWidth","move","drops","scrollTop","outerHeight","animation"],"mappings":"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"}