File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/calendar/install/js/calendar/controls/dist/controls.bundle.js.map
Back
{"version":3,"file":"controls.bundle.js","sources":["../src/timeselector.js","../src/reminder.js","../src/location.js","../src/userselector.js","../src/colorselector.js","../src/sectionselector.js","../src/repeatselector.js","../src/selectinput.js","../src/popupdialog.js","../src/viewselector.js","../src/lineviewselector.js","../src/addbutton.js","../src/meetingstatuscontrol.js","../src/confirmstatusdialog.js","../src/confirmeditdialog.js","../src/confirmdeletedialog.js","../src/datetimecontrol.js","../src/busyusersdialog.js","../src/userplannerselector.js","../src/reinviteuserdialog.js","../src/emailselectorcontrol.js","../src/confirmedemaildialog.js","../src/emaillimitationdialog.js","../src/attendeeslist.js"],"sourcesContent":["import {Util} from 'calendar.util';\nimport {Type} from 'main.core';\n\nexport class TimeSelector {\n\tZ_INDEX = 4000;\n\tMIN_WIDTH = 102;\n\tstatic valueList = null;\n\n\tconstructor(params)\n\t{\n\t\tthis.DOM = {\n\t\t\twrap: params.wrap,\n\t\t\tinput: params.input\n\t\t};\n\n\t\tthis.onChangeCallback = Type.isFunction(params.onChangeCallback) ? params.onChangeCallback : null;\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tthis.selectContol = new BX.Calendar.Controls.SelectInput({\n\t\t\tinput: this.DOM.input,\n\t\t\tzIndex: this.Z_INDEX,\n\t\t\tvalues: TimeSelector.getValueList(),\n\t\t\tminWidth: this.MIN_WIDTH,\n\t\t\tonChangeCallback: () => {\n\t\t\t\tif (this.onChangeCallback)\n\t\t\t\t{\n\t\t\t\t\tthis.onChangeCallback(this.selectContol.getInputValue());\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic adaptTimeValue(timeValue)\n\t{\n\t\ttimeValue = parseInt(timeValue.h * 60) + parseInt(timeValue.m);\n\t\tlet\n\t\t\ttimeList = TimeSelector.getValueList(),\n\t\t\tdiff = 24 * 60,\n\t\t\tind = false,\n\t\t\ti;\n\n\t\tfor (i = 0; i < timeList.length; i++)\n\t\t{\n\t\t\tif (Math.abs(timeList[i].value - timeValue) < diff)\n\t\t\t{\n\t\t\t\tdiff = Math.abs(timeList[i].value - timeValue);\n\t\t\t\tind = i;\n\t\t\t\tif (diff <= 15)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn timeList[ind || 0];\n\t}\n\n\tstatic getValueList()\n\t{\n\t\tif (!TimeSelector.valueList)\n\t\t{\n\t\t\tTimeSelector.valueList = [];\n\t\t\tlet i;\n\t\t\tfor (i = 0; i < 24; i++)\n\t\t\t{\n\t\t\t\tTimeSelector.valueList.push({value: i * 60, label: Util.formatTime(i, 0)});\n\t\t\t\tTimeSelector.valueList.push({value: i * 60 + 30, label: Util.formatTime(i, 30)});\n\t\t\t}\n\t\t}\n\t\treturn TimeSelector.valueList;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tlet time;\n\t\tif (Type.isDate(value))\n\t\t{\n\t\t\ttime = {\n\t\t\t\th: value.getHours(),\n\t\t\t\tm: value.getMinutes()\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttime = Util.parseTime(value);\n\t\t}\n\n\t\tconst adaptedValue = TimeSelector.adaptTimeValue(time);\n\n\t\tthis.selectContol.setValue({value: adaptedValue.value});\n\n\t\tlet hour = Math.floor(adaptedValue.value / 60);\n\t\tlet min = (adaptedValue.value) - hour * 60;\n\n\t\tthis.DOM.input.value = Util.formatTime(hour, min);\n\t}\n}","import {Loc, Type, Dom, Tag, Event} from \"main.core\";\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {MenuManager, Popup} from 'main.popup';\nimport {Util} from 'calendar.util';\n\nexport class Reminder extends EventEmitter\n{\n\tstatic timeValueList = null;\n\tdefaultReminderTime = 540; // 9.00\n\tfullDayMode = false;\n\textendedMode = true;\n\tselectedValues = [];\n\tcontrolList = {};\n\tviewMode = false;\n\tDOM = {};\n\tchangedByUser = false;\n\n\tconstructor(params)\n\t{\n\t\tsuper();\n\n\t\tthis.setEventNamespace('BX.Calendar.Controls.Reminder');\n\t\tthis.values = this.getValues();\n\n\t\tthis.id = params.id || 'reminder-' + Math.round(Math.random() * 1000000);\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.rawValuesMap = new Map();\n\n\t\tthis.viewMode = params.viewMode === true;\n\t\tthis.changeCallack = params.changeCallack;\n\t\tthis.showPopupCallBack = params.showPopupCallBack;\n\t\tthis.hidePopupCallBack = params.hidePopupCallBack;\n\n\t\tthis.create(params);\n\t\tthis.setValue(params.selectedValues || []);\n\t\tthis.bindEventHandlers();\n\t}\n\n\tcreate(params)\n\t{\n\t\tif (Type.isElementNode(params.wrap))\n\t\t{\n\t\t\tthis.DOM.wrap = params.wrap;\n\t\t}\n\n\t\tif (!Type.isElementNode(this.DOM.wrap))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.addClass(this.DOM.wrap, 'calendar-notification-values');\n\n\t\tif (!this.viewMode)\n\t\t{\n\t\t\tthis.DOM.addButton = this.DOM.wrap.appendChild(Tag.render`\n\t\t\t\t<span class=\"calendar-notification-add-btn-wrap\">\n\t\t\t\t\t<span class=\"calendar-notification-text\">${Loc.getMessage('EC_REMIND1_ADD')}</span>\n\t\t\t\t\t<span class=\"calendar-notification-btn-container calendar-notification-btn-add\">\n\t\t\t\t\t\t<span class=\"calendar-notification-icon\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t</span>`);\n\t\t}\n\t}\n\n\tbindEventHandlers()\n\t{\n\t\tif (Type.isDomNode(this.DOM.addButton))\n\t\t{\n\t\t\tEvent.bind(this.DOM.addButton, 'click', this.showPopup.bind(this));\n\t\t}\n\n\t\tif (Type.isDomNode(this.DOM.wrap))\n\t\t{\n\t\t\tEvent.bind(this.DOM.wrap, 'click', this.handleClick.bind(this));\n\t\t}\n\t}\n\n\tgetValues()\n\t{\n\t\tlet values = [];\n\n\t\tif (!this.fullDayMode)\n\t\t{\n\t\t\tvalues = values.concat([\n\t\t\t\t{value: 0, label: Loc.getMessage(\"EC_REMIND1_0\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_0\")},\n\t\t\t\t{value: 5, label: Loc.getMessage(\"EC_REMIND1_5\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_5\")},\n\t\t\t\t{value: 10, label: Loc.getMessage(\"EC_REMIND1_10\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_10\")},\n\t\t\t\t{value: 15, label: Loc.getMessage(\"EC_REMIND1_15\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_15\")},\n\t\t\t\t{value: 20, label: Loc.getMessage(\"EC_REMIND1_20\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_20\")},\n\t\t\t\t{value: 30, label: Loc.getMessage(\"EC_REMIND1_30\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_30\")},\n\t\t\t\t{value: 60, label: Loc.getMessage(\"EC_REMIND1_60\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_60\")},\n\t\t\t\t{value: 120, label: Loc.getMessage(\"EC_REMIND1_120\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_120\")}\n\t\t\t\t//{value: 1440, label: Loc.getMessage(\"EC_REMIND1_1440\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_1440\")},\n\t\t\t\t//{value: 2880, label: Loc.getMessage(\"EC_REMIND1_2880\"), shortLabel: Loc.getMessage(\"EC_REMIND1_SHORT_2880\")}\n\t\t\t]);\n\t\t}\n\n\t\tif (this.extendedMode)\n\t\t{\n\t\t\tvalues = values.concat([\n\t\t\t\t{\n\t\t\t\t\tid: 'time-menu-day-0',\n\t\t\t\t\tlabel: Loc.getMessage(\"EC_REMIND1_DAY_0\"),\n\t\t\t\t\tdataset: {\n\t\t\t\t\t\tmode: 'time-menu',\n\t\t\t\t\t\tdaysBefore: 0,\n\t\t\t\t\t\ttime: this.defaultReminderTime\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'time-menu-day-1',\n\t\t\t\t\tlabel: Loc.getMessage(\"EC_REMIND1_DAY_1\"),\n\t\t\t\t\tdataset: {\n\t\t\t\t\t\tmode: 'time-menu',\n\t\t\t\t\t\tdaysBefore: 1,\n\t\t\t\t\t\ttime: this.defaultReminderTime\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'time-menu-day-2',\n\t\t\t\t\tlabel: Loc.getMessage(\"EC_REMIND1_DAY_2\"),\n\t\t\t\t\tdataset: {\n\t\t\t\t\t\tmode: 'time-menu',\n\t\t\t\t\t\tdaysBefore: 2,\n\t\t\t\t\t\ttime: this.defaultReminderTime\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'custom',\n\t\t\t\t\tlabel: Loc.getMessage(\"EC_REMIND1_CUSTOM\"),\n\t\t\t\t\tdataset: {\n\t\t\t\t\t\tmode: 'custom'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\n\t\treturn values;\n\t}\n\n\tsetValue(reminderList, emitChanges = true, changedByUser = true)\n\t{\n\t\tthis.selectedValues.forEach((value) => {\n\t\t\tthis.removeValue(value, emitChanges);\n\t\t});\n\n\t\tif (Type.isArray(reminderList))\n\t\t{\n\t\t\treminderList.forEach((value) => {this.addValue(value, emitChanges, changedByUser)}, this);\n\t\t}\n\t}\n\n\tgetSelectedValues()\n\t{\n\t\treturn this.selectedValues;\n\t}\n\n\tgetSelectedRawValues()\n\t{\n\t\tlet selectedRawValues = [];\n\t\tthis.selectedValues.forEach((value) => {\n\n\t\t\tselectedRawValues.push(this.rawValuesMap.get(value) || value);\n\t\t});\n\t\treturn selectedRawValues;\n\t}\n\n\tsetFullDayMode(fullDayMode)\n\t{\n\t\tif (fullDayMode !== this.fullDayMode)\n\t\t{\n\t\t\tthis.fullDayMode = fullDayMode;\n\t\t\tthis.values = this.getValues();\n\t\t}\n\t}\n\n\tshowPopup(params = {})\n\t{\n\t\tconst _this = this;\n\t\tconst menuItems = [];\n\n\t\tthis.values.forEach((item) => {\n\t\t\tif (item.mode === 'time-menu'\n\t\t\t\t|| item.mode === 'custom'\n\t\t\t\t|| !BX.util.in_array(item.value, this.selectedValues))\n\t\t\t{\n\t\t\t\tlet menuItem = {};\n\n\t\t\t\tif (item.dataset && item.dataset.mode === 'time-menu')\n\t\t\t\t{\n\t\t\t\t\tmenuItem.id = item.id;\n\t\t\t\t\tlet defaultReminderTime = Util.getTimeByInt(this.defaultReminderTime);\n\n\t\t\t\t\tmenuItem.text = item.label.replace('#TIME#', Util.formatTime(defaultReminderTime.hour, defaultReminderTime.min));\n\n\t\t\t\t\tmenuItem.dataset = BX.util.objectMerge({\n\t\t\t\t\t\ttype: 'submenu-list',\n\t\t\t\t\t\tvalue: this.defaultReminderTime\n\t\t\t\t\t}, item.dataset);\n\n\t\t\t\t\tmenuItem.items = this.getSubmenuTimeValues(menuItem, item.label, params);\n\n\t\t\t\t\tmenuItem.onclick = (function ()\n\t\t\t\t\t{\n\t\t\t\t\t\treturn function ()\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t_this.addValue({\n\t\t\t\t\t\t\t\tbefore: item.dataset.daysBefore,\n\t\t\t\t\t\t\t\ttime: item.dataset.time\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tBX.defer(function(){_this.reminderMenu.close();}, _this)();\n\t\t\t\t\t\t\tif (Type.isFunction(params.addValueCallback))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tparams.addValueCallback();\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\telse if (item.dataset && item.dataset.mode === 'custom')\n\t\t\t\t{\n\t\t\t\t\tmenuItem.id = 'custom';\n\t\t\t\t\tmenuItem.text = item.label;\n\t\t\t\t\tmenuItem.items = [{id: 'tmp', text: 'tmp'}];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tmenuItem.text = item.label;\n\t\t\t\t\tmenuItem.onclick = (function (value, mode)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\t_this.addValue(value);\n\t\t\t\t\t\t\t_this.reminderMenu.close();\n\t\t\t\t\t\t\tif (Type.isFunction(params.addValueCallback))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tparams.addValueCallback();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})(item.value, item.mode);\n\t\t\t\t}\n\n\t\t\t\tmenuItems.push(menuItem);\n\t\t\t}\n\t\t}, this);\n\n\t\tthis.reminderMenu = MenuManager.create(\n\t\t\tthis.id,\n\t\t\tparams.bindTarget || this.DOM.addButton,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\tcloseByEsc : true,\n\t\t\t\tautoHide : true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 9,\n\t\t\t\tangle: true,\n\t\t\t\tcacheable: false\n\t\t\t}\n\t\t);\n\n\t\tlet adjustSubmenuPopup = this.adjustSubmenuPopup.bind(this);\n\t\tlet closeSubmenuPopup = this.closeSubmenuPopup.bind(this);\n\t\tEventEmitter.subscribe('BX.Main.Popup:onShow', adjustSubmenuPopup);\n\t\tEventEmitter.subscribe('BX.Main.Popup:onClose', closeSubmenuPopup);\n\n\t\tthis.reminderMenu.popupWindow.subscribe('onClose', () => {\n\t\t\tEventEmitter.unsubscribe('BX.Main.Popup:onShow', adjustSubmenuPopup);\n\t\t\tEventEmitter.unsubscribe('BX.Main.Popup:onClose', closeSubmenuPopup);\n\t\t});\n\t\tthis.reminderMenu.show();\n\t}\n\n\tgetSubmenuTimeValues(parentItem, parentItemMessage, params)\n\t{\n\t\tlet menuItems = [];\n\t\tReminder.getTimeValueList(60).forEach(function(menuItem)\n\t\t{\n\t\t\tmenuItems.push({\n\t\t\t\tid: 'time-' + menuItem.value,\n\t\t\t\tdataset: {\n\t\t\t\t\tvalue: menuItem.value,\n\t\t\t\t\tdaysBefore: parentItem.dataset.daysBefore\n\t\t\t\t},\n\t\t\t\ttext: menuItem.label,\n\t\t\t\tonclick: function(e, item)\n\t\t\t\t{\n\t\t\t\t\tlet time = Util.getTimeByInt(item.dataset.value);\n\t\t\t\t\tlet parentMenuItem = this.reminderMenu.getMenuItem(parentItem.id);\n\t\t\t\t\tif (parentMenuItem)\n\t\t\t\t\t{\n\t\t\t\t\t\tparentMenuItem.setText(parentItemMessage.replace('#TIME#', Util.formatTime(time.hour, time.min)));\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.addValue({\n\t\t\t\t\t\ttime: item.dataset.value,\n\t\t\t\t\t\tbefore: item.dataset.daysBefore\n\t\t\t\t\t});\n\n\t\t\t\t\tBX.defer(function(){this.reminderMenu.close();}, this)();\n\t\t\t\t\tif (Type.isFunction(params.addValueCallback))\n\t\t\t\t\t{\n\t\t\t\t\t\tparams.addValueCallback();\n\t\t\t\t\t}\n\n\t\t\t\t}.bind(this)\n\t\t\t});\n\t\t}, this);\n\t\treturn menuItems;\n\t}\n\n\taddValue(value, emitChanges = true, changedByUser = true)\n\t{\n\t\tlet item;\n\t\tconst formattedValue = Reminder.formatValue(value);\n\n\t\tif (Type.isPlainObject(value) && value.count)\n\t\t{\n\t\t\tvalue = parseInt(formattedValue);\n\t\t}\n\n\t\tif (Type.isPlainObject(value) && !this.selectedValues.includes(formattedValue))\n\t\t{\n\t\t\tif (Type.isInteger(parseInt(value.before)) && Type.isInteger(parseInt(value.time)))\n\t\t\t{\n\t\t\t\titem = this.DOM.wrap.appendChild(Tag.render`\n\t\t\t\t\t<span class=\"calendar-reminder-item\">\n\t\t\t\t\t\t<span class=\"calendar-reminder-item-title\">\n\t\t\t\t\t\t\t${Reminder.getReminderLabel(value)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>`);\n\n\t\t\t\tif (!this.viewMode)\n\t\t\t\t{\n\t\t\t\t\titem.appendChild(Tag.render`<span class=\"calendar-reminder-clear-icon\" data-bxc-value=\"${formattedValue}\"/>`);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (value.type === 'date' && Type.isDate(value.value))\n\t\t\t{\n\t\t\t\titem = this.DOM.wrap.appendChild(Tag.render`<span class=\"calendar-reminder-item\">\n\t\t\t\t\t<span class=\"calendar-reminder-item-title\">\n\t\t\t\t\t\t${Util.formatDateUsable(value.value) + ' ' + Util.formatTime(value.value)}\n\t\t\t\t\t</span>\n\t\t\t\t</span>`);\n\n\t\t\t\tif (!this.viewMode)\n\t\t\t\t{\n\t\t\t\t\titem.appendChild(Tag.render`<span class=\"calendar-reminder-clear-icon\" data-bxc-value=\"${formattedValue}\"/>`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedValues.push(formattedValue);\n\t\t\tthis.controlList[formattedValue] = item;\n\t\t\tthis.rawValuesMap.set(formattedValue, value);\n\t\t}\n\t\telse if (parseInt(value) >= 0 && !this.selectedValues.includes(formattedValue))\n\t\t{\n\t\t\tfor (let i = 0; i < this.values.length; i++)\n\t\t\t{\n\t\t\t\tif (this.values[i].value === parseInt(value))\n\t\t\t\t{\n\t\t\t\t\titem = this.DOM.wrap.appendChild(Tag.render`\n\t\t\t\t\t<span class=\"calendar-reminder-item\">\n\t\t\t\t\t\t<span class=\"calendar-reminder-item-title\">\n\t\t\t\t\t\t\t${this.values[i].shortLabel || this.values[i].label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>`);\n\n\t\t\t\t\tif (!this.viewMode)\n\t\t\t\t\t{\n\t\t\t\t\t\titem.appendChild(Tag.render`<span class=\"calendar-reminder-clear-icon\" data-bxc-value=\"${formattedValue}\"/>`);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.selectedValues.push(formattedValue);\n\t\t\t\t\tthis.controlList[formattedValue] = item;\n\t\t\t\t\tthis.rawValuesMap.set(formattedValue, value);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (item === undefined)\n\t\t\t{\n\t\t\t\titem = this.DOM.wrap.appendChild(Dom.create('SPAN', {\n\t\t\t\t\tprops: {className: 'calendar-reminder-item'},\n\t\t\t\t\ttext: Reminder.getText(value)\n\t\t\t\t}));\n\n\t\t\t\tif (!this.viewMode)\n\t\t\t\t{\n\t\t\t\t\titem.appendChild(Dom.create('SPAN', {\n\t\t\t\t\t\tprops: {className: 'calendar-reminder-clear-icon'},\n\t\t\t\t\t\tevents: {click: function(){this.removeValue(value);}.bind(this)}\n\t\t\t\t\t}));\n\t\t\t\t}\n\n\t\t\t\tthis.selectedValues.push(value);\n\t\t\t\tthis.controlList[value] = item;\n\t\t\t\tthis.rawValuesMap.set(value, value);\n\t\t\t}\n\t\t}\n\n\t\tif (this.changeCallack)\n\t\t{\n\t\t\tthis.changeCallack(this.selectedValues);\n\t\t}\n\n\t\tif (emitChanges)\n\t\t{\n\t\t\tthis.emit('onChange', new BaseEvent({data: {values: this.selectedValues}}));\n\t\t}\n\t\tthis.changedByUser = emitChanges && changedByUser;\n\n\t\tif (Type.isElementNode(this.DOM.addButton))\n\t\t{\n\t\t\tthis.DOM.wrap.appendChild(this.DOM.addButton);\n\t\t}\n\t}\n\n\tremoveValue(value, emitChanges = true)\n\t{\n\t\tif (this.controlList[value] && Type.isDomNode(this.controlList[value]))\n\t\t{\n\t\t\tDom.remove(this.controlList[value]);\n\t\t}\n\t\tthis.selectedValues = BX.util.deleteFromArray(this.selectedValues, BX.util.array_search(value, this.selectedValues));\n\n\t\tif (this.changeCallack)\n\t\t{\n\t\t\tthis.changeCallack(this.selectedValues);\n\t\t}\n\n\t\tif (emitChanges)\n\t\t{\n\t\t\tthis.emit('onChange', new BaseEvent({data: {values: this.selectedValues}}));\n\t\t\tthis.changedByUser = true;\n\t\t}\n\t}\n\n\tstatic getTimeValueList(mode = 30)\n\t{\n\t\tif (!Reminder.timeValueList)\n\t\t{\n\t\t\tReminder.timeValueList = [];\n\t\t\tlet i;\n\t\t\tfor (i = 0; i < 24; i++)\n\t\t\t{\n\t\t\t\tReminder.timeValueList.push({value: i * 60, label: Util.formatTime(i, 0)});\n\t\t\t\tif (mode <= 30)\n\t\t\t\t{\n\t\t\t\t\tReminder.timeValueList.push({value: i * 60 + 30, label: Util.formatTime(i, 30)});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Reminder.timeValueList;\n\t}\n\n\thandleClick(e)\n\t{\n\t\tlet target = e.target || e.srcElement;\n\t\tlet remValue = target.getAttribute('data-bxc-value');\n\n\t\tif (!Type.isNull(remValue) && this.selectedValues.includes(remValue))\n\t\t{\n\t\t\tthis.removeValue(remValue);\n\t\t}\n\n\t\tif (Dom.hasClass(target, 'calendar-reminder-item-title'))\n\t\t{\n\t\t\tthis.showPopup({\n\n\t\t\t\tbindTarget: target,\n\t\t\t\taddValueCallback: ()=>{\n\t\t\t\t\tconst removeIcon = target.parentNode.querySelector('.calendar-reminder-clear-icon');\n\t\t\t\t\tif (Type.isElementNode(removeIcon)\n\t\t\t\t\t\t&& !Type.isNull(removeIcon.getAttribute('data-bxc-value')))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.removeValue(removeIcon.getAttribute('data-bxc-value'));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic inputCalendarClosePopupHandler(e)\n\t{\n\t\tBX.onCustomEvent(window, 'onCalendarControlChildPopupClosed');\n\t}\n\n\tstatic getReminderLabel(value)\n\t{\n\t\tlet label = '';\n\t\tvalue.before = parseInt(value.before);\n\t\tvalue.time = parseInt(value.time);\n\t\tif (Type.isInteger(value.before) && Type.isInteger(value.time) && [0, 1, 2].includes(value.before))\n\t\t{\n\t\t\tlet time = Util.getTimeByInt(value.time);\n\n\t\t\tlabel = Loc.getMessage('EC_REMIND1_DAY_' + value.before + '_SHORT').replace('#TIME#', Util.formatTime(time.hour, time.min))\n\t\t}\n\t\treturn label;\n\t}\n\n\t// Used to scroll into view and highlight default item in time menu\n\tadjustSubmenuPopup(event)\n\t{\n\t\tif (event instanceof BaseEvent)\n\t\t{\n\t\t\tlet submenuPopup = event.getTarget();\n\n\t\t\tif (submenuPopup instanceof Popup)\n\t\t\t{\n\t\t\t\tif (/^menu-popup-popup-submenu-time-menu-day-\\d$/.test(submenuPopup.getId()))\n\t\t\t\t{\n\t\t\t\t\tthis.adjustTimeSubmenuPopup(submenuPopup);\n\t\t\t\t}\n\t\t\t\telse if (/^menu-popup-popup-submenu-custom$/.test(submenuPopup.getId()))\n\t\t\t\t{\n\t\t\t\t\tthis.adjustCalendarSubmenuPopup(submenuPopup);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcloseSubmenuPopup(event)\n\t{\n\t\tif (event instanceof BaseEvent)\n\t\t{\n\t\t\tlet submenuPopup = event.getTarget();\n\n\t\t\tif (submenuPopup instanceof Popup)\n\t\t\t{\n\t\t\t\tif (/^menu-popup-popup-submenu-time-menu-day-\\d$/.test(submenuPopup.getId()))\n\t\t\t\t{\n\t\t\t\t}\n\t\t\t\telse if (/^menu-popup-popup-submenu-custom$/.test(submenuPopup.getId()))\n\t\t\t\t{\n\t\t\t\t\tlet layout = submenuPopup.bindElement;\n\t\t\t\t\tlet textNode = layout.querySelector('.menu-popup-item-text');\n\n\t\t\t\t\tif (Type.isDomNode(textNode))\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.clean(textNode);\n\t\t\t\t\t\ttextNode.innerHTML = Loc.getMessage(\"EC_REMIND1_CUSTOM\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tadjustTimeSubmenuPopup(popup)\n\t{\n\t\tlet selectedMenuItem = popup.getContentContainer().querySelector('span[data-value=\"' + this.defaultReminderTime + '\"]');\n\t\tif (Type.isDomNode(selectedMenuItem))\n\t\t{\n\t\t\tsetTimeout(()=>{\n\t\t\t\tpopup.getContentContainer().scrollTop = parseInt(selectedMenuItem.offsetTop) - 10;\n\t\t\t\tDom.addClass(selectedMenuItem, 'menu-popup-item-open');\n\t\t\t}, 50);\n\t\t}\n\t}\n\n\tadjustCalendarSubmenuPopup(popup)\n\t{\n\t\tlet layout = popup.bindElement;\n\n\t\tlet textNode = layout.querySelector('.menu-popup-item-text');\n\t\tif (Type.isDomNode(textNode))\n\t\t{\n\t\t\tDom.clean(textNode);\n\t\t\tconst input = textNode.appendChild(Tag.render`<input id=\"inp-${Math.round(Math.random() * 100000)}\" type=\"text\" class=\"calendar-field calendar-field-datetime\" value=\"\" autocomplete=\"off\" placeholder=\"${Loc.getMessage('EC_REMIND1_CUSTOM_PLACEHOLDER')}\"/>`);\n\t\t\tconst calendarControl = BX.calendar.get();\n\n\t\t\t// Hacks for BX.calendar - it works as singleton and has troubles with using inside menupopups\n\t\t\t// We trying to reinitialize it everytime\n\t\t\tcalendarControl.popup = null;\n\t\t\tcalendarControl._current_layer = null;\n\t\t\tcalendarControl._layers = {};\n\n\t\t\tcalendarControl.Show({\n\t\t\t\tnode: input,\n\t\t\t\tvalue: Util.formatDateTime(Util.getUsableDateTime(new Date())),\n\t\t\t\tfield: input,\n\t\t\t\tbTime: true,\n\t\t\t\tbHideTime: false\n\t\t\t});\n\n\t\t\tlet calendarPopup = calendarControl.popup;\n\t\t\tcalendarPopup.cacheable = false;\n\t\t\tif (calendarPopup && calendarPopup.popupContainer)\n\t\t\t{\n\t\t\t\tlet calendarWrap = calendarPopup.popupContainer.querySelector('.bx-calendar');\n\t\t\t\tif (Type.isDomNode(calendarWrap))\n\t\t\t\t{\n\t\t\t\t\tpopup.contentContainer.appendChild(calendarWrap);\n\t\t\t\t}\n\t\t\t\tcalendarPopup.close();\n\t\t\t\tMenuManager.destroy(calendarPopup.uniquePopupId);\n\t\t\t}\n\n\t\t\tEvent.bind(input, 'change', () => {\n\t\t\t\tlet\n\t\t\t\t\tvalue = input.value,\n\t\t\t\t\tdateValue = Util.parseDate(value);\n\n\t\t\t\tif (Type.isDate(dateValue))\n\t\t\t\t{\n\t\t\t\t\tthis.addValue({type: 'date', value: dateValue});\n\t\t\t\t\tthis.reminderMenu.close();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tsetViewMode(viewMode)\n\t{\n\t\tthis.viewMode = viewMode;\n\n\t\tif (this.viewMode)\n\t\t{\n\t\t\tDom.addClass(this.DOM.wrap, 'calendar-reminder-readonly');\n\t\t\tif (Type.isElementNode(this.DOM.addButton))\n\t\t\t{\n\t\t\t\tthis.DOM.addButton.style.display = 'none';\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.DOM.wrap, 'calendar-reminder-readonly');\n\t\t}\n\t}\n\n\twasChangedByUser()\n\t{\n\t\treturn this.changedByUser;\n\t}\n\n\tstatic getText(value)\n\t{\n\t\tlet\n\t\t\ttempValue = value,\n\t\t\tdividers = [60, 24], //list of time dividers\n\t\t\tmessageCodes = ['EC_REMIND1_MIN_COUNT', 'EC_REMIND1_HOUR_COUNT', 'EC_REMIND1_DAY_COUNT'],\n\t\t\tresult = '';\n\n\t\tfor (let i = 0; i < messageCodes.length; i++)\n\t\t{\n\t\t\tif (tempValue < dividers[i] || i === dividers.length)\n\t\t\t{\n\t\t\t\tresult = Loc.getMessage(messageCodes[i]).toString();\n\t\t\t\tresult = result.replace('\\#COUNT\\#', tempValue.toString());\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttempValue = Math.ceil(tempValue / dividers[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tstatic formatValue(remindValue)\n\t{\n\t\tif (Type.isPlainObject(remindValue)\n\t\t\t&& Type.isInteger(parseInt(remindValue.before))\n\t\t\t&& Type.isInteger(parseInt(remindValue.time)))\n\t\t{\n\t\t\treturn 'daybefore|' + remindValue.before + '|' + remindValue.time;\n\t\t}\n\t\telse if (Type.isPlainObject(remindValue) && Type.isDate(remindValue.value))\n\t\t{\n\t\t\treturn 'date|' + Util.formatDateTime(remindValue.value);\n\t\t}\n\t\telse if (Type.isPlainObject(remindValue) && remindValue.type)\n\t\t{\n\t\t\tif (remindValue.type === 'min')\n\t\t\t{\n\t\t\t\treturn remindValue.count.toString();\n\t\t\t}\n\t\t\tif (remindValue.type === 'hour')\n\t\t\t{\n\t\t\t\treturn (parseInt(remindValue.count) * 60).toString();\n\t\t\t}\n\t\t\tif (remindValue.type === 'day')\n\t\t\t{\n\t\t\t\treturn (parseInt(remindValue.count) * 60 * 24).toString();\n\t\t\t}\n\t\t}\n\n\t\treturn remindValue.toString();\n\t}\n}\n","import { Tag, Type, Loc, Dom, Event, Text} from 'main.core';\nimport { RoomsManager } from 'calendar.roomsmanager';\nimport { Util } from 'calendar.util';\n\nexport class Location\n{\n\tstatic locationList = [];\n\tstatic meetingRoomList = [];\n\tstatic currentRoomCapacity = 0;\n\tstatic accessibility = [];\n\tstatic DAY_LENGTH = 86400000;\n\tdatesRange = [];\n\tviewMode = false;\n\n\tconstructor(params)\n\t{\n\t\tthis.params = params;\n\t\tthis.id = params.id || 'location-' + Math.round(Math.random() * 1000000);\n\t\tthis.zIndex = params.zIndex || 3100;\n\n\t\tthis.DOM = {\n\t\t\twrapNode: params.wrap\n\t\t};\n\t\tthis.roomsManager = params.roomsManager || null;\n\t\tthis.locationAccess = params.locationAccess || false;\n\t\tthis.disabled = !params.richLocationEnabled;\n\t\tthis.value = {type: '', text: '', value: ''};\n\t\tthis.inlineEditModeEnabled = params.inlineEditModeEnabled;\n\t\tthis.meetingRooms = params.iblockMeetingRoomList || [];\n\t\tLocation.setMeetingRoomList(params.iblockMeetingRoomList);\n\t\tLocation.setLocationList(params.locationList);\n\t\tif (!this.disabled)\n\t\t{\n\t\t\tthis.default = this.setDefaultRoom(params.locationList) || '';\n\t\t}\n\t\tthis.create();\n\t\tthis.setViewMode(params.viewMode === true)\n\t}\n\n\tcreate()\n\t{\n\t\tthis.DOM.inputWrap = this.DOM.wrapNode.appendChild(Tag.render`\n\t\t\t<div class=\"calendar-field-block\"></div>\n\t\t`)\n\n\t\tthis.DOM.alertIconLocation = Tag.render`\n\t\t\t<div class=\"ui-alert-icon-danger calendar-location-alert-icon\" data-hint-no-icon=\"Y\" data-hint=\"${Loc.getMessage('EC_LOCATION_OVERFLOW')}\">\n\t\t\t<i></i>\n\t\t\t</div>\n\t\t`;\n\t\tif (this.inlineEditModeEnabled)\n\t\t{\n\t\t\tthis.DOM.inlineEditLinkWrap = this.DOM.wrapNode.appendChild(Tag.render`\n\t\t\t\t<div class=\"calendar-field-place-link\">${this.DOM.inlineEditLink = Tag.render`\n\t\t\t\t\t<span class=\"calendar-text-link\">${Loc.getMessage('EC_REMIND1_ADD')}</span>`}\n\t\t\t\t</div>`);\n\t\t\tthis.DOM.inputWrap.style.display = 'none';\n\t\t\tEvent.bind(this.DOM.inlineEditLinkWrap, 'click', this.displayInlineEditControls.bind(this));\n\t\t}\n\n\t\tif (this.disabled)\n\t\t{\n\t\t\tDom.addClass(this.DOM.wrapNode, 'locked');\n\t\t\tthis.DOM.inputWrap.appendChild(Dom.create('DIV', {\n\t\t\t\tprops: {className: 'calendar-lock-icon'},\n\t\t\t\tevents: {\n\t\t\t\t\tclick: () => {\n\t\t\t\t\t\ttop.BX.UI.InfoHelper.show('limit_office_calendar_location');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}))\n\t\t}\n\n\t\tthis.DOM.input = this.DOM.inputWrap.appendChild(Dom.create('INPUT', {\n\t\t\tattrs: {\n\t\t\t\tname: this.params.inputName || '',\n\t\t\t\tplaceholder: Loc.getMessage('EC_LOCATION_PLACEHOLDER'),\n\t\t\t\ttype: 'text',\n\t\t\t\tautocomplete: this.disabled ? 'on' : 'off',\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\tclassName: 'calendar-field calendar-field-select'\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\tpaddingRight: 25 + 'px',\n\t\t\t}\n\t\t}));\n\t}\n\n\tsetValues()\n\t{\n\t\tlet\n\t\t\tmenuItemList = [],\n\t\t\tselectedIndex = false,\n\t\t\tmeetingRooms = Location.getMeetingRoomList(),\n\t\t\tlocationList = Location.getLocationList();\n\n\t\tif (Type.isArray(meetingRooms))\n\t\t{\n\t\t\tmeetingRooms.forEach(function(room)\n\t\t\t{\n\t\t\t\troom.ID = parseInt(room.ID);\n\t\t\t\tmenuItemList.push({\n\t\t\t\t\tID: room.ID,\n\t\t\t\t\tlabel: room.NAME,\n\t\t\t\t\tlabelRaw: room.NAME,\n\t\t\t\t\tvalue: room.ID,\n\t\t\t\t\tcapacity: 0,\n\t\t\t\t\ttype: 'mr'\n\t\t\t\t});\n\n\t\t\t\tif (this.value.type === 'mr'\n\t\t\t\t\t&& parseInt(this.value.value) === room.ID)\n\t\t\t\t{\n\t\t\t\t\tselectedIndex = menuItemList.length - 1;\n\t\t\t\t}\n\t\t\t}, this);\n\n\t\t\tif (menuItemList.length > 0)\n\t\t\t{\n\t\t\t\tmenuItemList.push({delimiter: true});\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isArray(locationList))\n\t\t{\n\t\t\tif (locationList.length)\n\t\t\t{\n\t\t\t\tlocationList.forEach(function(room)\n\t\t\t\t{\n\t\t\t\t\troom.ID = parseInt(room.ID);\n\t\t\t\t\troom.LOCATION_ID = parseInt(room.LOCATION_ID);\n\t\t\t\t\tmenuItemList.push({\n\t\t\t\t\t\tID: room.ID,\n\t\t\t\t\t\tLOCATION_ID: room.LOCATION_ID,\n\t\t\t\t\t\tlabel: room.NAME,\n\t\t\t\t\t\tcapacity: parseInt(room.CAPACITY) || 0,\n\t\t\t\t\t\tcolor: room.COLOR,\n\t\t\t\t\t\treserved: room.reserved || false,\n\t\t\t\t\t\tlabelRaw: room.NAME,\n\t\t\t\t\t\tlabelCapacity: this.getCapacityMessage(room.CAPACITY),\n\t\t\t\t\t\tvalue: room.ID,\n\t\t\t\t\t\ttype: 'calendar'\n\t\t\t\t\t});\n\n\t\t\t\t\tif (this.value.type === 'calendar'\n\t\t\t\t\t\t&& parseInt(this.value.value) === parseInt(room.ID))\n\t\t\t\t\t{\n\t\t\t\t\t\tselectedIndex = menuItemList.length - 1;\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\n\t\t\t\tif (this.locationAccess)\n\t\t\t\t{\n\t\t\t\t\tthis.loadRoomSlider();\n\t\t\t\t\tmenuItemList.push({delimiter: true});\n\t\t\t\t\tmenuItemList.push({\n\t\t\t\t\t\tlabel: Loc.getMessage('EC_LOCATION_MEETING_ROOM_SET'),\n\t\t\t\t\t\tcallback: this.openRoomsSlider.bind(this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (this.locationAccess)\n\t\t\t\t{\n\t\t\t\t\tthis.loadRoomSlider();\n\t\t\t\t\tmenuItemList.push({\n\t\t\t\t\t\tlabel: Loc.getMessage('EC_ADD_LOCATION'),\n\t\t\t\t\t\tcallback: this.openRoomsSlider.bind(this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.value)\n\t\t{\n\t\t\tthis.DOM.input.value = this.value.str || '';\n\t\t\tif (this.value.type &&\n\t\t\t\t(this.value.str === this.getTextLocation(this.value) ||\n\t\t\t\t\tthis.getTextLocation(this.value) === Loc.getMessage('EC_LOCATION_EMPTY')))\n\t\t\t{\n\t\t\t\tthis.DOM.input.value = '';\n\t\t\t\tthis.value = '';\n\t\t\t}\n\t\t\tfor (const locationListElement of Location.locationList)\n\t\t\t{\n\t\t\t\tif (parseInt(locationListElement.ID) === this.value.room_id)\n\t\t\t\t{\n\t\t\t\t\tLocation.setCurrentCapacity(parseInt(locationListElement.CAPACITY));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.selectContol)\n\t\t{\n\t\t\tthis.selectContol.destroy();\n\t\t}\n\n\t\tthis.selectContol = new BX.Calendar.Controls.SelectInput({\n\t\t\tinput: this.DOM.input,\n\t\t\tvalues: menuItemList,\n\t\t\tvalueIndex: selectedIndex,\n\t\t\tzIndex: this.zIndex,\n\t\t\tdisabled: this.disabled,\n\t\t\tminWidth: 300,\n\t\t\tonChangeCallback: BX.delegate(function()\n\t\t\t{\n\t\t\t\tlet i, value = this.DOM.input.value;\n\t\t\t\tthis.value = {text: value};\n\t\t\t\tfor (i = 0; i < menuItemList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif (menuItemList[i].labelRaw === value)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.value.type = menuItemList[i].type;\n\t\t\t\t\t\tthis.value.value = menuItemList[i].value;\n\t\t\t\t\t\tLocation.setCurrentCapacity(menuItemList[i].capacity)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (Type.isFunction(this.params.onChangeCallback))\n\t\t\t\t{\n\t\t\t\t\tthis.params.onChangeCallback();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t});\n\t}\n\n\tsetViewMode(viewMode)\n\t{\n\t\tthis.viewMode = viewMode;\n\t\tif (this.viewMode)\n\t\t{\n\t\t\tDom.addClass(this.DOM.wrapNode, 'calendar-location-readonly')\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.DOM.wrapNode, 'calendar-location-readonly')\n\t\t}\n\t}\n\n\taddCapacityAlert()\n\t{\n\t\tif (!Dom.hasClass(this.DOM.input, 'calendar-field-location-select-border'))\n\t\t{\n\t\t\tDom.addClass(this.DOM.input, 'calendar-field-location-select-border');\n\t\t}\n\t\tif (Type.isDomNode(this.DOM.alertIconLocation))\n\t\t{\n\t\t\tUtil.initHintNode(this.DOM.alertIconLocation);\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tthis.DOM.inputWrap.appendChild(this.DOM.alertIconLocation)\n\t\t}, 200);\n\t}\n\n\tremoveCapacityAlert()\n\t{\n\t\tif (Dom.hasClass(this.DOM.input, 'calendar-field-location-select-border'))\n\t\t{\n\t\t\tDom.removeClass(this.DOM.input, 'calendar-field-location-select-border');\n\t\t}\n\t\tif (this.DOM.alertIconLocation.parentNode === this.DOM.inputWrap)\n\t\t{\n\t\t\tthis.DOM.inputWrap.removeChild(this.DOM.alertIconLocation);\n\t\t}\n\t}\n\n\tgetCapacityMessage(capacity)\n\t{\n\t\tlet suffix;\n\t\tif ((capacity % 100 > 10) && (capacity % 100 < 20))\n\t\t{\n\t\t\tsuffix = 5;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsuffix = capacity % 10;\n\t\t}\n\t\treturn Loc.getMessage('EC_LOCATION_CAPACITY_' + suffix, {'#NUM#': capacity})\n\t}\n\t\n\tcheckLocationAccessibility(params)\n\t{\n\t\tthis.getLocationAccessibility(params.from, params.to)\n\t\t.then(()=> {\n\t\t\tlet eventTsFrom;\n\t\t\tlet eventTsTo;\n\t\t\tlet fromTs = params.from.getTime();\n\t\t\tlet toTs = params.to.getTime();\n\t\t\tif (params.fullDay)\n\t\t\t{\n\t\t\t\ttoTs += Location.DAY_LENGTH;\n\t\t\t}\n\t\t\t\n\t\t\tfor (const index in Location.locationList)\n\t\t\t{\n\t\t\t\tLocation.locationList[index].reserved = false;\n\t\t\t\tlet roomId = Location.locationList[index].ID;\n\t\t\t\tfor (const date of this.datesRange)\n\t\t\t\t{\n\t\t\t\t\tif (Type.isUndefined(Location.accessibility[date][roomId]))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfor (const event of Location.accessibility[date][roomId])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (parseInt(event.PARENT_ID) === parseInt(params.currentEventId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\teventTsFrom = Util.parseDate(event.DATE_FROM).getTime();\n\t\t\t\t\t\teventTsTo = Util.parseDate(event.DATE_TO).getTime();\n\t\t\t\t\t\tif (event.DT_SKIP_TIME !== 'Y')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\teventTsFrom -= event['~USER_OFFSET_FROM'] * 1000;\n\t\t\t\t\t\t\teventTsTo -= event['~USER_OFFSET_TO'] * 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\teventTsTo += Location.DAY_LENGTH;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (eventTsFrom < toTs && eventTsTo > fromTs)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation.locationList[index].reserved = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (Location.locationList[index].reserved)\n\t\t\t\t\t{\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\t\n\t\t\tthis.setValues();\n\t\t});\n\t}\n\t\n\tgetLocationAccessibility(from, to)\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.datesRange = Location.getDatesRange(from, to);\n\t\t\tlet isCheckedAccessibility = true;\n\t\t\t\n\t\t\tfor (let date of this.datesRange)\n\t\t\t{\n\t\t\t\tif (Type.isUndefined(Location.accessibility[date]))\n\t\t\t\t{\n\t\t\t\t\tisCheckedAccessibility = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (!isCheckedAccessibility)\n\t\t\t{\n\t\t\t\tBX.ajax.runAction('calendar.api.locationajax.getLocationAccessibility', {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdatesRange: this.datesRange,\n\t\t\t\t\t\tlocationList: Location.locationList,\n\t\t\t\t\t}\n\t\t\t\t}).then(\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tfor (let date of this.datesRange)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation.accessibility[date] = response.data[date];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(Location.accessibility, this.datesRange);\n\t\t\t\t\t},\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tresolve(response.errors);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresolve(Location.accessibility, this.datesRange);\n\t\t\t}\n\t\t});\n\t}\n\t\n\tstatic handlePull(params)\n\t{\n\t\tif (!params.fields.DATE_FROM || !params.fields.DATE_TO)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tlet dateFrom = Util.parseDate(params.fields.DATE_FROM);\n\t\tlet dateTo = Util.parseDate(params.fields.DATE_TO);\n\t\tlet datesRange = Location.getDatesRange(dateFrom, dateTo);\n\t\t\n\t\tfor (let date of datesRange)\n\t\t{\n\t\t\tif (Location.accessibility[date])\n\t\t\t{\n\t\t\t\tdelete Location.accessibility[date];\n\t\t\t}\n\t\t}\n\t}\n\t\n\tloadRoomSlider()\n\t{\n\t\tif (!this.roomsManagerFromDB)\n\t\t{\n\t\t\tthis.getRoomsManager()\n\t\t\t\t.then(this.getRoomsManagerData()\n\t\t\t);\n\t\t}\n\t}\n\t\n\topenRoomsSlider()\n\t{\n\t\tthis.getRoomsInterface()\n\t\t\t.then(function(RoomsInterface) {\n\t\t\t\tif (!this.roomsInterface)\n\t\t\t\t{\n\t\t\t\t\tthis.roomsInterface = new RoomsInterface(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcalendarContext: null,\n\t\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\t\troomsManager: this.roomsManagerFromDB,\n\t\t\t\t\t\t\tisConfigureList: true\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.roomsInterface.show();\n\t\t\t}.bind(this));\n\t}\n\n\tgetTextValue(value)\n\t{\n\t\tif (!value)\n\t\t{\n\t\t\tvalue = this.value;\n\t\t}\n\n\t\tlet res = value.str || value.text || '';\n\t\tif (value && value.type === 'mr')\n\t\t{\n\t\t\tres = 'ECMR_' + value.value + (value.mrevid ? '_' + value.mrevid : '');\n\n\t\t}\n\t\telse if (value && value.type === 'calendar')\n\t\t{\n\t\t\tres = 'calendar_' + value.value + (value.room_event_id ? '_' + value.room_event_id : '');\n\t\t}\n\t\treturn res;\n\t}\n\n\tgetValue()\n\t{\n\t\treturn this.value;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tif (Type.isPlainObject(value))\n\t\t{\n\t\t\tthis.value.text = value.text || '';\n\t\t\tthis.value.type = value.type || '';\n\t\t\tthis.value.value = value.value || '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.value = Location.parseStringValue(value);\n\t\t}\n\n\t\tthis.setValues();\n\n\t\tif (this.inlineEditModeEnabled)\n\t\t{\n\t\t\tlet textLocation = this.getTextLocation(this.value);\n\t\t\tthis.DOM.inlineEditLink.innerHTML = Text.encode(textLocation || Loc.getMessage('EC_REMIND1_ADD'));\n\t\t}\n\t}\n\n\t// parseLocation\n\tstatic parseStringValue(str)\n\t{\n\t\tif (!Type.isString(str))\n\t\t{\n\t\t\tstr = '';\n\t\t}\n\n\t\tlet\n\t\t\tres = {\n\t\t\t\ttype : false,\n\t\t\t\tvalue : false,\n\t\t\t\tstr : str\n\t\t\t};\n\n\t\tif (str.substr(0, 5) === 'ECMR_')\n\t\t{\n\t\t\tres.type = 'mr';\n\t\t\tlet value = str.split('_');\n\t\t\tif (value.length >= 2)\n\t\t\t{\n\t\t\t\tif (!isNaN(parseInt(value[1])) && parseInt(value[1]) > 0)\n\t\t\t\t{\n\t\t\t\t\tres.value = res.mrid = parseInt(value[1]);\n\t\t\t\t}\n\n\t\t\t\tif (!isNaN(parseInt(value[2])) && parseInt(value[2]) > 0)\n\t\t\t\t{\n\t\t\t\t\tres.mrevid = parseInt(value[2]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (str.substr(0, 9) === 'calendar_')\n\t\t{\n\t\t\tres.type = 'calendar';\n\t\t\tlet value = str.split('_');\n\t\t\tif (value.length >= 2)\n\t\t\t{\n\t\t\t\tif (!isNaN(parseInt(value[1])) && parseInt(value[1]) > 0)\n\t\t\t\t{\n\t\t\t\t\tres.value = res.room_id = parseInt(value[1]);\n\t\t\t\t}\n\t\t\t\tif (!isNaN(parseInt(value[2])) && parseInt(value[2]) > 0)\n\t\t\t\t{\n\t\t\t\t\tres.room_event_id = parseInt(value[2]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tgetTextLocation(location)\n\t{\n\t\tlet\n\t\t\tvalue = Type.isPlainObject(location) ? location : Location.parseStringValue(location),\n\t\t\ti, str = value.str;\n\n\t\tif (Type.isArray(this.meetingRooms) && value.type === 'mr')\n\t\t{\n\t\t\tstr = Loc.getMessage('EC_LOCATION_EMPTY');\n\t\t\tfor (i = 0; i < this.meetingRooms.length; i++)\n\t\t\t{\n\t\t\t\tif (parseInt(value.value) === parseInt(this.meetingRooms[i].ID))\n\t\t\t\t{\n\t\t\t\t\tstr = this.meetingRooms[i].NAME;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isArray(Location.locationList) && value.type === 'calendar')\n\t\t{\n\t\t\tstr = Loc.getMessage('EC_LOCATION_EMPTY');\n\t\t\tfor (i = 0; i < Location.locationList.length; i++)\n\t\t\t{\n\t\t\t\tif (parseInt(value.value) === parseInt(Location.locationList[i].ID))\n\t\t\t\t{\n\t\t\t\t\tstr = Location.locationList[i].NAME;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn str;\n\t}\n\n\tstatic setLocationList(locationList)\n\t{\n\t\tif (Type.isArray(locationList))\n\t\t{\n\t\t\tLocation.locationList = locationList;\n\t\t\tthis.sortLocationList();\n\t\t}\n\t}\n\n\tstatic sortLocationList()\n\t{\n\t\tLocation.locationList.sort((a,b) => {\n\t\t\tif (a.NAME.toLowerCase() > b.NAME.toLowerCase())\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (a.NAME.toLowerCase() < b.NAME.toLowerCase())\n\t\t\t{\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t})\n\t}\n\n\tstatic getLocationList()\n\t{\n\t\treturn Location.locationList;\n\t}\n\n\tstatic setMeetingRoomList(meetingRoomList)\n\t{\n\t\tif (Type.isArray(meetingRoomList))\n\t\t{\n\t\t\tLocation.meetingRoomList = meetingRoomList;\n\t\t}\n\t}\n\t\n\tstatic getMeetingRoomList()\n\t{\n\t\treturn Location.meetingRoomList;\n\t}\n\t\n\tstatic setLocationAccessibility(accessibility)\n\t{\n\t\tLocation.accessibility = accessibility;\n\t}\n\t\n\tstatic getLocationAccessibility()\n\t{\n\t\treturn Location.accessibility;\n\t}\n\t\n\tstatic setCurrentCapacity(capacity)\n\t{\n\t\tLocation.currentRoomCapacity = capacity;\n\t}\n\n\tstatic getCurrentCapacity()\n\t{\n\t\treturn Location.currentRoomCapacity || 0;\n\t}\n\t\n\tdisplayInlineEditControls()\n\t{\n\t\tthis.DOM.inlineEditLinkWrap.style.display = 'none';\n\t\tthis.DOM.inputWrap.style.display = '';\n\t}\n\n\tsetDefaultRoom(locationList)\n\t{\n\t\tif (this.roomsManager && !RoomsManager.isEmpty(locationList))\n\t\t{\n\t\t\tthis.activeRooms = this.roomsManager.getRoomsInfo().active;\n\t\t\tif (!RoomsManager.isEmpty(this.activeRooms))\n\t\t\t{\n\t\t\t\tconst activeRoomId = this.activeRooms[0];\n\t\t\t\tfor (const locationListElement of locationList)\n\t\t\t\t{\n\t\t\t\t\tif (parseInt(locationListElement.ID) === activeRoomId)\n\t\t\t\t\t{\n\t\t\t\t\t\tLocation.setCurrentCapacity(parseInt(locationListElement.CAPACITY));\n\t\t\t\t\t\treturn 'calendar_' + activeRoomId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLocation.setCurrentCapacity(parseInt(locationList[0].CAPACITY));\n\t\t\t\treturn 'calendar_' + locationList[0].ID;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetRoomsInterface()\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tconst bx = BX.Calendar.Util.getBX();\n\t\t\tconst extensionName = 'calendar.rooms';\n\t\t\tbx.Runtime.loadExtension(extensionName)\n\t\t\t\t.then(() =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (bx.Calendar.Rooms.RoomsInterface)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresolve(bx.Calendar.Rooms.RoomsInterface);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Extension ' + extensionName + ' not found');\n\t\t\t\t\t\t\tresolve(bx.Calendar.Rooms.RoomsInterface);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n\n\tgetRoomsManager()\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tconst bx = BX.Calendar.Util.getBX();\n\t\t\tconst extensionName = 'calendar.roomsmanager';\n\t\t\tbx.Runtime.loadExtension(extensionName)\n\t\t\t\t.then(() =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (bx.Calendar.RoomsManager)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresolve(bx.Calendar.RoomsManager);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Extension ' + extensionName + ' not found');\n\t\t\t\t\t\t\tresolve(bx.Calendar.RoomsManager);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n\n\tgetRoomsManagerData()\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tBX.ajax.runAction('calendar.api.locationajax.getRoomsManagerData')\n\t\t\t\t.then((response) => {\n\n\t\t\t\t\t\tthis.roomsManagerFromDB = new RoomsManager(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsections: response.data.sections,\n\t\t\t\t\t\t\t\trooms: response.data.rooms\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocationAccess: response.data.config.locationAccess,\n\t\t\t\t\t\t\t\thiddenSections: response.data.config.hiddenSections,\n\t\t\t\t\t\t\t\ttype: response.data.config.type,\n\t\t\t\t\t\t\t\townerId: response.data.config.ownerId,\n\t\t\t\t\t\t\t\tuserId: response.data.config.userId,\n\t\t\t\t\t\t\t\tnew_section_access: response.data.config.defaultSectionAccess,\n\t\t\t\t\t\t\t\tsectionAccessTasks: response.data.config.sectionAccessTasks,\n\t\t\t\t\t\t\t\tshowTasks: response.data.config.showTasks,\n\t\t\t\t\t\t\t\tlocationContext: this //for updating list of locations in event creation menu\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t\tresolve(response.data);\n\t\t\t\t\t},\n\t\t\t\t\t// Failure\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tconsole.error('Extension not found');\n\t\t\t\t\t\tresolve(response.data);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n\t\n\tstatic getDateInFormat(date)\n\t{\n\t\treturn ('0' + date.getDate()).slice(-2) + '.'\n\t\t\t+ ('0' + (date.getMonth() + 1)).slice(-2) + '.'\n\t\t\t+ date.getFullYear()\n\t}\n\t\n\tstatic getDatesRange(from, to)\n\t{\n\t\tlet fromDate = new Date(from);\n\t\tlet toDate = new Date(to);\n\t\tlet startDate = fromDate.setHours(0, 0, 0, 0);\n\t\tlet finishDate = toDate.setHours(0, 0, 0, 0);\n\t\tlet result = [];\n\t\twhile (startDate <= finishDate)\n\t\t{\n\t\t\tresult.push(Location.getDateInFormat(new Date(startDate)));\n\t\t\tstartDate += Location.DAY_LENGTH;\n\t\t}\n\t\t\n\t\treturn result;\n\t}\n}\n","import {Type, Dom} from 'main.core';\nimport {Util} from 'calendar.util';\n\nexport class UserSelector\n{\n\tconstructor(params = {})\n\t{\n\t\tthis.params = params;\n\t\tthis.id = params.id || 'user_selector_' + Math.round(Math.random() * 1000000);\n\t\tthis.zIndex = params.zIndex || 3100;\n\n\t\tthis.DOM = {\n\t\t\twrapNode: params.wrapNode\n\t\t};\n\t\tthis.destinationInputName = params.inputName || 'EVENT_DESTINATION';\n\n\t\tif (Type.isArray(this.params.itemsSelected) && this.params.itemsSelected.length)\n\t\t{\n\t\t\tthis.params.itemsSelected = this.convertAttendeesCodes(this.params.itemsSelected);\n\t\t}\n\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tlet id = this.id;\n\t\tthis.DOM.socnetDestinationWrap = this.DOM.wrapNode.appendChild(Dom.create('DIV', {\n\t\t\tprops: {className: 'event-grid-dest-wrap'},\n\t\t\tevents: {\n\t\t\t\tclick : (e) => {\n\t\t\t\t\tBX.SocNetLogDestination.openDialog(id);\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\tthis.socnetDestinationItems = this.DOM.socnetDestinationWrap.appendChild(Dom.create('SPAN', {\n\t\t\tprops: {className: ''},\n\t\t\tevents: {\n\t\t\t\tclick : function(e)\n\t\t\t\t{\n\t\t\t\t\tvar targ = e.target || e.srcElement;\n\t\t\t\t\tif (targ.className === 'feed-event-del-but') // Delete button\n\t\t\t\t\t{\n\t\t\t\t\t\ttop.BX.SocNetLogDestination.deleteItem(targ.getAttribute('data-item-id'), targ.getAttribute('data-item-type'), id);\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmouseover: function(e)\n\t\t\t\t{\n\t\t\t\t\tvar targ = e.target || e.srcElement;\n\t\t\t\t\tif (targ.className === 'feed-event-del-but') // Delete button\n\t\t\t\t\t\tBX.addClass(targ.parentNode, 'event-grid-dest-hover');\n\t\t\t\t},\n\t\t\t\tmouseout: function(e)\n\t\t\t\t{\n\t\t\t\t\tvar targ = e.target || e.srcElement;\n\t\t\t\t\tif (targ.className === 'feed-event-del-but') // Delete button\n\t\t\t\t\t\tBX.removeClass(targ.parentNode, 'event-grid-dest-hover');\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\tthis.socnetDestinationInputWrap = this.DOM.socnetDestinationWrap.appendChild(Dom.create('SPAN', {props: {className: 'feed-add-destination-input-box'}}));\n\t\tthis.socnetDestinationInput = this.socnetDestinationInputWrap.appendChild(\n\t\t\tDom.create('INPUT', {\n\t\t\t\tprops: {id: id + '-inp', className: 'feed-add-destination-inp'},\n\t\t\t\tattrs: {value: '', type: 'text'},\n\t\t\t\tevents: {\n\t\t\t\t\tkeydown : function(e){\n\t\t\t\t\t\treturn top.BX.SocNetLogDestination.searchBeforeHandler(e, {\n\t\t\t\t\t\t\tformName: id,\n\t\t\t\t\t\t\tinputId: id + '-inp'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tkeyup : function(e){\n\t\t\t\t\t\treturn top.BX.SocNetLogDestination.searchHandler(e, {\n\t\t\t\t\t\t\tformName: id,\n\t\t\t\t\t\t\tinputId: id + '-inp',\n\t\t\t\t\t\t\tlinkId: 'event-grid-dest-add-link',\n\t\t\t\t\t\t\tsendAjax: true\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\tthis.socnetDestinationLink = this.DOM.socnetDestinationWrap.appendChild(Dom.create('SPAN', {\n\t\t\thtml: this.params.addLinkMessage || BX.message('EC_DESTINATION_ADD_USERS'),\n\t\t\tprops: {id: id + '-link', className: 'feed-add-destination-link'},\n\t\t\tevents: {\n\t\t\t\tkeydown : function(e){\n\t\t\t\t\treturn top.BX.SocNetLogDestination.searchBeforeHandler(e, {\n\t\t\t\t\t\tformName: id,\n\t\t\t\t\t\tinputId: id + '-inp'\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tkeyup : function(e){\n\t\t\t\t\treturn top.BX.SocNetLogDestination.searchHandler(e, {\n\t\t\t\t\t\tformName: id,\n\t\t\t\t\t\tinputId: id + '-inp',\n\t\t\t\t\t\tlinkId: 'event-grid-dest-add-link',\n\t\t\t\t\t\tsendAjax: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\t// if (this.params.itemsSelected && !this.checkItemsSelected(\n\t\t// \tthis.params.items,\n\t\t// \tthis.params.itemsLast,\n\t\t// \tthis.params.itemsSelected,\n\t\t// \tBX.proxy(this.init, this)\n\t\t// ))\n\t\t// {\n\t\t// \treturn;\n\t\t// }\n\n\t\tthis.init();\n\t}\n\n\tinit()\n\t{\n\t\tif (!this.socnetDestinationInput || !this.DOM.socnetDestinationWrap || !this.params.items)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif(this.params.selectGroups === false)\n\t\t{\n\t\t\tthis.params.items.groups = {};\n\t\t\tthis.params.items.department = {};\n\t\t\tthis.params.items.sonetgroups = {};\n\t\t}\n\n\t\tif(this.params.selectUsers === false)\n\t\t{\n\t\t\tthis.params.items.users = {};\n\t\t\tthis.params.items.groups = {};\n\t\t\tthis.params.items.department = {};\n\t\t}\n\n\t\tBX.SocNetLogDestination.init({\n\t\t\tname : this.id,\n\t\t\tsearchInput : this.socnetDestinationInput,\n\t\t\textranetUser : false,\n\t\t\tuserSearchArea: 'I',\n\t\t\tbindMainPopup : {\n\t\t\t\tnode : this.DOM.socnetDestinationWrap,\n\t\t\t\toffsetTop : '5px',\n\t\t\t\toffsetLeft: '15px'\n\t\t\t},\n\t\t\tbindSearchPopup : {\n\t\t\t\tnode : this.DOM.socnetDestinationWrap,\n\t\t\t\toffsetTop : '5px',\n\t\t\t\toffsetLeft: '15px'\n\t\t\t},\n\t\t\tcallback : {\n\t\t\t\tselect : this.selectCallback.bind(this),\n\t\t\t\tunSelect : this.unSelectCallback.bind(this),\n\t\t\t\topenDialog : this.openDialogCallback.bind(this),\n\t\t\t\tcloseDialog : this.closeDialogCallback.bind(this),\n\t\t\t\topenSearch : this.openDialogCallback.bind(this),\n\t\t\t\tcloseSearch : ()=>{this.closeDialogCallback(true);}\n\t\t\t},\n\t\t\titems : this.params.items,\n\t\t\titemsLast : this.params.itemsLast,\n\t\t\titemsSelected : this.params.itemsSelected,\n\t\t\tdepartmentSelectDisable: this.params.selectGroups === false\n\t\t});\n\t}\n\n\tcloseAll()\n\t{\n\t\tif (top.BX.SocNetLogDestination.isOpenDialog())\n\t\t{\n\t\t\ttop.BX.SocNetLogDestination.closeDialog();\n\t\t}\n\t\ttop.BX.SocNetLogDestination.closeSearch();\n\t}\n\n\tselectCallback(item, type)\n\t{\n\t\tvar\n\t\t\ttype1 = type,\n\t\t\tprefix = 'S';\n\n\t\tif (type === 'sonetgroups')\n\t\t{\n\t\t\tprefix = 'SG';\n\t\t}\n\t\telse if (type === 'groups')\n\t\t{\n\t\t\tprefix = 'UA';\n\t\t\ttype1 = 'all-users';\n\t\t}\n\t\telse if (type === 'users')\n\t\t{\n\t\t\tprefix = 'U';\n\t\t}\n\t\telse if (type === 'department')\n\t\t{\n\t\t\tprefix = 'DR';\n\t\t}\n\n\t\tthis.socnetDestinationItems.appendChild(\n\t\t\tDom.create(\"span\", { attrs : {'data-id' : item.id }, props : {className : \"event-grid-dest event-grid-dest-\" + type1 }, children: [\n\t\t\t\t\tDom.create(\"input\", { attrs : {type : 'hidden', name : this.destinationInputName + '[' + prefix + '][]', value : item.id }}),\n\t\t\t\t\tDom.create(\"span\", { props : {className : \"event-grid-dest-text\" }, html : item.name}),\n\t\t\t\t\tDom.create(\"span\", { props : {className : \"feed-event-del-but\"}, attrs: {'data-item-id': item.id, 'data-item-type': type}})\n\t\t\t\t]})\n\t\t);\n\n\t\tBX.onCustomEvent('OnDestinationAddNewItem', [item]);\n\t\tthis.socnetDestinationInput.value = '';\n\t\tthis.socnetDestinationLink.innerHTML = this.params.addLinkMessage || (top.BX.SocNetLogDestination.getSelectedCount(this.id) > 0 ? BX.message('EC_DESTINATION_ADD_MORE') : BX.message('EC_DESTINATION_ADD_USERS'));\n\t}\n\n\tunSelectCallback(item, type, search)\n\t{\n\t\tvar elements = BX.findChildren(this.socnetDestinationItems, {attribute: {'data-id': item.id}}, true);\n\t\tif (elements != null)\n\t\t{\n\t\t\tfor (var j = 0; j < elements.length; j++)\n\t\t\t{\n\t\t\t\tBX.remove(elements[j]);\n\t\t\t}\n\t\t}\n\n\t\tBX.onCustomEvent('OnDestinationUnselect');\n\t\tthis.socnetDestinationInput.value = '';\n\t\tthis.socnetDestinationLink.innerHTML = this.params.addLinkMessage || (top.BX.SocNetLogDestination.getSelectedCount(this.id) > 0 ? BX.message('EC_DESTINATION_ADD_MORE') : BX.message('EC_DESTINATION_ADD_USERS'));\n\t}\n\n\topenDialogCallback()\n\t{\n\t\tBX.style(this.socnetDestinationInputWrap, 'display', 'inline-block');\n\t\tBX.style(this.socnetDestinationLink, 'display', 'none');\n\t\tBX.focus(this.socnetDestinationInput);\n\t}\n\n\tcloseDialogCallback(cleanInputValue)\n\t{\n\t\tif (!top.BX.SocNetLogDestination.isOpenSearch() && this.socnetDestinationInput.value.length <= 0)\n\t\t{\n\t\t\tBX.style(this.socnetDestinationInputWrap, 'display', 'none');\n\t\t\tBX.style(this.socnetDestinationLink, 'display', 'inline-block');\n\t\t\tif (cleanInputValue === true)\n\t\t\t\tthis.socnetDestinationInput.value = '';\n\n\t\t\t// Disable backspace\n\t\t\tif (top.BX.SocNetLogDestination.backspaceDisable || top.BX.SocNetLogDestination.backspaceDisable != null)\n\t\t\t\tBX.unbind(window, 'keydown', top.BX.SocNetLogDestination.backspaceDisable);\n\n\t\t\tBX.bind(window, 'keydown', top.BX.SocNetLogDestination.backspaceDisable = function(e)\n\t\t\t{\n\t\t\t\tif (e.keyCode === 8)\n\t\t\t\t{\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetTimeout(function()\n\t\t\t{\n\t\t\t\tBX.unbind(window, 'keydown', top.BX.SocNetLogDestination.backspaceDisable);\n\t\t\t\ttop.BX.SocNetLogDestination.backspaceDisable = null;\n\t\t\t}, 5000);\n\t\t}\n\t}\n\n\tgetCodes()\n\t{\n\t\tvar\n\t\t\tinputsList = this.socnetDestinationItems.getElementsByTagName('INPUT'),\n\t\t\tcodes = [], i;\n\n\t\tfor (i = 0; i < inputsList.length; i++)\n\t\t{\n\t\t\tcodes.push(inputsList[i].value);\n\t\t}\n\t\treturn codes;\n\t}\n\n\tgetAttendeesCodes()\n\t{\n\t\tvar\n\t\t\tinputsList = this.socnetDestinationItems.getElementsByTagName('INPUT'),\n\t\t\tvalues = [],\n\t\t\ti, code;\n\n\t\tfor (i = 0; i < inputsList.length; i++)\n\t\t{\n\t\t\tvalues.push(inputsList[i].value);\n\t\t}\n\n\t\treturn this.convertAttendeesCodes(values);\n\t}\n\n\tconvertAttendeesCodes(values)\n\t{\n\t\tlet attendeesCodes = {};\n\t\tif (Type.isArray(values))\n\t\t{\n\t\t\tvalues.forEach(function(code)\n\t\t\t{\n\t\t\t\tif (code.substr(0, 2) === 'DR')\n\t\t\t\t{\n\t\t\t\t\tattendeesCodes[code] = \"department\";\n\t\t\t\t}\n\t\t\t\telse if (code.substr(0, 2) === 'UA')\n\t\t\t\t{\n\t\t\t\t\tattendeesCodes[code] = \"groups\";\n\t\t\t\t}\n\t\t\t\telse if (code.substr(0, 2) === 'SG')\n\t\t\t\t{\n\t\t\t\t\tattendeesCodes[code] = \"sonetgroups\";\n\t\t\t\t}\n\t\t\t\telse if (code.substr(0, 1) === 'U')\n\t\t\t\t{\n\t\t\t\t\tattendeesCodes[code] = \"users\";\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn attendeesCodes;\n\t}\n\n\tgetAttendeesCodesList(codes)\n\t{\n\t\tlet result = [];\n\t\tif (!codes)\n\t\t\tcodes = this.getAttendeesCodes();\n\t\tfor (let i in codes)\n\t\t{\n\t\t\tif (codes.hasOwnProperty(i))\n\t\t\t{\n\t\t\t\tresult.push(i);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tif (this.socnetDestinationItems)\n\t\t{\n\t\t\tDom.clean(this.socnetDestinationItems);\n\t\t}\n\n\t\tif (Type.isArray(value))\n\t\t{\n\t\t\tthis.params.itemsSelected = this.convertAttendeesCodes(value);\n\t\t}\n\t\tthis.init();\n\t}\n}","import { Tag, Loc, Dom, Event, Type } from 'main.core';\nimport { Util } from 'calendar.util';\nimport { MenuManager } from 'main.popup';\nimport { EventEmitter, BaseEvent } from 'main.core.events';\n\nexport class ColorSelector extends EventEmitter\n{\n\tLINE_MODE = 'line';\n\tSELECTOR_MODE = 'selector';\n\tVIEW_MODE = 'view';\n\n\tconstructor(params)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ColorSelector');\n\t\tthis.id = params.id || 'color-select-' + Math.round(Math.random() * 1000000);\n\t\tthis.defaultColors = Util.getDefaultColorList();\n\t\tthis.colors = [];\n\t\tthis.zIndex = 3100;\n\t\tthis.mode = params.mode || this.LINE_MODE;\n\n\t\tthis.DOM = {\n\t\t\twrap: params.wrap\n\t\t};\n\t\tthis.create();\n\n\t\tthis.setViewMode(params.viewMode || false);\n\t}\n\n\tcreate()\n\t{\n\t\tif (this.mode === this.LINE_MODE)\n\t\t{\n\t\t\tfor (let i = 0; i < this.defaultColors.length; i++)\n\t\t\t{\n\t\t\t\tthis.colors.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: this.defaultColors[i],\n\t\t\t\t\t\tnode: this.DOM.wrap.appendChild(Dom.create('LI',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tprops: { className: 'calendar-field-colorpicker-color-item' },\n\t\t\t\t\t\t\t\tattrs: { 'data-bx-calendar-color': this.defaultColors[i] },\n\t\t\t\t\t\t\t\tstyle: { backgroundColor: this.defaultColors[i] },\n\t\t\t\t\t\t\t\thtml: '<span class=\"calendar-field-colorpicker-color\"></span>'\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.DOM.customColorNode = this.DOM.wrap.appendChild(Dom.create('LI',\n\t\t\t\t{\n\t\t\t\t\tprops: { className: 'calendar-field-colorpicker-color-item' },\n\t\t\t\t\tstyle:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\twidth: 0\n\t\t\t\t\t\t},\n\t\t\t\t\thtml: '<span class=\"calendar-field-colorpicker-color\"></span>'\n\t\t\t\t}\n\t\t\t));\n\n\t\t\tthis.DOM.customColorLink = this.DOM.wrap.appendChild(Dom.create('LI', {\n\t\t\t\tprops: { className: 'calendar-field-colorpicker-color-item-more' },\n\t\t\t\thtml: '<span class=\"calendar-field-colorpicker-color-item-more-link\">' + Loc.getMessage('EC_COLOR') + '</span>',\n\t\t\t\tevents: {\n\t\t\t\t\tclick: () => {\n\t\t\t\t\t\tif (!this.colorPickerPopup)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.colorPickerPopup = new BX.ColorPicker({\n\t\t\t\t\t\t\t\tbindElement: this.DOM.customColorLink,\n\t\t\t\t\t\t\t\tonColorSelected: this.setValue.bind(this),\n\t\t\t\t\t\t\t\tpopupOptions: { zIndex: this.zIndex }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.colorPickerPopup.open();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\t\t\tEvent.bind(this.DOM.wrap, 'click', this.handleColorClick.bind(this));\n\t\t}\n\t\telse if (this.mode === this.SELECTOR_MODE)\n\t\t{\n\t\t\tthis.DOM.colorIcon = this.DOM.wrap.appendChild(Tag.render`\n\t\t\t\t<div style=\"background-color: #000;\" class=\"calendar-field-select-icon\"></div>\n\t\t\t`);\n\t\t\tEvent.bind(this.DOM.wrap, 'click', this.openPopup.bind(this));\n\t\t}\n\t\telse if (this.mode === this.VIEW_MODE)\n\t\t{\n\t\t\tthis.DOM.colorIcon = this.DOM.wrap.appendChild(Tag.render`\n\t\t\t\t<div style=\"background-color: #000;\" class=\"calendar-field-select-icon\"></div>\n\t\t\t`);\n\t\t}\n\t}\n\n\thandleColorClick(e)\n\t{\n\t\tif (this.viewMode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tlet target = Util.findTargetNode(e.target || e.srcElement, this.DOM.wrap);\n\n\t\tif (target && target.getAttribute)\n\t\t{\n\t\t\tlet value = target.getAttribute('data-bx-calendar-color');\n\t\t\tif (value !== null)\n\t\t\t{\n\t\t\t\tthis.setValue(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tsetValue(color, emitChanges = true)\n\t{\n\t\tif (this.viewMode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.activeColor = color;\n\n\t\tif (this.mode === this.LINE_MODE)\n\t\t{\n\t\t\tif (this.DOM.activeColorNode)\n\t\t\t{\n\t\t\t\tBX.removeClass(this.DOM.activeColorNode, 'active');\n\t\t\t}\n\n\t\t\tif (!BX.util.in_array(this.activeColor, this.defaultColors) && this.activeColor)\n\t\t\t{\n\t\t\t\tthis.DOM.customColorNode.style.backgroundColor = this.activeColor;\n\t\t\t\tthis.DOM.customColorNode.style.width = '';\n\n\t\t\t\tthis.DOM.activeColorNode = this.DOM.customColorNode;\n\t\t\t\tBX.addClass(this.DOM.activeColorNode, 'active');\n\t\t\t}\n\n\t\t\tlet i;\n\t\t\tfor (i = 0; i < this.colors.length; i++)\n\t\t\t{\n\t\t\t\tif (this.colors[i].color === this.activeColor)\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.activeColorNode = this.colors[i].node;\n\t\t\t\t\tBX.addClass(this.DOM.activeColorNode, 'active');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (this.mode === this.SELECTOR_MODE || this.mode === this.VIEW_MODE)\n\t\t{\n\t\t\tif (this.DOM.colorIcon)\n\t\t\t{\n\t\t\t\tthis.DOM.colorIcon.style.backgroundColor = this.activeColor;\n\t\t\t}\n\t\t\tif (this.viewMode)\n\t\t\t{\n\t\t\t\tthis.DOM.wrap.style.backgroundColor = this.activeColor;\n\t\t\t}\n\t\t}\n\n\t\tif (emitChanges)\n\t\t{\n\t\t\tthis.emit('onChange', new BaseEvent({ data: { value: this.activeColor } }));\n\t\t}\n\t}\n\n\tgetValue()\n\t{\n\t\treturn this.activeColor;\n\t}\n\n\topenPopup()\n\t{\n\t\tif (this.viewMode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.popup && this.popup.popupWindow && this.popup.popupWindow.isShown())\n\t\t{\n\t\t\treturn this.popup.close();\n\t\t}\n\n\t\tlet\n\t\t\ti, menuItems = [], icon;\n\n\t\tthis.defaultColors.forEach((color) => {\n\t\t\tmenuItems.push({\n\t\t\t\t\ttext: color,\n\t\t\t\t\tcolor: color,\n\t\t\t\t\tclassName: 'calendar-add-popup-color-menu-item',\n\t\t\t\t\tonclick: ((color) => {\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\tthis.setValue(color);\n\t\t\t\t\t\t\tthis.popup.close();\n\t\t\t\t\t\t};\n\t\t\t\t\t})(color)\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\n\t\tthis.popup = MenuManager.create(\n\t\t\tthis.id,\n\t\t\tthis.DOM.colorIcon,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\tclassName: 'calendar-color-popup-wrap',\n\t\t\t\twidth: 162,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tautoHide: true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 52,\n\t\t\t\tangle: true,\n\t\t\t\tcacheable: false\n\t\t\t}\n\t\t);\n\n\t\tthis.popup.show();\n\n\t\t// Paint round icons for section menu\n\t\tfor (i = 0; i < this.popup.menuItems.length; i++)\n\t\t{\n\t\t\tif (this.popup.menuItems[i].layout.item)\n\t\t\t{\n\t\t\t\ticon = this.popup.menuItems[i].layout.item.querySelector('.menu-popup-item-icon');\n\t\t\t\tif (Type.isDomNode(icon))\n\t\t\t\t{\n\t\t\t\t\ticon.style.backgroundColor = this.popup.menuItems[i].color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.popup.popupWindow.angle.element.style.left = '6px';\n\t}\n\n\tsetViewMode(viewMode)\n\t{\n\t\tthis.viewMode = viewMode;\n\t\tif (this.viewMode)\n\t\t{\n\t\t\tDom.clean(this.DOM.wrap);\n\t\t\tthis.DOM.wrap.className = 'calendar-field-select-icon';\n\t\t\tthis.DOM.wrap.style.backgroundColor = this.activeColor;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t//Dom.removeClass(this.DOM.wrap, 'calendar-colorpicker-readonly');\n\t\t}\n\t}\n}","import {Type, Dom, Event, Tag, Text, Loc} from \"main.core\";\nimport \"ui.icons.b24\";\nimport {MenuManager, MenuItem} from \"main.popup\";\n\nexport class SectionSelector\n{\n\tconstructor(params)\n\t{\n\t\tthis.id = params.id || 'section-select-' + Math.round(Math.random() * 1000000);\n\t\tthis.sectionList = params.sectionList;\n\t\tthis.sectionGroupList = params.sectionGroupList;\n\t\tthis.selectCallback = params.selectCallback;\n\t\tthis.openPopupCallback = params.openPopupCallback;\n\t\tthis.closePopupCallback = params.closePopupCallback;\n\t\tthis.getCurrentSection = params.getCurrentSection;\n\n\t\tthis.defaultCalendarType = params.defaultCalendarType;\n\t\tthis.defaultOwnerId = parseInt(params.defaultOwnerId) || 0;\n\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.mode = params.mode; // full|compact|textselect\n\t\tthis.DOM = {\n\t\t\touterWrap: params.outerWrap\n\t\t};\n\n\t\tthis.create();\n\t\tthis.initEventHandlers();\n\t}\n\n\tcreate()\n\t{\n\t\tif (this.mode === 'textselect')\n\t\t{\n\t\t\tthis.DOM.select = this.DOM.outerWrap;\n\t\t\tthis.DOM.selectImageWrap = this.DOM.select.appendChild(Tag.render`<span class=\"calendar-field-choice-calendar-img\"></span>`);\n\n\t\t\tthis.DOM.selectInnerText = this.DOM.select.appendChild(Tag.render`<span class=\"calendar-field-choice-calendar-name\">${Text.encode(Loc.getMessage('EC_CALENDAR_SECTION_TITLE') + ' ' + this.getCurrentTitle())}</span>`);\n\t\t}\n\t\telse if(this.mode === 'location')\n\t\t{\n\t\t\tthis.DOM.select = this.DOM.outerWrap;\n\t\t\tthis.DOM.selectImageWrap = this.DOM.select.appendChild(Tag.render`<span class=\"calendar-field-choice-calendar-img\"></span>`);\n\n\t\t\tthis.DOM.selectInnerText = this.DOM.select.appendChild(Tag.render`<span class=\"calendar-field-choice-calendar-name calendar-field-choice-calendar-name-location\">${Text.encode(Loc.getMessage('EC_CALENDAR_LOCATION_TITLE') + ' ' + this.getCurrentTitle())}</span>`);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.DOM.select = this.DOM.outerWrap.appendChild(Dom.create('DIV', {\n\t\t\t\tprops: {className: 'calendar-field calendar-field-select' + (this.mode === 'compact' ? ' calendar-field-tiny' : '')}\n\t\t\t}));\n\n\t\t\tthis.DOM.innerValue = this.DOM.select.appendChild(Dom.create('DIV', {\n\t\t\t\tprops: {className: 'calendar-field-select-icon'},\n\t\t\t\tstyle: {backgroundColor : this.getCurrentColor()}\n\t\t\t}));\n\n\t\t\tif (this.mode === 'full')\n\t\t\t{\n\t\t\t\tthis.DOM.selectInnerText = this.DOM.select.appendChild(Dom.create('SPAN', {text: this.getCurrentTitle()}));\n\t\t\t}\n\t\t}\n\t}\n\n\tinitEventHandlers()\n\t{\n\t\tEvent.bind(this.DOM.select, 'click', BX.delegate(this.openPopup, this));\n\t}\n\n\topenPopup()\n\t{\n\t\tif (this.viewMode)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.sectionMenu && this.sectionMenu.popupWindow && this.sectionMenu.popupWindow.isShown())\n\t\t{\n\t\t\treturn this.sectionMenu.close();\n\t\t}\n\n\t\tconst menuItems = [];\n\t\tconst sectionIdList = [];\n\t\tconst sectionList = this.getSectionList();\n\t\tlet i;\n\n\t\tif (Type.isArray(this.sectionGroupList))\n\t\t{\n\t\t\tthis.sectionGroupList.forEach((sectionGroup) => {\n\t\t\t\tlet filteredList;\n\t\t\t\tif (sectionGroup.belongsToView)\n\t\t\t\t{\n\t\t\t\t\tfilteredList = sectionList.filter((section) => {\n\t\t\t\t\t\treturn SectionSelector.getSectionType(section) === this.defaultCalendarType\n\t\t\t\t\t\t\t&& SectionSelector.getSectionOwner(section) === this.defaultOwnerId;\n\t\t\t\t\t}, this);\n\t\t\t\t}\n\t\t\t\telse if (sectionGroup.type === 'user' || sectionGroup.type === 'location')\n\t\t\t\t{\n\t\t\t\t\tfilteredList = sectionList.filter((section) => {\n\t\t\t\t\t\treturn SectionSelector.getSectionType(section) === 'user'\n\t\t\t\t\t\t\t&& SectionSelector.getSectionOwner(section) === sectionGroup.ownerId;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if (sectionGroup.type === 'company')\n\t\t\t\t{\n\t\t\t\t\tfilteredList = sectionList.filter((section) => {\n\t\t\t\t\t\treturn SectionSelector.getSectionType(section) === 'company_calendar'\n\t\t\t\t\t\t\t|| SectionSelector.getSectionType(section) === 'calendar_company'\n\t\t\t\t\t\t\t|| SectionSelector.getSectionType(section) === sectionGroup.type;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfilteredList = sectionList.filter((section) => {\n\t\t\t\t\t\treturn SectionSelector.getSectionType(section) === sectionGroup.type;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tfilteredList = filteredList.filter((section) => {\n\t\t\t\t\tconst id = parseInt(section.id || section.ID);\n\t\t\t\t\tif (sectionIdList.includes(id))\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tsectionIdList.push(id);\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\n\t\t\t\tif (filteredList.length > 0)\n\t\t\t\t{\n\t\t\t\t\tmenuItems.push(\n\t\t\t\t\t\tnew MenuItem({\n\t\t\t\t\t\ttext: sectionGroup.title,\n\t\t\t\t\t\tdelimiter: true\n\t\t\t\t\t}));\n\n\t\t\t\t\tfor (let i = 0; i < filteredList.length; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tmenuItems.push(this.getMenuItem(filteredList[i]));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor (i = 0; i < sectionList.length; i++)\n\t\t\t{\n\t\t\t\tmenuItems.push(this.getMenuItem(sectionList[i]));\n\t\t\t}\n\t\t}\n\n\t\tlet offsetLeft = 0;\n\t\tif (this.mode === 'compact')\n\t\t{\n\t\t\toffsetLeft = 40;\n\t\t}\n\t\telse if(this.mode === 'textselect' || this.mode === 'location')\n\t\t{\n\t\t\toffsetLeft = 0;\n\t\t}\n\n\t\tthis.sectionMenu = MenuManager.create(\n\t\t\tthis.id,\n\t\t\tthis.DOM.select,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\tcloseByEsc : true,\n\t\t\t\tautoHide : true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: offsetLeft,\n\t\t\t\tangle: this.mode === 'compact'\n\t\t\t}\n\t\t);\n\n\t\tthis.sectionMenu.popupWindow.contentContainer.style.overflow = \"auto\";\n\t\tthis.sectionMenu.popupWindow.contentContainer.style.maxHeight = \"400px\";\n\n\t\tif (this.mode === 'full')\n\t\t{\n\t\t\tthis.sectionMenu.popupWindow.setWidth(this.DOM.select.offsetWidth - 2);\n\t\t\tthis.sectionMenu.popupWindow.contentContainer.style.overflowX = \"hidden\";\n\t\t}\n\n\t\tthis.sectionMenu.show();\n\n\t\t// Paint round icons for section menu\n\t\tfor (i = 0; i < this.sectionMenu.menuItems.length; i++)\n\t\t{\n\t\t\tif (this.sectionMenu.menuItems[i].layout.item)\n\t\t\t{\n\t\t\t\tlet icon = this.sectionMenu.menuItems[i].layout.item.querySelector('.menu-popup-item-icon');\n\t\t\t\tif (icon)\n\t\t\t\t{\n\t\t\t\t\ticon.style.backgroundColor = this.sectionMenu.menuItems[i].color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tBX.addClass(this.DOM.select, 'active');\n\n\t\tif (Type.isFunction(this.openPopupCallback))\n\t\t{\n\t\t\tthis.openPopupCallback(this);\n\t\t}\n\n\t\tBX.addCustomEvent(this.sectionMenu.popupWindow, 'onPopupClose', BX.delegate(function()\n\t\t{\n\t\t\tif (Type.isFunction(this.openPopupCallback))\n\t\t\t{\n\t\t\t\tthis.closePopupCallback();\n\t\t\t}\n\t\t\tBX.removeClass(this.DOM.select, 'active');\n\t\t\tBX.PopupMenu.destroy(this.id);\n\t\t\tthis.sectionMenu = null;\n\t\t}, this));\n\t}\n\n\tgetCurrentColor()\n\t{\n\t\treturn (this.getCurrentSection() || {}).color || false;\n\t}\n\n\tgetCurrentTitle()\n\t{\n\t\treturn (this.getCurrentSection() || {}).name || '';\n\t}\n\n\tgetSectionList()\n\t{\n\t\treturn this.sectionList.filter((section) => {\n\t\t\treturn (section.PERM && section.PERM.edit) || (Type.isFunction(section.canDo) && section.canDo('edit'));\n\t\t});\n\t}\n\n\tupdateSectionImageNode(section)\n\t{\n\t\tif (!Type.isElementNode(this.DOM.selectImageWrap))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (section === undefined)\n\t\t{\n\t\t\tsection = this.sectionList.find((section) => {\n\t\t\t\treturn parseInt(section.id) === parseInt(this.getCurrentSection().id);\n\t\t\t});\n\t\t}\n\n\t\tif (section && section.type)\n\t\t{\n\t\t\tconst imageSrc = SectionSelector.getSectionImage(section);\n\t\t\tlet imageNode;\n\t\t\tif (imageSrc)\n\t\t\t{\n\t\t\t\timageNode = Tag.render`<img class=\"calendar-field-choice-calendar-img-value\" src=\"${imageSrc}\">`;\n\t\t\t}\n\t\t\telse if(section.type === 'group')\n\t\t\t{\n\t\t\t\timageNode = Tag.render`<div class=\"ui-icon ui-icon-common-user-group\"><i></i></div>`;\n\t\t\t}\n\t\t\telse if(section.type === 'user')\n\t\t\t{\n\t\t\t\timageNode = Tag.render`<div class=\"ui-icon ui-icon-common-user\"><i></i></div>`;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\timageNode = Tag.render`<div class=\"ui-icon ui-icon-common-bitrix24\"><i></i></div>`;\n\t\t\t}\n\n\t\t\tDom.clean(this.DOM.selectImageWrap);\n\t\t\tthis.DOM.selectImageWrap.appendChild(imageNode);\n\t\t}\n\t}\n\n\tgetPopup()\n\t{\n\t\treturn this.sectionMenu;\n\t}\n\n\tgetMenuItem(sectionItem)\n\t{\n\t\tlet _this = this;\n\t\treturn {\n\t\t\thtml: BX.util.htmlspecialchars(sectionItem.name || sectionItem.NAME),\n\t\t\tcolor: sectionItem.color || sectionItem.COLOR,\n\t\t\tclassName: 'calendar-add-popup-section-menu-item' + (this.mode === 'full' ? ' section-menu-item-full' : ''),\n\t\t\tonclick: (function (section)\n\t\t\t{\n\t\t\t\treturn () => {\n\t\t\t\t\tif (Type.isDomNode(_this.DOM.innerValue))\n\t\t\t\t\t{\n\t\t\t\t\t\t_this.DOM.innerValue.style.backgroundColor = section.color || sectionItem.COLOR;\n\t\t\t\t\t}\n\n\t\t\t\t\t_this.updateSectionImageNode(section);\n\t\t\t\t\tif (Type.isFunction(_this.selectCallback))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!section.color && sectionItem.COLOR)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsection.color = sectionItem.COLOR;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!section.id && sectionItem.ID)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsection.id = sectionItem.ID;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_this.selectCallback(section);\n\t\t\t\t\t}\n\t\t\t\t\t_this.sectionMenu.close();\n\t\t\t\t\t_this.updateValue();\n\t\t\t\t}\n\t\t\t})(sectionItem)\n\t\t}\n\t}\n\n\tstatic getSectionType(section)\n\t{\n\t\treturn section.type || section.CAL_TYPE;\n\t}\n\n\tstatic getSectionImage(section = {})\n\t{\n\t\treturn section.data ? section.data.IMAGE : (section.IMAGE || '');\n\t}\n\n\tstatic getSectionOwner(section)\n\t{\n\t\treturn parseInt(section.OWNER_ID || section.data.OWNER_ID)\n\t}\n\n\tupdateValue()\n\t{\n\t\tif (Type.isDomNode(this.DOM.innerValue))\n\t\t{\n\t\t\tthis.DOM.innerValue.style.backgroundColor = this.getCurrentColor();\n\t\t}\n\n\t\tif (this.mode === 'full')\n\t\t{\n\t\t\tthis.DOM.select.appendChild(Dom.adjust(this.DOM.selectInnerText, {\n\t\t\t\ttext: this.getCurrentTitle(),\n\t\t\t\tprops: {\n\t\t\t\t\ttitle: this.getCurrentTitle()\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\telse if (this.mode === 'textselect')\n\t\t{\n\t\t\tthis.updateSectionImageNode();\n\t\t\tthis.DOM.select.appendChild(Dom.adjust(this.DOM.selectInnerText, {\n\t\t\t\tprops: {\n\t\t\t\t\ttitle: Loc.getMessage('EC_CALENDAR_SECTION_TITLE') + ' ' + this.getCurrentTitle()\n\t\t\t\t},\n\t\t\t\ttext: Loc.getMessage('EC_CALENDAR_SECTION_TITLE') + ' ' + this.getCurrentTitle(),\n\t\t\t}));\n\t\t}\n\t\telse if(this.mode === 'location')\n\t\t{\n\t\t\tthis.updateSectionImageNode();\n\t\t\tthis.DOM.select.appendChild(Dom.adjust(this.DOM.selectInnerText, {\n\t\t\t\tprops: {\n\t\t\t\t\ttitle: Loc.getMessage('EC_CALENDAR_LOCATION_TITLE') + ' ' + this.getCurrentTitle()\n\t\t\t\t},\n\t\t\t\ttext: Loc.getMessage('EC_CALENDAR_LOCATION_TITLE') + ' ' + this.getCurrentTitle(),\n\t\t\t}));\n\t\t}\n\t}\n\n\tsetViewMode(viewMode)\n\t{\n\t\tthis.viewMode = viewMode;\n\t\tif (this.viewMode)\n\t\t{\n\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-section-selector-readonly');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.DOM.outerWrap, 'calendar-section-selector-readonly');\n\t\t}\n\t}\n}\n","import { Util } from 'calendar.util';\nimport { DateTimeControl } from \"calendar.controls\";\n\nexport class RepeatSelector\n{\n\tconstructor(params)\n\t{\n\t\tlet formElements = params.rruleType.form.elements;\n\n\t\tthis.getDate = params.getDate;\n\t\tthis.DOM = {\n\t\t\tformElements: formElements,\n\t\t\twrap: params.wrap,\n\t\t\trruleType: params.rruleType,\n\t\t\tinterval: formElements['EVENT_RRULE[INTERVAL]'],\n\t\t\trruleEndsOn: {\n\t\t\t\tnever: formElements['rrule_endson'][0],\n\t\t\t\tcount: formElements['rrule_endson'][1],\n\t\t\t\tuntil: formElements['rrule_endson'][2],\n\t\t\t},\n\t\t\tcount: formElements['EVENT_RRULE[COUNT]'],\n\t\t\tuntil: formElements['EVENT_RRULE[UNTIL]'],\n\t\t};\n\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tBX.bind(this.DOM.rruleType, 'change', () => {\n\t\t\tthis.changeType(this.DOM.rruleType.value);\n\t\t});\n\n\t\tBX.bind(this.DOM.until, 'click', (e) => {\n\t\t\tDateTimeControl.showInputCalendar(e);\n\t\t\tthis.DOM.rruleEndsOn.until.checked = true;\n\t\t});\n\n\t\tBX.bind(this.DOM.count, 'click', () => {\n\t\t\tthis.DOM.rruleEndsOn.count.checked = true;\n\t\t});\n\t}\n\n\tchangeType(type)\n\t{\n\t\tthis.DOM.rruleType.value = type ? type.toUpperCase() : 'NONE';\n\t\tlet rruleType = this.DOM.rruleType.value.toLowerCase();\n\t\tthis.DOM.wrap.className = 'calendar-rrule-type-' + rruleType;\n\n\t\tif (rruleType === 'weekly' && BX.type.isFunction(this.getDate))\n\t\t{\n\t\t\tlet fromDate = this.getDate();\n\t\t\tif (BX.type.isDate(fromDate))\n\t\t\t{\n\t\t\t\tlet day = Util.getWeekDayByInd(fromDate.getDay());\n\t\t\t\tthis.DOM.formElements['EVENT_RRULE[BYDAY][]'].forEach(function(input)\n\t\t\t\t{\n\t\t\t\t\tinput.checked = input.checked || input.value === day;\n\t\t\t\t}, this)\n\t\t\t}\n\t\t}\n\t}\n\n\tsetValue(rrule = {})\n\t{\n\t\tthis.changeType(rrule.FREQ);\n\t\tthis.DOM.interval.value = rrule.INTERVAL || 1;\n\t\tif (rrule.COUNT)\n\t\t{\n\t\t\tthis.DOM.rruleEndsOn.count.checked = 'checked';\n\t\t\tthis.DOM.count.value = rrule.COUNT;\n\t\t}\n\t\telse if(rrule['~UNTIL'])\n\t\t{\n\t\t\tthis.DOM.rruleEndsOn.until.checked = 'checked';\n\t\t\tthis.DOM.until.value = rrule['~UNTIL'];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.DOM.rruleEndsOn.never.checked = 'checked';\n\t\t}\n\n\t\tif (BX.type.isPlainObject(rrule.BYDAY))\n\t\t{\n\t\t\tthis.DOM.formElements['EVENT_RRULE[BYDAY][]'].forEach(function(input)\n\t\t\t{\n\t\t\t\tinput.checked = rrule.BYDAY.hasOwnProperty(input.value);\n\t\t\t}, this)\n\t\t}\n\t}\n\n\tgetType()\n\t{\n\t\treturn this.DOM.rruleType.value.toLowerCase();\n\t}\n}","import { Loc } from 'main.core';\nexport class SelectInput\n{\n\tconstructor(params)\n\t{\n\t\tthis.id = params.id || 'bx-select-input-' + Math.round(Math.random() * 1000000);\n\t\tthis.values = params.values || false;\n\t\tthis.input = params.input;\n\n\t\tthis.defaultValue = params.defaultValue || '';\n\t\tthis.openTitle = params.openTitle || '';\n\t\tthis.className = params.className || '';\n\n\t\tthis.onChangeCallback = params.onChangeCallback || null;\n\t\tthis.zIndex = params.zIndex || 1200;\n\t\tthis.disabled = params.disabled;\n\t\tthis.minWidth = params.minWidth || 0;\n\n\t\tthis.setValue({\n\t\t\tvalue: params.value,\n\t\t\tvalueIndex: params.valueIndex\n\t\t});\n\n\t\tthis.curInd = false;\n\n\t\tthis.bindEventHandlers();\n\t}\n\n\tbindEventHandlers()\n\t{\n\t\tif (this.onChangeCallback)\n\t\t{\n\t\t\tBX.bind(this.input, 'change', this.onChangeCallback);\n\t\t\tBX.bind(this.input, 'keyup', this.onChangeCallback);\n\t\t}\n\n\t\tif (this.values)\n\t\t{\n\t\t\tBX.bind(this.input, 'click', BX.proxy(this.onClick, this));\n\t\t\tBX.bind(this.input, 'focus', BX.proxy(this.onFocus, this));\n\t\t\tBX.bind(this.input, 'blur', BX.proxy(this.onBlur, this));\n\t\t\tBX.bind(this.input, 'keyup', BX.proxy(this.onKeyup, this));\n\t\t}\n\t}\n\n\tsetValue(params)\n\t{\n\t\tthis.currentValue = {value: params.value};\n\t\tthis.currentValueIndex = params.valueIndex;\n\t\tif (this.currentValueIndex !== undefined && this.values[this.currentValueIndex])\n\t\t{\n\t\t\tthis.input.value = this.values[this.currentValueIndex].label;\n\t\t}\n\t}\n\n\tgetInputValue()\n\t{\n\t\treturn this.input.value;\n\t}\n\n\tshowPopup()\n\t{\n\t\tif (this.shown || this.disabled)\n\t\t\treturn;\n\n\t\tlet\n\t\t\tind = 0,\n\t\t\tj = 0,\n\t\t\tmenuItems = [],\n\t\t\ti, _this = this;\n\n\t\tfor (i = 0; i < this.values.length; i++)\n\t\t{\n\t\t\tif (this.values[i].delimiter)\n\t\t\t{\n\t\t\t\tmenuItems.push(this.values[i]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (this.currentValue && this.values[i]\n\t\t\t\t\t&& this.values[i].value === this.currentValue.value)\n\t\t\t\t{\n\t\t\t\t\tind = j;\n\t\t\t\t}\n\n\t\t\t\tlet htmlTemp;\n\t\t\t\tif (this.values[i].reserved)\n\t\t\t\t{\n\t\t\t\t\thtmlTemp = `\n\t\t\t\t\t\t<span class=\"calendar-menu-item-title-with-status\">\n\t\t\t\t\t\t\t${BX.util.htmlspecialchars(this.values[i].label)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"calendar-menu-item-status --red\">\n\t\t\t\t\t\t\t${Loc.getMessage('EC_LOCATION_RESERVED')}\n\t\t\t\t\t\t</span>`\n\t\t\t\t}\n\t\t\t\telse if (this.values[i].capacity)\n\t\t\t\t{\n\t\t\t\t\t htmlTemp = `\n\t\t\t\t\t\t<span class=\"calendar-menu-item-title-with-status\">\n\t\t\t\t\t \t${BX.util.htmlspecialchars(this.values[i].label)}\n\t\t\t\t \t</span>\n\t\t\t\t \t<span class=\"calendar-menu-item-capacity\">\n\t\t\t\t\t \t${BX.util.htmlspecialchars(this.values[i].labelCapacity)}\n\t\t\t\t \t</span>`\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\thtmlTemp = `\n\t\t\t\t\t\t<span class=\"calendar-menu-item-title\">\n\t\t\t\t\t\t\t${BX.util.htmlspecialchars(this.values[i].label)}\n\t\t\t\t\t\t</span>`\n\t\t\t\t}\n\n\t\t\t\tif(this.values[i].color)\n\t\t\t\t{\n\t\t\t\t\tmenuItems.push({\n\t\t\t\t\t\tid: this.values[i].value,\n\t\t\t\t\t\ttitle: this.values[i].label,\n\t\t\t\t\t\tclassName: \"menu-popup-display-flex calendar-location-popup-menu-item\",\n\t\t\t\t\t\thtml: htmlTemp,\n\t\t\t\t\t\tcolor: this.values[i].color,\n\t\t\t\t\t\tonclick: this.values[i].callback || (function (value, label)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\t\t_this.input.value = label;\n\t\t\t\t\t\t\t\t_this.popupMenu.close();\n\t\t\t\t\t\t\t\t_this.onChange();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})(this.values[i].value, this.values[i].labelRaw || this.values[i].label)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tmenuItems.push({\n\t\t\t\t\t\tid: this.values[i].value,\n\t\t\t\t\t\ttext: this.values[i].label,\n\t\t\t\t\t\ttitle: this.values[i].label,\n\t\t\t\t\t\tonclick: this.values[i].callback || (function (value, label)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn function ()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t_this.input.value = label;\n\t\t\t\t\t\t\t\t_this.popupMenu.close();\n\t\t\t\t\t\t\t\t_this.onChange();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})(this.values[i].value, this.values[i].labelRaw || this.values[i].label)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\t\t}\n\n\t\tthis.popupMenu = BX.PopupMenu.create(\n\t\t\tthis.id,\n\t\t\tthis.input,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\tcloseByEsc : true,\n\t\t\t\tautoHide : true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: -1\n\t\t\t}\n\t\t);\n\n\t\tthis.popupMenu.popupWindow.setWidth(Math.max(this.input.offsetWidth + 2, this.minWidth));\n\n\t\tlet menuContainer = this.popupMenu.layout.menuContainer;\n\t\tBX.addClass(this.popupMenu.layout.menuContainer, 'calendar-select-popup');\n\t\tthis.popupMenu.show();\n\n\t\tlet menuItem = this.popupMenu.menuItems[ind];\n\n\t\tif (menuItem && menuItem.layout)\n\t\t{\n\t\t\tmenuContainer.scrollTop = menuItem.layout.item.offsetTop - menuItem.layout.item.offsetHeight;\n\t\t}\n\n\t\tlet popupMenuItems = this.popupMenu.menuItems;\n\n\t\tfor (i = 0; i < popupMenuItems.length; i++)\n\t\t{\n\t\t\tif (popupMenuItems[i].layout.item)\n\t\t\t{\n\t\t\t\tlet icon = popupMenuItems[i].layout.item.querySelector('.menu-popup-item-icon');\n\t\t\t\tif (icon)\n\t\t\t\t{\n\t\t\t\t\ticon.style.backgroundColor = popupMenuItems[i].color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tBX.addCustomEvent(this.popupMenu.popupWindow, 'onPopupClose', function()\n\t\t{\n\t\t\tBX.PopupMenu.destroy(this.id);\n\t\t\tthis.shown = false;\n\t\t\tthis.popupMenu = null;\n\t\t}.bind(this));\n\n\t\tthis.input.select();\n\n\t\tthis.shown = true;\n\t}\n\n\tclosePopup()\n\t{\n\t\tBX.PopupMenu.destroy(this.id);\n\t\tthis.popupMenu = null;\n\t\tthis.shown = false;\n\t}\n\n\tonFocus()\n\t{\n\t\tsetTimeout(function(){\n\t\t\tif (!this.shown)\n\t\t\t{\n\t\t\t\tthis.showPopup();\n\t\t\t}\n\t\t}.bind(this), 200);\n\t}\n\n\tonClick()\n\t{\n\t\tif (this.shown)\n\t\t{\n\t\t\tthis.closePopup();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.showPopup();\n\t\t}\n\t}\n\n\tonBlur()\n\t{\n\t\tsetTimeout(BX.delegate(this.closePopup, this), 200);\n\t}\n\n\tonKeyup()\n\t{\n\t\tsetTimeout(BX.delegate(this.closePopup, this), 50);\n\t}\n\n\tonChange()\n\t{\n\t\tvar val = this.input.value;\n\t\tBX.onCustomEvent(this, 'onSelectInputChanged', [this, val]);\n\t\tif (BX.type.isFunction(this.onChangeCallback))\n\t\t{\n\t\t\tthis.onChangeCallback({value: val});\n\t\t}\n\t}\n\n\tdestroy()\n\t{\n\t\tif (this.onChangeCallback)\n\t\t{\n\t\t\tBX.unbind(this.input, 'change', this.onChangeCallback);\n\t\t\tBX.unbind(this.input, 'keyup', this.onChangeCallback);\n\t\t}\n\n\t\tBX.unbind(this.input, 'click', BX.proxy(this.onClick, this));\n\t\tBX.unbind(this.input, 'focus', BX.proxy(this.onFocus, this));\n\t\tBX.unbind(this.input, 'blur', BX.proxy(this.onBlur, this));\n\t\tBX.unbind(this.input, 'keyup', BX.proxy(this.onKeyup, this));\n\n\t\tif (this.popupMenu)\n\t\t{\n\t\t\tthis.popupMenu.close();\n\t\t}\n\t\tBX.PopupMenu.destroy(this.id);\n\t\tthis.popupMenu = null;\n\t\tthis.shown = false;\n\t}\n}\n\n\n\n","export class PopupDialog {\n\tconstructor(params = {})\n\t{\n\t\tthis.id = params.id || 'popup-dialog-' + Math.random();\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.DOM = {};\n\t\tthis.title = '';\n\t}\n\n\tcreate()\n\t{\n\t\tthis.dialog = new BX.PopupWindow(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.zIndex,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: this.getTitle(),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'bxc-popup-window',\n\t\t\tbuttons: this.getButtons(),\n\t\t\tcontent: this.getContent(),\n\t\t\tevents: {}\n\t\t});\n\t}\n\n\tgetTitle()\n\t{\n\t\treturn this.title;\n\t}\n\n\tgetContent()\n\t{\n\t\tthis.DOM.content = BX.create('DIV');\n\t\treturn this.DOM.content;\n\t}\n\n\tgetButtons()\n\t{\n\t\tthis.buttons = [];\n\t\treturn this.buttons;\n\t}\n\n\tshow(params)\n\t{\n\t\tif (!this.dialog)\n\t\t{\n\t\t\tthis.create();\n\t\t}\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n}","import {Type, Dom, Event, Tag, Loc} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {MenuManager} from 'main.popup';\n\nexport class ViewSelector extends EventEmitter\n{\n\tviews = [];\n\tcreated = false;\n\tcurrentValue = null;\n\tcurrentViewMode = null;\n\tDOM = {};\n\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ViewSelector');\n\n\t\tif (Type.isArray(params.views))\n\t\t{\n\t\t\tthis.views = params.views;\n\t\t}\n\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.popupId = params.id || 'view-selector-' + Math.round(Math.random() * 10000);\n\t\tthis.create();\n\n\t\tif (params.currentView)\n\t\t{\n\t\t\tthis.setValue(params.currentView);\n\t\t}\n\n\t\tif (params.currentViewMode)\n\t\t{\n\t\t\tthis.setViewMode(params.currentViewMode);\n\t\t}\n\t}\n\n\tcreate()\n\t{\n\t\tthis.DOM.wrap = Tag.render`<div class=\"calendar-view-switcher-selector\"></div>`;\n\t\tthis.DOM.selectorText = Tag.render`<div class=\"calendar-view-switcher-text\"></div>`;\n\t\tthis.DOM.selectorTextInner = this.DOM.selectorText.appendChild(Tag.render`<div class=\"calendar-view-switcher-text-inner\"></div>`);\n\t\tthis.DOM.wrap.appendChild(this.DOM.selectorText);\n\t\tthis.DOM.wrap.appendChild(Tag.render`<div class=\"calendar-view-switcher-dropdown\"></div>`);\n\t\tEvent.bind(this.DOM.wrap, 'click', this.showPopup.bind(this));\n\t\tthis.DOM.viewModeTextInner = this.DOM.selectorText.appendChild(Tag.render`<div class=\"calendar-view-switcher-text-mode-inner\" style=\"display: none;\"></div>`);\n\n\t\tthis.created = true;\n\t}\n\n\tgetOuterWrap()\n\t{\n\t\tif (!this.created)\n\t\t{\n\t\t\tthis.create();\n\t\t}\n\n\t\treturn this.DOM.wrap;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tthis.currentValue = this.views.find(function(view)\n\t\t{\n\t\t\treturn value.name === view.name;\n\t\t}, this);\n\n\t\tif (this.currentValue)\n\t\t{\n\t\t\tDom.adjust(this.DOM.selectorTextInner, {text: this.currentValue.text});\n\t\t}\n\t}\n\n\tsetViewMode(value)\n\t{\n\t\tif (value)\n\t\t{\n\t\t\tthis.currentViewMode = this.views.find(function(view)\n\t\t\t{\n\t\t\t\treturn value === view.name && view.type === 'additional';\n\t\t\t}, this);\n\n\t\t\tif (this.currentViewMode)\n\t\t\t{\n\t\t\t\tDom.adjust(this.DOM.viewModeTextInner, {text: '(' + this.currentViewMode.text + ')'});\n\t\t\t}\n\t\t\tthis.DOM.viewModeTextInner.style.display = this.currentViewMode ? '' : 'block';\n\t\t}\n\t}\n\n\tgetMenuItems()\n\t{\n\t\tlet menuItems = [];\n\t\tthis.views.forEach(function(view)\n\t\t{\n\t\t\tif (view.type === 'base')\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\thtml: '<span>' + view.text + '</span>' + (view.hotkey ? '<span class=\"calendar-item-hotkey\">' + view.hotkey + '</span>' : ''),\n\t\t\t\t\t//text: view.text,\n\t\t\t\t\tclassName: this.currentValue.name === view.name ? 'menu-popup-item-accept' : ' ',\n\t\t\t\t\tonclick: function(){\n\t\t\t\t\t\tthis.emit('onChange', {\n\t\t\t\t\t\t\tname: view.name,\n\t\t\t\t\t\t\ttype: view.type,\n\t\t\t\t\t\t\tdataset: view.dataset\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.menuPopup.close();\n\t\t\t\t\t}.bind(this)\n\t\t\t\t});\n\t\t\t}\n\t\t}, this);\n\n\t\tif (menuItems.length < this.views.length)\n\t\t{\n\t\t\tmenuItems.push({\n\t\t\t\thtml: '<span>' + Loc.getMessage('EC_VIEW_MODE_SHOW_BY') + '</span>',\n\t\t\t\tclassName: 'main-buttons-submenu-separator main-buttons-submenu-item main-buttons-hidden-label'\n\t\t\t});\n\n\t\t\tthis.views.forEach(function(view)\n\t\t\t{\n\t\t\t\tif (view.type === 'additional')\n\t\t\t\t{\n\t\t\t\t\tmenuItems.push({\n\t\t\t\t\t\ttext: view.text,\n\t\t\t\t\t\tclassName: this.currentViewMode.name === view.name ? 'menu-popup-item-accept' : ' ',\n\t\t\t\t\t\tonclick: function(){\n\t\t\t\t\t\t\tthis.emit('onChange', {\n\t\t\t\t\t\t\t\tname: view.name,\n\t\t\t\t\t\t\t\ttype: view.type,\n\t\t\t\t\t\t\t\tdataset: view.dataset\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.menuPopup.close();\n\t\t\t\t\t\t}.bind(this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, this);\n\t\t}\n\n\t\treturn menuItems;\n\t}\n\n\tshowPopup()\n\t{\n\t\tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t\t{\n\t\t\treturn this.menuPopup.close();\n\t\t}\n\n\t\tthis.menuPopup = MenuManager.create(\n\t\t\tthis.popupId,\n\t\t\tthis.DOM.selectorText,\n\t\t\tthis.getMenuItems(),\n\t\t\t{\n\t\t\t\tclassName: \"calendar-view-switcher-popup\",\n\t\t\t\tcloseByEsc : true,\n\t\t\t\tautoHide : true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: -3,\n\t\t\t\toffsetLeft: this.DOM.selectorText.offsetWidth - 6,\n\t\t\t\tangle: true,\n\t\t\t\tcacheable: false\n\t\t\t}\n\t\t);\n\n\t\tthis.menuPopup.show();\n\t}\n\n\tclosePopup()\n\t{\n\t\tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t\t{\n\t\t\tthis.menuPopup.close();\n\t\t}\n\t}\n}\n\n\n\n","import {Type, Dom, Event, Tag, Loc} from 'main.core';\n//import {ViewSelector} from './viewselector';\nimport {EventEmitter} from 'main.core.events';\n\nexport class LineViewSelector extends EventEmitter\n{\n\tviews = [];\n\tcreated = false;\n\tcurrentValue = null;\n\tcurrentViewMode = null;\n\tDOM = {};\n\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.LineViewSelector');\n\n\t\tif (Type.isArray(params.views))\n\t\t{\n\t\t\tthis.views = params.views;\n\t\t}\n\n\t\tthis.viewsMap = new WeakMap();\n\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.popupId = params.id || 'view-selector-' + Math.round(Math.random() * 10000);\n\t\tthis.create();\n\n\t\tif (params.currentView)\n\t\t{\n\t\t\tthis.setValue(params.currentView);\n\t\t}\n\t}\n\n\tcreate()\n\t{\n\t\tthis.DOM.wrap = Tag.render`<div class=\"calendar-view-switcher-list\"></div>`;\n\n\t\tthis.views.forEach((view) =>\n\t\t{\n\t\t\tif (view.type === 'base')\n\t\t\t{\n\t\t\t\tthis.viewsMap.set(view, {\n\t\t\t\t\twrap: this.DOM.wrap.appendChild(Tag.render`<span \n\t\t\t\t\t\tclass=\"calendar-view-switcher-list-item\"\n\t\t\t\t\t\tonclick=\"${()=>{\n\t\t\t\t\t\t\tthis.emit('onChange', {\n\t\t\t\t\t\t\t\tname: view.name,\n\t\t\t\t\t\t\t\ttype: view.type,\n\t\t\t\t\t\t\t\tdataset: view.dataset\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}}\"\n\t\t\t\t\t>${view.text}</span>`)\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tthis.created = true;\n\t}\n\n\tgetOuterWrap()\n\t{\n\t\tif (!this.created)\n\t\t{\n\t\t\tthis.create();\n\t\t}\n\n\t\treturn this.DOM.wrap;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tthis.currentValue = this.views.find(function(view)\n\t\t{\n\t\t\treturn value.name === view.name;\n\t\t}, this);\n\n\t\tif (this.currentValue)\n\t\t{\n\t\t\tlet viewData = this.viewsMap.get(this.currentValue);\n\t\t\tlet currentActiveWrap = this.DOM.wrap.querySelector('.calendar-view-switcher-list-item-active');\n\t\t\tif (Type.isDomNode(currentActiveWrap))\n\t\t\t{\n\t\t\t\tDom.removeClass(currentActiveWrap, 'calendar-view-switcher-list-item-active');\n\t\t\t}\n\n\t\t\tif (Type.isDomNode(viewData.wrap))\n\t\t\t{\n\t\t\t\tDom.addClass(viewData.wrap, 'calendar-view-switcher-list-item-active');\n\t\t\t}\n\t\t}\n\t}\n\n\tsetViewMode(value)\n\t{\n\t\tif (value)\n\t\t{\n\t\t\tthis.currentViewMode = this.views.find(function(view)\n\t\t\t{\n\t\t\t\treturn value === view.name && view.type === 'additional';\n\t\t\t}, this);\n\n\t\t\t// if (this.currentViewMode)\n\t\t\t// {\n\t\t\t// \tDom.adjust(this.DOM.viewModeTextInner, {text: '(' + this.currentViewMode.text + ')'});\n\t\t\t// }\n\t\t\t//this.DOM.viewModeTextInner.style.display = this.currentViewMode ? '' : 'block';\n\t\t}\n\t}\n\n\tgetMenuItems()\n\t{\n\t\tlet menuItems = [];\n\t\tthis.views.forEach((view) =>\n\t\t{\n\t\t\tif (view.type === 'base')\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\thtml: '<span>' + view.text + '</span>' + (view.hotkey ? '<span class=\"calendar-item-hotkey\">' + view.hotkey + '</span>' : ''),\n\t\t\t\t\tclassName: this.currentValue.name === view.name ? 'menu-popup-item-accept' : ' ',\n\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\tthis.emit('onChange', {\n\t\t\t\t\t\t\tname: view.name,\n\t\t\t\t\t\t\ttype: view.type,\n\t\t\t\t\t\t\tdataset: view.dataset\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.menuPopup.close();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (menuItems.length < this.views.length)\n\t\t{\n\t\t\tmenuItems.push({\n\t\t\t\thtml: '<span>' + Loc.getMessage('EC_VIEW_MODE_SHOW_BY') + '</span>',\n\t\t\t\tclassName: 'main-buttons-submenu-separator main-buttons-submenu-item main-buttons-hidden-label'\n\t\t\t});\n\n\t\t\tthis.views.forEach(function(view)\n\t\t\t{\n\t\t\t\tif (view.type === 'additional')\n\t\t\t\t{\n\t\t\t\t\tmenuItems.push({\n\t\t\t\t\t\ttext: view.text,\n\t\t\t\t\t\tclassName: this.currentViewMode.name === view.name ? 'menu-popup-item-accept' : ' ',\n\t\t\t\t\t\tonclick: function(){\n\t\t\t\t\t\t\tthis.emit('onChange', {\n\t\t\t\t\t\t\t\tname: view.name,\n\t\t\t\t\t\t\t\ttype: view.type,\n\t\t\t\t\t\t\t\tdataset: view.dataset\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.menuPopup.close();\n\t\t\t\t\t\t}.bind(this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, this);\n\t\t}\n\n\t\treturn menuItems;\n\t}\n\n\t// showPopup()\n\t// {\n\t// \tthis.closePopup();\n\t//\n\t// \tthis.menuPopup = MenuManager.create(\n\t// \t\tthis.popupId,\n\t// \t\tthis.DOM.selectorText,\n\t// \t\tthis.getMenuItems(),\n\t// \t\t{\n\t// \t\t\tclassName: \"calendar-view-switcher-popup\",\n\t// \t\t\tcloseByEsc : true,\n\t// \t\t\tautoHide : true,\n\t// \t\t\tzIndex: this.zIndex,\n\t// \t\t\toffsetTop: -3,\n\t// \t\t\toffsetLeft: this.DOM.selectorText.offsetWidth - 6,\n\t// \t\t\tangle: true,\n\t// \t\t\tcacheable: false\n\t// \t\t}\n\t// \t);\n\t//\n\t// \tthis.menuPopup.show();\n\t// }\n\t//\n\t// closePopup()\n\t// {\n\t// \tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t// \t{\n\t// \t\treturn this.menuPopup.close();\n\t// \t}\n\t// }\n}\n\n\n\n","import {Dom, Loc, Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\n\nexport class AddButton extends EventEmitter\n{\n\tshowTasks = false;\n\tDOM = {};\n\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.AddButton');\n\t\tthis.zIndex = params.zIndex || 3200;\n\t\tthis.popupId = params.id || 'add-button-' + Math.round(Math.random() * 10000);\n\t\tthis.showTasks = params.showTasks;\n\n\t\tthis.addEntryHandler = Type.isFunction(params.addEntry) ? params.addEntry : null;\n\t\tthis.addTaskHandler = Type.isFunction(params.addTask) ? params.addTask : null;\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tthis.menuItems = [\n\t\t\t{\n\t\t\t\ttext: Loc.getMessage('EC_ADD_EVENT'),\n\t\t\t\tonclick: this.addEntry.bind(this)\n\t\t\t}\n\t\t];\n\n\t\tif (this.addTaskHandler)\n\t\t{\n\t\t\tthis.menuItems.push({\n\t\t\t\ttext: Loc.getMessage('EC_ADD_TASK'),\n\t\t\t\tonclick: this.addTask.bind(this)\n\t\t\t});\n\t\t}\n\n\t\tif (this.menuItems.length > 1)\n\t\t{\n\t\t\tthis.DOM.wrap = Dom.create(\"span\", {\n\t\t\t\tprops: {className: \"ui-btn-split ui-btn-success\"},\n\t\t\t\tchildren: [\n\t\t\t\t\tDom.create(\"button\", {\n\t\t\t\t\t\tprops: {className: \"ui-btn-main\", type: \"button\"},\n\t\t\t\t\t\thtml: Loc.getMessage('EC_ADD'),\n\t\t\t\t\t\tevents: {click: this.addEntry.bind(this)}\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t});\n\t\t\tthis.DOM.addButtonExtra = Dom.create(\"span\", {\n\t\t\t\tprops: {className: \"ui-btn-extra\"},\n\t\t\t\tevents: {click: this.showPopup.bind(this)}\n\t\t\t});\n\n\t\t\tthis.DOM.wrap.appendChild(this.DOM.addButtonExtra)\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.DOM.wrap = Dom.create(\"button\", {\n\t\t\t\tprops: {className: \"ui-btn ui-btn-success\", type: \"button\"},\n\t\t\t\thtml: Loc.getMessage('EC_ADD'),\n\t\t\t\tevents: {click: this.addEntry.bind(this)}\n\t\t\t});\n\t\t}\n\t\tthis.DOM.wrap.setAttribute('data-role', 'addButton');\n\t}\n\n\tgetWrap()\n\t{\n\t\treturn this.DOM.wrap;\n\t}\n\n\tshowPopup()\n\t{\n\t\tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t\t{\n\t\t\treturn this.menuPopup.close();\n\t\t}\n\n\t\tthis.menuPopup = BX.PopupMenu.create(\n\t\t\tthis.popupId,\n\t\t\tthis.DOM.addButtonExtra,\n\t\t\tthis.menuItems,\n\t\t\t{\n\t\t\t\tcloseByEsc : true,\n\t\t\t\tautoHide : true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 15,\n\t\t\t\tangle: true\n\t\t\t}\n\t\t);\n\n\t\tthis.menuPopup.show();\n\n\t\tBX.addCustomEvent(this.menuPopup.popupWindow, 'onPopupClose', function()\n\t\t{\n\t\t\tBX.PopupMenu.destroy(this.popupId);\n\t\t\tthis.menuPopup = null;\n\t\t\tthis.addBtnMenu = null;\n\t\t}.bind(this));\n\t}\n\n\taddEntry()\n\t{\n\t\tif (this.addEntryHandler)\n\t\t{\n\t\t\tthis.addEntryHandler();\n\t\t}\n\n\t\tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t\t{\n\t\t\tthis.menuPopup.close();\n\t\t}\n\t}\n\n\taddTask()\n\t{\n\t\tif (this.addTaskHandler)\n\t\t{\n\t\t\tthis.addTaskHandler();\n\t\t}\n\n\t\tif (this.menuPopup && this.menuPopup.popupWindow && this.menuPopup.popupWindow.isShown())\n\t\t{\n\t\t\tthis.menuPopup.close();\n\t\t}\n\t}\n}","import {Dom, Event, Loc, Type} from 'main.core';\nimport {Util} from 'calendar.util';\n\nexport class MeetingStatusControl extends Event.EventEmitter\n{\n\tshowTasks = false;\n\tDOM = {};\n\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.MeetingStatusControl');\n\t\tthis.BX = Util.getBX();\n\n\t\tif (params.wrap && Type.isDomNode(params.wrap))\n\t\t{\n\t\t\tthis.DOM.wrap = params.wrap;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthrow new Error(\"The argument \\\"params.wrap\\\" must be a DOM node.\");\n\t\t}\n\t\tthis.id = params.id || 'meeting-status-control-' + Math.round(Math.random() * 10000);\n\t\tthis.zIndex = 3100;\n\n\t\tthis.create();\n\n\t\tthis.status = params.currentStatus || null;\n\t\tif (this.status)\n\t\t{\n\t\t\tthis.updateStatus();\n\t\t}\n\t}\n\n\tcreate()\n\t{\n\t\tthis.acceptBtn = new BX.UI.Button({\n\t\t\ttext: Loc.getMessage('EC_VIEW_DESIDE_BUT_Y'),\n\t\t\tclassName: 'ui-btn ui-btn-primary',\n\t\t\tevents: {click: this.accept.bind(this)}\n\t\t});\n\t\tthis.acceptBtn.renderTo(this.DOM.wrap);\n\n\t\tthis.declineBtn = new BX.UI.Button({\n\t\t\ttext: Loc.getMessage('EC_VIEW_DESIDE_BUT_N'),\n\t\t\tclassName: 'ui-btn ui-btn-light-border',\n\t\t\tevents: {click: this.decline.bind(this)}\n\t\t});\n\t\tthis.declineBtn.renderTo(this.DOM.wrap);\n\t}\n\n\tupdateStatus()\n\t{\n\t\tif (this.status === 'H')\n\t\t{\n\t\t\tthis.acceptBtn.getContainer().style.display = 'none';\n\t\t\tthis.declineBtn.getContainer().style.display = '';\n\t\t\tthis.declineBtn.setText(Loc.getMessage('EC_VIEW_DESIDE_BUT_OWNER_N'));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.status === 'Y')\n\t\t\t{\n\t\t\t\tthis.acceptBtn.getContainer().style.display = 'none';\n\t\t\t\tthis.declineBtn.getContainer().style.display = '';\n\t\t\t}\n\t\t\telse if (this.status === 'N')\n\t\t\t{\n\t\t\t\tthis.acceptBtn.getContainer().style.display = '';\n\t\t\t\tthis.declineBtn.getContainer().style.display = 'none';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.acceptBtn.getContainer().style.display = '';\n\t\t\t\tthis.declineBtn.getContainer().style.display = '';\n\t\t\t}\n\t\t}\n\t}\n\n\taccept()\n\t{\n\t\tthis.setStatus('Y');\n\t}\n\n\tdecline()\n\t{\n\t\tthis.setStatus('N');\n\t}\n\n\tsetStatus(value, emitEvent = true)\n\t{\n\t\tthis.status = value;\n\n\t\tif (this.menuPopup)\n\t\t{\n\t\t\tthis.menuPopup.close();\n\t\t}\n\n\t\tif (emitEvent)\n\t\t{\n\t\t\tthis.emit('onSetStatus', new Event.BaseEvent({data: {status: value}}));\n\t\t}\n\t}\n}","import {Dom, Loc} from 'main.core';\nimport { EntryManager } from 'calendar.entry';\nimport { EventEmitter, BaseEvent} from 'main.core.events';\n\nexport class ConfirmStatusDialog extends EventEmitter\n{\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ConfirmStatusDialog');\n\t\tthis.zIndex = 3200;\n\t\tthis.id = 'confirm-status-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow()\n\t{\n\t\tlet content = Dom.create('DIV');\n\t\tthis.dialog = new BX.PopupWindow(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.zIndex,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_DECLINE_REC_EVENT'),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'bxc-popup-window',\n\t\t\tbuttons: [\n\t\t\t\tnew BX.PopupWindowButtonLink({\n\t\t\t\t\ttext: Loc.getMessage('EC_SEC_SLIDER_CANCEL'),\n\t\t\t\t\tclassName: \"popup-window-button-link-cancel\",\n\t\t\t\t\tevents: {click : this.close.bind(this)}\n\t\t\t\t})\n\t\t\t],\n\t\t\tcontent: content,\n\t\t\tcacheable: false\n\t\t});\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: Loc.getMessage('EC_DECLINE_ONLY_THIS'),\n\t\t\tevents: {\n\t\t\t\tclick : () => {\n\t\t\t\t\tthis.onDeclineHandler();\n\t\t\t\t\tthis.emit('onDecline', new BaseEvent({data: {recursionMode: 'this'}}));\n\t\t\t\t}\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: Loc.getMessage('EC_DECLINE_NEXT'),\n\t\t\tevents: {\n\t\t\t\tclick : () => {\n\t\t\t\t\tthis.onDeclineHandler();\n\t\t\t\t\tthis.emit('onDecline', new BaseEvent({data: {recursionMode: 'next'}}));\n\t\t\t\t}\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tcontent.appendChild(new BX.PopupWindowButton(\n\t\t\t{\n\t\t\t\ttext: Loc.getMessage('EC_DECLINE_ALL'),\n\t\t\t\tevents: {\n\t\t\t\t\tclick : () => {\n\t\t\t\t\t\tthis.onDeclineHandler();\n\t\t\t\t\t\tthis.emit('onDecline', new BaseEvent({data: {recursionMode: 'all'}}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}).buttonNode);\n\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n\n\tonDeclineHandler()\n\t{\n\t\tthis.close();\n\t\tconst compactForm = EntryManager.getCompactViewForm();\n\t\tif (compactForm\n\t\t\t&& compactForm.isShown())\n\t\t{\n\t\t\tcompactForm.close();\n\t\t}\n\t}\n}","import {Dom, Loc} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\n\nexport class ConfirmEditDialog extends EventEmitter\n{\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ConfirmEditDialog');\n\t\tthis.zIndex = 3200;\n\t\tthis.id = 'confirm-edit-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow()\n\t{\n\t\tlet content = Dom.create('DIV');\n\t\tthis.dialog = new BX.PopupWindow(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.zIndex,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_EDIT_REC_EVENT'),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'bxc-popup-window',\n\t\t\tbuttons: [\n\t\t\t\tnew BX.PopupWindowButtonLink({\n\t\t\t\t\ttext: Loc.getMessage('EC_SEC_SLIDER_CANCEL'),\n\t\t\t\t\tclassName: \"popup-window-button-link-cancel\",\n\t\t\t\t\tevents: {click : this.close.bind(this)}\n\t\t\t\t})\n\t\t\t],\n\t\t\tcontent: content,\n\t\t\tevents: {},\n\t\t\tcacheable: false\n\t\t});\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: Loc.getMessage('EC_REC_EV_ONLY_THIS_EVENT'),\n\t\t\tevents: {\n\t\t\t\tclick: ()=>{\n\t\t\t\t\tthis.emit('onEdit', new BaseEvent({data: {recursionMode: 'this'}}));\n\t\t\t\t\tthis.close();\n\t\t\t\t}\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: Loc.getMessage('EC_REC_EV_NEXT'),\n\t\t\tevents: {\n\t\t\t\tclick: ()=>{\n\t\t\t\t\tthis.emit('onEdit', new BaseEvent({data: {recursionMode: 'next'}}));\n\t\t\t\t\tthis.close();\n\t\t\t\t}\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tcontent.appendChild(new BX.PopupWindowButton(\n\t\t\t{\n\t\t\t\ttext: Loc.getMessage('EC_REC_EV_ALL'),\n\t\t\t\tevents: {\n\t\t\t\t\tclick : ()=>{\n\t\t\t\t\t\tthis.emit('onEdit', new BaseEvent({data: {recursionMode: 'all'}}));\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}).buttonNode);\n\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n}","'use strict';\nimport {PopupDialog} from './popupdialog';\n\nexport class ConfirmDeleteDialog extends PopupDialog\n{\n\tconstructor(params = {})\n\t{\n\t\tsuper(params);\n\t\tthis.title = BX.message('EC_DEL_REC_EVENT');\n\t\tthis.entry = params.entry;\n\t}\n\n\tgetContent()\n\t{\n\t\tthis.DOM.content = BX.create('DIV');\n\n\t\tthis.DOM.content.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: BX.message('EC_REC_EV_ONLY_THIS_EVENT'),\n\t\t\tevents: {\n\t\t\t\tclick : function() {\n\t\t\t\t\tthis.entry.deleteThis();\n\t\t\t\t\tthis.close();\n\t\t\t\t}.bind(this)\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tthis.DOM.content.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: BX.message('EC_REC_EV_NEXT'),\n\t\t\tevents: {\n\t\t\t\tclick : function() {\n\t\t\t\t\tthis.entry.deleteNext();\n\t\t\t\t\tthis.close();\n\t\t\t\t}.bind(this)\n\t\t\t}\n\t\t}).buttonNode);\n\n\t\tthis.DOM.content.appendChild(new BX.PopupWindowButton(\n\t\t\t{\n\t\t\t\ttext: BX.message('EC_REC_EV_ALL'),\n\t\t\t\tevents: {\n\t\t\t\t\tclick : function() {\n\t\t\t\t\t\tthis.entry.deleteAll();\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}.bind(this)\n\t\t\t\t}\n\t\t\t}).buttonNode);\n\n\t\treturn this.DOM.content;\n\t}\n\n\tgetButtons()\n\t{\n\t\treturn [\n\t\t\tnew BX.PopupWindowButtonLink({\n\t\t\t\ttext: BX.message('EC_SEC_SLIDER_CANCEL'),\n\t\t\t\tclassName: \"popup-window-button-link-cancel\",\n\t\t\t\tevents: {click : this.close.bind(this)}\n\t\t\t})\n\t\t];\n\t}\n}","\"use strict\";\nimport {Type, Event, Loc, Dom, Tag} from 'main.core';\nimport {Util} from 'calendar.util';\nimport {TimeSelector} from \"./timeselector\";\nimport {EventEmitter, BaseEvent} from 'main.core.events';\n\nexport class DateTimeControl extends EventEmitter\n{\n\tDATE_INPUT_WIDTH = 110;\n\tTIME_INPUT_WIDTH = 70;\n\tMODIFIED_TIME_INPUT_WIDTH = 80;\n\tzIndex = 4200;\n\n\tconstructor(uid, options = {showTimezone: true})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.DateTimeControl');\n\n\t\tthis.showTimezone = options.showTimezone;\n\t\tthis.inlineEditMode = !!options.inlineEditMode;\n\t\tthis.currentInlineEditMode = options.currentInlineEditMode || 'view';\n\n\t\tthis.UID = uid || 'date-time-' + Math.round(Math.random() * 100000);\n\n\t\tthis.DOM = {\n\t\t\touterWrap: options.outerWrap || null,\n\t\t\touterContent: options.outerContent || null\n\t\t};\n\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tif (Type.isDomNode(this.DOM.outerWrap))\n\t\t{\n\t\t\tif (this.inlineEditMode)\n\t\t\t{\n\t\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-datetime-inline-mode-view');\n\t\t\t}\n\n\t\t\tthis.DOM.leftInnerWrap = this.DOM.outerWrap.appendChild(Tag.render`<div class=\"calendar-field-block calendar-field-block-left\"></div>`);\n\n\t\t\tthis.DOM.fromDate = this.DOM.leftInnerWrap.appendChild(Tag.render`\n\t\t\t\t<input class=\"calendar-field calendar-field-datetime\" value=\"\" type=\"text\" autocomplete=\"off\" style=\"width: ${this.DATE_INPUT_WIDTH}px;\"/>\n\t\t\t`);\n\t\t\tif (this.inlineEditMode)\n\t\t\t{\n\t\t\t\tthis.DOM.fromDateText = this.DOM.leftInnerWrap.appendChild(Tag.render`<span class=\"calendar-field-value calendar-field-value-date\"></span>`);\n\t\t\t}\n\n\t\t\tthis.DOM.fromTime = this.DOM.leftInnerWrap.appendChild(Tag.render`\n\t\t\t\t<input class=\"calendar-field calendar-field-time\" value=\"\" type=\"text\" autocomplete=\"off\" style=\"width: ${this.TIME_INPUT_WIDTH}px;\"/>\n\t\t\t`);\n\t\t\tif (this.inlineEditMode)\n\t\t\t{\n\t\t\t\tthis.DOM.fromTimeText = this.DOM.leftInnerWrap.appendChild(Tag.render`<span class=\"calendar-field-value calendar-field-value-time\"></span>`);\n\t\t\t}\n\n\t\t\tthis.DOM.betweenSpacer = this.DOM.outerWrap.appendChild(Tag.render`<div class=\"calendar-field-block calendar-field-block-between\" />`);\n\n\t\t\tthis.DOM.rightInnerWrap = this.DOM.outerWrap.appendChild(Tag.render`<div class=\"calendar-field-block calendar-field-block-right\"></div>`);\n\n\t\t\tthis.DOM.toTime = this.DOM.rightInnerWrap.appendChild(Tag.render`\n\t\t\t\t<input class=\"calendar-field calendar-field-time\" value=\"\" type=\"text\" autocomplete=\"off\" style=\"width: ${this.TIME_INPUT_WIDTH}px;\"/>\n\t\t\t`);\n\t\t\tif (this.inlineEditMode)\n\t\t\t{\n\t\t\t\tthis.DOM.toTimeText = this.DOM.rightInnerWrap.appendChild(Tag.render`<span class=\"calendar-field-value calendar-field-value-time\"></span>`);\n\t\t\t}\n\n\t\t\tthis.DOM.toDate = this.DOM.rightInnerWrap.appendChild(Tag.render`\n\t\t\t\t<input class=\"calendar-field calendar-field-datetime\" value=\"\" type=\"text\" autocomplete=\"off\" style=\"width: ${this.DATE_INPUT_WIDTH}px;\"/>`);\n\n\t\t\tif (this.inlineEditMode)\n\t\t\t{\n\t\t\t\tthis.DOM.toDateText = this.DOM.rightInnerWrap.appendChild(Tag.render`<span class=\"calendar-field-value calendar-field-value-date\"></span>`);\n\t\t\t}\n\n\t\t\tthis.fromTimeControl = new TimeSelector({\n\t\t\t\tinput: this.DOM.fromTime,\n\t\t\t\tonChangeCallback: this.handleTimeFromChange.bind(this)\n\t\t\t});\n\n\t\t\tthis.toTimeControl = new TimeSelector({\n\t\t\t\tinput: this.DOM.toTime,\n\t\t\t\tonChangeCallback: this.handleTimeToChange.bind(this)\n\t\t\t});\n\n\t\t\tlet fullDayWrap = this.DOM.outerWrap.appendChild(Tag.render`\n\t\t\t\t<span class=\"calendar-event-full-day\"></span>\n\t\t\t`);\n\t\t\tthis.DOM.fullDay = fullDayWrap.appendChild(Tag.render`\n\t\t\t\t<input value=\"Y\" type=\"checkbox\" id=\"{this.UID}\"/>\n\t\t\t`);\n\t\t\tfullDayWrap.appendChild(Tag.render`<label for=\"{this.UID}\">${Loc.getMessage('EC_ALL_DAY')}</label>`);\n\t\t}\n\n\t\t//this.DOM.defTimezoneWrap = BX(this.UID + '_timezone_default_wrap');\n\t\t//this.DOM.defTimezone = BX(this.UID + '_timezone_default');\n\n\t\tif (this.showTimezone)\n\t\t{\n\t\t\t// this.DOM.fromTz = BX(this.UID + '_timezone_from');\n\t\t\t// this.DOM.toTz = BX(this.UID + '_timezone_to');\n\t\t\t// this.DOM.tzButton = BX(this.UID + '_timezone_btn');\n\t\t\t// this.DOM.tzOuterCont = BX(this.UID + '_timezone_wrap');\n\t\t\t// this.DOM.tzCont = BX(this.UID + '_timezone_inner_wrap');\n\t\t\t// BX(this.UID + '_timezone_hint').title = BX.message('EC_EVENT_TZ_HINT');\n\t\t\t// BX(this.UID + '_timezone_default_hint').title = BX.message('EC_EVENT_TZ_DEF_HINT');\n\t\t}\n\n\t\tthis.bindEventHandlers();\n\t}\n\n\tsetValue(value = {})\n\t{\n\t\tthis.DOM.fromDate.value = Util.formatDate(value.from);\n\t\tthis.DOM.toDate.value = Util.formatDate(value.to);\n\n\t\tthis.lastDateValue = value.from;\n\n\t\tthis.fromTimeControl.setValue(value.from);\n\t\tthis.toTimeControl.setValue(value.to);\n\n\t\tthis.DOM.fromTime.value = Util.formatTime(value.from);\n\t\tthis.DOM.toTime.value = Util.formatTime(value.to);\n\n\t\tif (this.inlineEditMode)\n\t\t{\n\t\t\tthis.DOM.fromDateText.innerHTML = Util.formatDateUsable(value.from, true, true);\n\t\t\tthis.DOM.toDateText.innerHTML = Util.formatDateUsable(value.to, true, true);\n\n\t\t\t// Hide right part if it's the same date\n\t\t\tthis.DOM.toDateText.style.display = this.DOM.fromDate.value === this.DOM.toDate.value ? 'none' : '';\n\n\t\t\tif (value.fullDay)\n\t\t\t{\n\t\t\t\tif (this.DOM.fromDate.value === this.DOM.toDate.value)\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.toTimeText.innerHTML = Loc.getMessage('EC_ALL_DAY');\n\t\t\t\t\tthis.DOM.toTimeText.style.display = '';\n\t\t\t\t\tthis.DOM.fromTimeText.style.display = 'none';\n\t\t\t\t\tthis.DOM.fromTimeText.innerHTML = '';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.betweenSpacer.style.display = '';\n\t\t\t\t\tthis.DOM.fromTimeText.style.display = 'none';\n\t\t\t\t\tthis.DOM.toTimeText.style.display = 'none';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.DOM.fromTimeText.innerHTML = this.DOM.fromTime.value;\n\t\t\t\tthis.DOM.toTimeText.innerHTML = this.DOM.toTime.value;\n\t\t\t\tthis.DOM.betweenSpacer.style.display = '';\n\t\t\t\tthis.DOM.fromTimeText.style.display = '';\n\t\t\t\tthis.DOM.toTimeText.style.display = '';\n\t\t\t}\n\t\t}\n\n\t\tif (value.fullDay !== undefined)\n\t\t{\n\t\t\tthis.DOM.fullDay.checked = value.fullDay;\n\t\t}\n\n\t\tif (this.showTimezone)\n\t\t{\n\t\t\tvalue.timezoneFrom = value.timezoneFrom || value.timezoneName;\n\t\t\tvalue.timezoneTo = value.timezoneTo || value.timezoneName;\n\n\t\t\tif (value.timezoneFrom !== undefined && Type.isDomNode(this.DOM.fromTz))\n\t\t\t{\n\t\t\t\tthis.DOM.fromTz.value = value.timezoneFrom;\n\t\t\t}\n\t\t\tif(value.timezoneTo !== undefined && Type.isDomNode(this.DOM.toTz))\n\t\t\t{\n\t\t\t\tthis.DOM.toTz.value = value.timezoneTo;\n\t\t\t}\n\n\t\t\tif (value.timezoneName !== undefined\n\t\t\t\t&& (value.timezoneName !== value.timezoneFrom\n\t\t\t\t\t|| value.timezoneName !== value.timezoneTo))\n\t\t\t{\n\t\t\t\tthis.switchTimezone(true);\n\t\t\t}\n\t\t}\n\t\tthis.value = value;\n\n\t\tthis.handleFullDayChange();\n\t}\n\n\tgetValue()\n\t{\n\t\tlet value = {\n\t\t\tfullDay: this.DOM.fullDay.checked,\n\t\t\tfromDate: this.DOM.fromDate.value,\n\t\t\ttoDate: this.DOM.toDate.value,\n\t\t\tfromTime: this.DOM.fromTime.value,\n\t\t\ttoTime: this.DOM.toTime.value,\n\t\t\ttimezoneFrom: this.DOM.fromTz ? this.DOM.fromTz.value : (this.value.timezoneFrom || this.value.timezoneName || null),\n\t\t\ttimezoneTo: this.DOM.toTz ? this.DOM.toTz.value : (this.value.timezoneTo || this.value.timezoneName || null)\n\t\t};\n\n\t\tvalue.from = Util.parseDate(value.fromDate);\n\t\tif (Type.isDate(value.from))\n\t\t{\n\t\t\tvalue.to = Util.parseDate(value.toDate);\n\t\t\tif (!Type.isDate(value.to))\n\t\t\t{\n\t\t\t\tvalue.to = value.from;\n\t\t\t}\n\n\t\t\tif (value.fullDay)\n\t\t\t{\n\t\t\t\tvalue.from.setHours(0, 0, 0);\n\t\t\t\tvalue.to.setHours(0, 0, 0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlet\n\t\t\t\t\tfromTime = Util.parseTime(value.fromTime),\n\t\t\t\t\ttoTime = Util.parseTime(value.toTime) || fromTime;\n\n\t\t\t\tif (fromTime && toTime)\n\t\t\t\t{\n\t\t\t\t\tvalue.from.setHours(fromTime.h, fromTime.m, 0);\n\t\t\t\t\tvalue.to.setHours(toTime.h, toTime.m, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tbindEventHandlers()\n\t{\n\t\tEvent.bind(this.DOM.fromDate, 'click', DateTimeControl.showInputCalendar);\n\t\tEvent.bind(this.DOM.fromDate, 'change', this.handleDateFromChange.bind(this));\n\n\t\tEvent.bind(this.DOM.toDate, 'click', DateTimeControl.showInputCalendar);\n\t\tEvent.bind(this.DOM.toDate, 'change', this.handleDateToChange.bind(this));\n\n\t\tEvent.bind(this.DOM.fullDay, 'click', () => {\n\t\t\tthis.handleFullDayChange();\n\t\t\tthis.handleValueChange();\n\t\t});\n\n\t\tif (this.inlineEditMode)\n\t\t{\n\t\t\tEvent.bind(this.DOM.outerWrap, 'click', this.changeInlineEditMode.bind(this));\n\t\t}\n\n\t\tif (Type.isDomNode(this.DOM.defTimezone))\n\t\t{\n\t\t\tEvent.bind(this.DOM.defTimezone, 'change', BX.delegate(function()\n\t\t\t{\n\t\t\t\t//this.calendar.util.setUserOption('timezoneName', this.DOM.defTimezone.value);\n\t\t\t\tif (this.bindFromToDefaultTimezones)\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.fromTz.value = this.DOM.toTz.value = this.DOM.defTimezone.value;\n\t\t\t\t}\n\t\t\t}, this));\n\t\t}\n\n\t\tif (this.showTimezone)\n\t\t{\n\t\t\tif (Type.isDomNode(this.DOM.tzButton))\n\t\t\t{\n\t\t\t\tEvent.bind(this.DOM.tzButton, 'click', this.switchTimezone.bind(this));\n\t\t\t}\n\n\t\t\tEvent.bind(this.DOM.fromTz, 'change', function()\n\t\t\t{\n\t\t\t\tif (this.bindTimezones)\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.toTz.value = this.DOM.fromTz.value;\n\t\t\t\t}\n\t\t\t\tthis.bindFromToDefaultTimezones = false;\n\t\t\t}.bind(this));\n\n\t\t\tEvent.bind(this.DOM.toTz, 'change', function()\n\t\t\t{\n\t\t\t\tthis.bindTimezones = false;\n\t\t\t\tthis.bindFromToDefaultTimezones = false;\n\t\t\t}.bind(this));\n\n\t\t\tthis.bindTimezones = this.DOM.fromTz.value === this.DOM.toTz.value;\n\t\t\tthis.bindFromToDefaultTimezones = this.bindTimezones\n\t\t\t\t&& this.DOM.fromTz.value === this.DOM.toTz.value\n\t\t\t\t&& this.DOM.fromTz.value === this.DOM.defTimezone.value;\n\t\t}\n\t}\n\n\tstatic showInputCalendar(e)\n\t{\n\t\tlet target = e.target || e.srcElement;\n\t\tif (Type.isDomNode(target) && target.nodeName.toLowerCase() === 'input')\n\t\t{\n\t\t\tconst calendarControl = BX.calendar.get();\n\t\t\tif (calendarControl.popup)\n\t\t\t{\n\t\t\t\t// Workaround hack for BX.calendar - it works as singleton and we trying to reinit it\n\t\t\t\tcalendarControl.popup.destroy();\n\t\t\t\tcalendarControl.popup = null;\n\t\t\t\tcalendarControl._current_layer = null;\n\t\t\t\tcalendarControl._layers = {};\n\t\t\t}\n\t\t\tcalendarControl.Show({node: target.parentNode, field: target, bTime: false});\n\t\t\tBX.onCustomEvent(window, 'onCalendarControlChildPopupShown');\n\n\t\t\tconst calendarPopup = calendarControl.popup;\n\t\t\tif (calendarPopup)\n\t\t\t{\n\t\t\t\tBX.removeCustomEvent(calendarPopup, 'onPopupClose', DateTimeControl.inputCalendarClosePopupHandler);\n\t\t\t\tBX.addCustomEvent(calendarPopup, 'onPopupClose', DateTimeControl.inputCalendarClosePopupHandler);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic inputCalendarClosePopupHandler(e)\n\t{\n\t\tBX.onCustomEvent(window, 'onCalendarControlChildPopupClosed');\n\t}\n\n\thandleDateFromChange()\n\t{\n\t\tlet\n\t\t\tfromTime = Util.parseTime(this.DOM.fromTime.value),\n\t\t\ttoTime = Util.parseTime(this.DOM.toTime.value),\n\t\t\tfromDate = Util.parseDate(this.DOM.fromDate.value),\n\t\t\ttoDate = Util.parseDate(this.DOM.toDate.value);\n\n\t\tif (this.lastDateValue)\n\t\t{\n\t\t\tif (this.DOM.fullDay.checked && this.lastDateValue)\n\t\t\t{\n\t\t\t\tthis.lastDateValue.setHours(0, 0, 0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (fromDate && fromTime)\n\t\t\t\t{\n\t\t\t\t\tfromDate.setHours(fromTime.h, fromTime.m, 0);\n\t\t\t\t}\n\n\t\t\t\tif (toDate && toTime)\n\t\t\t\t{\n\t\t\t\t\ttoDate.setHours(toTime.h, toTime.m, 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fromDate && this.lastDateValue)\n\t\t\t{\n\t\t\t\ttoDate = new Date(fromDate.getTime()\n\t\t\t\t\t+ ((toDate.getTime() - this.lastDateValue.getTime()) || 3600000));\n\n\t\t\t\tif (toDate)\n\t\t\t\t{\n\t\t\t\t\tthis.DOM.toDate.value = Util.formatDate(toDate);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.lastDateValue = fromDate;\n\n\t\tthis.handleValueChange();\n\t}\n\n\thandleTimeFromChange()\n\t{\n\t\tlet\n\t\t\tfromTime = Util.parseTime(this.DOM.fromTime.value),\n\t\t\ttoTime = Util.parseTime(this.DOM.toTime.value),\n\t\t\tfromDate = Util.parseDate(this.DOM.fromDate.value),\n\t\t\ttoDate = Util.parseDate(this.DOM.toDate.value);\n\n\t\tif (fromDate && fromTime)\n\t\t{\n\t\t\tfromDate.setHours(fromTime.h, fromTime.m, 0);\n\t\t}\n\n\t\tif (toDate && toTime)\n\t\t{\n\t\t\ttoDate.setHours(toTime.h, toTime.m, 0);\n\t\t}\n\n\t\tif (this.lastDateValue)\n\t\t{\n\t\t\tlet newToDate = new Date(\n\t\t\t\tUtil.getTimeRounded(fromDate) +\n\t\t\t\tUtil.getTimeRounded(toDate)\n\t\t\t\t- Util.getTimeRounded(this.lastDateValue)\n\t\t\t);\n\t\t\tthis.DOM.toTime.value = Util.formatTime(newToDate);\n\t\t\tthis.DOM.toDate.value = Util.formatDate(newToDate);\n\t\t}\n\n\t\tthis.lastDateValue = fromDate;\n\t\tthis.handleValueChange();\n\t}\n\n\thandleDateToChange()\n\t{\n\t\tthis.handleValueChange();\n\t}\n\n\thandleTimeToChange()\n\t{\n\t\tthis.handleValueChange();\n\t}\n\n\thandleFullDayChange()\n\t{\n\t\tlet fullDay = this.getFullDayValue();\n\n\t\tif (fullDay)\n\t\t{\n\t\t\tif (Type.isDomNode(this.DOM.dateTimeWrap))\n\t\t\t{\n\t\t\t\tDom.addClass(this.DOM.dateTimeWrap, 'calendar-options-item-datetime-hide-time');\n\t\t\t}\n\n\t\t\tif (Type.isDomNode(this.DOM.outerWrap))\n\t\t\t{\n\t\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-options-item-datetime-hide-time');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Type.isDomNode(this.DOM.dateTimeWrap))\n\t\t\t{\n\t\t\t\tDom.removeClass(this.DOM.dateTimeWrap, 'calendar-options-item-datetime-hide-time');\n\t\t\t}\n\t\t\tif (Type.isDomNode(this.DOM.outerWrap))\n\t\t\t{\n\t\t\t\tDom.removeClass(this.DOM.outerWrap, 'calendar-options-item-datetime-hide-time');\n\t\t\t}\n\t\t}\n\t}\n\n\thandleValueChange()\n\t{\n\t\tthis.emit('onChange', new BaseEvent({data: {value: this.getValue()}}));\n\t}\n\n\tgetFullDayValue()\n\t{\n\t\treturn !!this.DOM.fullDay.checked;\n\t}\n\n\tswitchTimezone(showTimezone)\n\t{\n\t\tif (!Type.isBoolean(showTimezone))\n\t\t{\n\t\t\tshowTimezone = BX.hasClass(this.DOM.tzCont, 'calendar-options-timezone-collapse');\n\t\t}\n\n\t\tif (showTimezone)\n\t\t{\n\t\t\tDom.addClass(this.DOM.tzCont, 'calendar-options-timezone-expand');\n\t\t\tDom.removeClass(this.DOM.tzCont, 'calendar-options-timezone-collapse');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.addClass(this.DOM.tzCont, 'calendar-options-timezone-collapse');\n\t\t\tDom.removeClass(this.DOM.tzCont, 'calendar-options-timezone-expand');\n\t\t}\n\t}\n\n\tchangeInlineEditMode()\n\t{\n\t\tif (!this.viewMode)\n\t\t{\n\t\t\tthis.setInlineEditMode('edit');\n\t\t}\n\t}\n\n\tsetViewMode(viewMode)\n\t{\n\t\tthis.viewMode = viewMode;\n\t\tif (this.viewMode && this.currentInlineEditMode === 'edit')\n\t\t{\n\t\t\tthis.setInlineEditMode('view');\n\t\t}\n\t}\n\n\tsetInlineEditMode(currentInlineEditMode)\n\t{\n\t\tif (this.inlineEditMode)\n\t\t{\n\t\t\tthis.currentInlineEditMode = currentInlineEditMode;\n\t\t\tif (this.currentInlineEditMode === 'edit')\n\t\t\t{\n\t\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-datetime-inline-mode-edit');\n\t\t\t\tDom.removeClass(this.DOM.outerWrap, 'calendar-datetime-inline-mode-view');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(this.DOM.outerWrap, 'calendar-datetime-inline-mode-edit');\n\t\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-datetime-inline-mode-view');\n\t\t\t}\n\t\t}\n\t}\n}\n","import {Dom, Loc} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\n\nexport class BusyUsersDialog extends EventEmitter\n{\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ConfirmStatusDialog');\n\t\tthis.zIndex = 3200;\n\t\tthis.id = 'busy-user-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow(params = {})\n\t{\n\t\tthis.plural = params.users.length > 1;\n\n\t\tlet i, userNames = [];\n\t\tfor (i = 0; i < params.users.length; i++)\n\t\t{\n\t\t\tuserNames.push(params.users[i].DISPLAY_NAME);\n\t\t}\n\t\tuserNames = userNames.join(', ');\n\n\t\tlet content = BX.create('DIV', {\n\t\t\tprops: {className: 'calendar-busy-users-content-wrap'},\n\t\t\thtml: '<div class=\"calendar-busy-users-content\">'\n\t\t\t\t+ BX.util.htmlspecialchars(this.plural ?\n\t\t\t\t\tLoc.getMessage('EC_BUSY_USERS_PLURAL').replace('#USER_LIST#', userNames)\n\t\t\t\t\t:\n\t\t\t\t\tLoc.getMessage('EC_BUSY_USERS_SINGLE').replace('#USER_NAME#', params.users[0].DISPLAY_NAME))\n\t\t\t\t+ '</div>'\n\t\t});\n\n\t\tthis.dialog = new BX.PopupWindow(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.zIndex,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_BUSY_USERS_TITLE'),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'bxc-popup-window',\n\t\t\t// buttons: [\n\t\t\t// \tnew BX.PopupWindowButtonLink({\n\t\t\t// \t\ttext: Loc.getMessage('EC_BUSY_USERS_CLOSE'),\n\t\t\t// \t\tclassName: \"popup-window-button-link-cancel\",\n\t\t\t// \t\tevents: {click : () => {\n\t\t\t// \t\t\t// if (this.calendar.editSlider)\n\t\t\t// \t\t\t// \tthis.calendar.editSlider.close();\n\t\t\t//\n\t\t\t// \t\t\tthis.close();\n\t\t\t// \t\t}\n\t\t\t// \t\t}\n\t\t\t// \t})\n\t\t\t// ],\n\t\t\tcontent: content,\n\t\t\tevents: {}\n\t\t});\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: Loc.getMessage('EC_BUSY_USERS_BACK2EDIT'),\n\t\t\tevents: {click : () => {this.close();}}\n\t\t}).buttonNode);\n\n\t\tcontent.appendChild(new BX.PopupWindowButton({\n\t\t\ttext: this.plural ? Loc.getMessage('EC_BUSY_USERS_EXCLUDE_PLURAL') : Loc.getMessage('EC_BUSY_USERS_EXCLUDE_SINGLE'),\n\t\t\tevents: {click : () => {\n\t\t\t\tthis.emit('onSaveWithout');\n\t\t\t\tthis.close();\n\t\t\t}}\n\t\t}).buttonNode);\n\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n}","import {Type, Dom, Event, Runtime, Tag, Loc, Text} from 'main.core';\nimport {Util} from 'calendar.util';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Planner} from \"calendar.planner\";\nimport {Popup, MenuManager} from 'main.popup';\nimport {Dialog as EntitySelectorDialog} from 'ui.entity-selector';\nimport { ControlButton } from 'intranet.control-button';\nimport {AttendeesList, Location} from \"calendar.controls\";\n\nexport class UserPlannerSelector extends EventEmitter\n{\n\tstatic VIEW_MODE = 'view';\n\tstatic EDIT_MODE = 'edit';\n\tstatic MAX_USER_COUNT = 8; // 8\n\tstatic MAX_USER_COUNT_DISPLAY = 10; // 10\n\tstatic PLANNER_WIDTH = 450;\n\tzIndex = 4200;\n\treadOnlyMode = true;\n\tmeetingNotifyValue = true;\n\tuserSelectorDialog = null;\n\tattendeesEntityList = [];\n\tinlineEditMode = UserPlannerSelector.VIEW_MODE;\n\tprevUserList = [];\n\tloadedAccessibilityData = {};\n\n\tconstructor(params = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.UserPlannerSelector');\n\t\tthis.selectorId = params.id || 'user-selector-' + Math.round(Math.random() * 10000);\n\t\tthis.BX = Util.getBX();\n\t\tthis.DOM = {\n\t\t\touterWrap: params.outerWrap,\n\t\t\twrap: params.wrap,\n\t\t\tinformWrap: params.informWrap,\n\t\t\tinformWrapText: params.informWrap.querySelector('.calendar-field-container-inform-text'),\n\t\t\tmoreLink: params.outerWrap.querySelector('.calendar-members-more'),\n\t\t\tchangeLink: params.outerWrap.querySelector('.calendar-members-change-link'),\n\t\t\tattendeesLabel: params.outerWrap.querySelector('.calendar-attendees-label'),\n\t\t\tattendeesList: params.outerWrap.querySelector('.calendar-attendees-list'),\n\t\t\tuserSelectorWrap: params.outerWrap.querySelector('.calendar-user-selector-wrap'),\n\t\t\tplannerOuterWrap: params.plannerOuterWrap,\n\t\t\tvideocallWrap: params.outerWrap.querySelector('.calendar-videocall-wrap'),\n\t\t\thideGuestsWrap: params.hideGuestsWrap,\n\t\t\thideGuestsIcon: params.hideGuestsWrap.querySelector('.calendar-hide-members-icon-hidden')\n\t\t};\n\t\tthis.refreshPlanner = Runtime.debounce(this.refreshPlannerState, 100, this);\n\n\t\tif (Type.isBoolean(params.readOnlyMode))\n\t\t{\n\t\t\tthis.readOnlyMode = params.readOnlyMode;\n\t\t}\n\n\t\tthis.userId = params.userId;\n\t\tthis.type = params.type;\n\t\tthis.ownerId = params.ownerId;\n\t\tthis.zIndex = params.zIndex || this.zIndex;\n\t\tthis.dayOfWeekMonthFormat = params.dayOfWeekMonthFormat;\n\n\t\tthis.plannerFeatureEnabled = !!params.plannerFeatureEnabled;\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tif (this.DOM.changeLink && !this.isReadOnly())\n\t\t{\n\t\t\tEvent.bind(this.DOM.changeLink, 'click', () => {\n\t\t\t\tif (!this.userSelectorDialog)\n\t\t\t\t{\n\t\t\t\t\tthis.userSelectorDialog = new EntitySelectorDialog({\n\t\t\t\t\t\ttargetNode: this.DOM.changeLink,\n\t\t\t\t\t\tcontext: 'CALENDAR',\n\t\t\t\t\t\tpreselectedItems: this.attendeesPreselectedItems,\n\t\t\t\t\t\tenableSearch: true,\n\t\t\t\t\t\tzIndex: this.zIndex + 10,\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'Item:onSelect': this.handleUserSelectorChanges.bind(this),\n\t\t\t\t\t\t\t'Item:onDeselect': this.handleUserSelectorChanges.bind(this),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tentities: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'user',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tinviteGuestLink: true,\n\t\t\t\t\t\t\t\t\temailUsers: true,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'project'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'department',\n\t\t\t\t\t\t\t\toptions: {selectMode: 'usersAndDepartments'}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'meta-user',\n\t\t\t\t\t\t\t\toptions: { 'all-users': true }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tsearchTabOptions: {\n\t\t\t\t\t\t\tstubOptions: {\n\t\t\t\t\t\t\t\ttitle: Loc.getMessage('EC_USER_DIALOG_404_TITLE'),\n\t\t\t\t\t\t\t\tsubtitle: Loc.getMessage('EC_USER_DIALOG_404_SUBTITLE'),\n\t\t\t\t\t\t\t\ticon: '/bitrix/images/calendar/search-email.svg',\n\t\t\t\t\t\t\t\ticonOpacity: 100,\n\t\t\t\t\t\t\t\tarrow: true,\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\tthis.userSelectorDialog.show();\n\t\t\t});\n\t\t}\n\n\t\tif (this.DOM.moreLink)\n\t\t{\n\t\t\tEvent.bind(this.DOM.moreLink, 'click', this.showMoreAttendeesPopup.bind(this));\n\t\t}\n\n\t\tthis.planner = new Planner({\n\t\t\twrap: this.DOM.plannerOuterWrap,\n\t\t\tminWidth: UserPlannerSelector.PLANNER_WIDTH,\n\t\t\twidth: UserPlannerSelector.PLANNER_WIDTH,\n\t\t\tshowEntryName: false,\n\t\t\tlocked: !this.plannerFeatureEnabled,\n\t\t\tdayOfWeekMonthFormat: this.dayOfWeekMonthFormat\n\n\t\t});\n\n\t\tEvent.bind(this.DOM.informWrap, 'click', () => {\n\t\t\tthis.setInformValue(!this.meetingNotifyValue);\n\t\t\tthis.emit('onNotifyChange');\n\t\t});\n\n\t\tthis.DOM.attendeesLabel.innerHTML = Text.encode(Loc.getMessage('EC_ATTENDEES_LABEL_ONE'));\n\n\t\tthis.planner.subscribe('onDateChange', (event) => {this.emit('onDateChange', event);});\n\t\tthis.planner.subscribe('onExpandTimeline', this.handleExpandPlannerTimeline.bind(this));\n\n\t\tif (this.DOM.hideGuestsWrap && !this.isReadOnly())\n\t\t{\n\t\t\tEvent.bind(this.DOM.hideGuestsWrap, 'click', ()=>{\n\t\t\t\tthis.setHideGuestsValue(!this.hideGuests);\n\t\t\t});\n\t\t}\n\t}\n\n\tsetValue({attendeesEntityList, attendees, location, notify, hideGuests, viewMode, entry})\n\t{\n\t\tthis.attendeesEntityList = Type.isArray(attendeesEntityList) ? attendeesEntityList : [];\n\t\tthis.attendeesPreselectedItems = this.attendeesEntityList.map((item) => {return [item.entityId, item.id]});\n\n\t\tthis.entry = entry;\n\t\tthis.entryId = this.entry.id;\n\t\tif (this.attendeesEntityList.length > 1 && !viewMode)\n\t\t{\n\t\t\tthis.showPlanner();\n\t\t}\n\n\t\tthis.setEntityList(this.attendeesEntityList);\n\t\tthis.setInformValue(notify);\n\t\tthis.setLocationValue(location);\n\n\t\tif (Type.isArray(attendees))\n\t\t{\n\t\t\tthis.displayAttendees(attendees);\n\t\t}\n\t\tthis.refreshPlanner();\n\n\n\t\tif (BX?.Intranet?.ControlButton\n\t\t\t&& this.DOM.videocallWrap\n\t\t\t&& this.entryId\n\t\t\t&& this.entry.getCurrentStatus() !== false\n\t\t)\n\t\t{\n\t\t\tDom.clean(this.DOM.videocallWrap);\n\t\t\tDom.removeClass(this.DOM.videocallWrap, 'calendar-videocall-hidden');\n\n\t\t\tthis.intranetControllButton = new ControlButton({\n\t\t\t\tcontainer: this.DOM.videocallWrap,\n\t\t\t\tentityType: 'calendar_event',\n\t\t\t\tentityId: this.entry.parentId,\n\t\t\t\tmainItem: 'chat',\n\t\t\t\tentityData: {\n\t\t\t\t\tdateFrom: Util.formatDate(this.entry.from),\n\t\t\t\t\tparentId: this.entry.parentId\n\t\t\t\t},\n\t\t\t\tanalyticsLabel: {\n\t\t\t\t\tformType: 'compact'\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// For testing purposes\n\t\t\tif (Type.isElementNode(this.intranetControllButton.button))\n\t\t\t{\n\t\t\t\tthis.intranetControllButton.button.setAttribute('data-role', 'videocallButton');\n\t\t\t}\n\t\t}\n\t\telse if(this.DOM.videocallWrap)\n\t\t{\n\t\t\tDom.addClass(this.DOM.videocallWrap, 'calendar-videocall-hidden');\n\t\t}\n\n\t\tthis.setHideGuestsValue(hideGuests);\n\t}\n\n\thandleUserSelectorChanges()\n\t{\n\t\tthis.showPlanner();\n\t\tthis.setEntityList(this.userSelectorDialog.getSelectedItems().map((item) => {\n\t\t\treturn {\n\t\t\t\tentityId: item.entityId,\n\t\t\t\tid: item.id,\n\t\t\t\tentityType: item.entityType,\n\t\t\t}}));\n\n\t\tthis.refreshPlanner();\n\t\tthis.emit('onUserCodesChange');\n\t}\n\n\tgetEntityList()\n\t{\n\t\treturn this.selectorEntityList;\n\t}\n\n\tsetEntityList(selectorEntityList)\n\t{\n\t\tif (this.type === 'user' && this.userId !== this.ownerId)\n\t\t{\n\t\t\tselectorEntityList.push({entityId: 'user', id: this.ownerId});\n\t\t}\n\n\t\tthis.selectorEntityList = selectorEntityList;\n\t}\n\n\tisReadOnly()\n\t{\n\t\treturn this.readOnlyMode;\n\t}\n\n\tgetUserSelector()\n\t{\n\t\treturn BX.UI.SelectorManager.instances[this.selectorId];\n\t}\n\n\tshowPlanner()\n\t{\n\t\tif (!this.isPlannerDisplayed())\n\t\t{\n\t\t\tDom.addClass(this.DOM.outerWrap, 'user-selector-edit-mode');\n\t\t\tthis.planner.show();\n\t\t\tthis.planner.showLoader();\n\t\t}\n\t}\n\n\tcheckBusyTime()\n\t{\n\t\tconst dateTime = this.getDateTime();\n\t\tconst entityList = this.getEntityList();\n\n\t\tthis.runPlannerDataRequest({\n\t\t\tentityList: entityList,\n\t\t\tfrom: Util.formatDate(dateTime.from.getTime() - Util.getDayLength() * 3),\n\t\t\tto: Util.formatDate(dateTime.to.getTime() + Util.getDayLength() * 10),\n\t\t\ttimezone: dateTime.timezoneFrom,\n\t\t\tlocation: this.getLocationValue(),\n\t\t\tentryId: this.entryId\n\t\t})\n\t\t\t.then((response) =>\n\t\t\t{\n\t\t\t\tfor (let id in response.data.accessibility)\n\t\t\t\t{\n\t\t\t\t\tif (response.data.accessibility.hasOwnProperty(id))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.loadedAccessibilityData[id] = response.data.accessibility[id];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (Type.isArray(response.data.entries))\n\t\t\t\t{\n\t\t\t\t\tresponse.data.entries.forEach((entry) => {\n\t\t\t\t\t\tif (entry.type === 'user' && !this.prevUserList.includes(parseInt(entry.id)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.prevUserList.push(parseInt(entry.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (Type.isArray(response.data.accessibility[this.ownerId]))\n\t\t\t\t{\n\t\t\t\t\tconst from = this.getDateTime().from;\n\t\t\t\t\tconst to = this.getDateTime().to;\n\t\t\t\t\tconst preparedData = this.preparedDataAccessibility(response.data.accessibility[this.ownerId]);\n\n\t\t\t\t\tconst item = this.planner.checkTimePeriod(from, to, preparedData);\n\t\t\t\t\tif (\n\t\t\t\t\t\tType.isObject(item)\n\t\t\t\t\t\t&& Type.isArray(response.data.entries)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.showPlanner();\n\t\t\t\t\t\tthis.planner.update(response.data.entries, response.data.accessibility);\n\t\t\t\t\t\tthis.planner.updateSelector(dateTime.from, dateTime.to, dateTime.fullDay);\n\t\t\t\t\t\tthis.planner.hideLoader();\n\t\t\t\t\t\tthis.displayAttendees(this.prepareAttendeesForDisplay(response.data.entries));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprepareAttendeesForDisplay(attendees)\n\t{\n\t\treturn (attendees)\n\t\t\t.filter((item) =>\n\t\t\t{\n\t\t\t\treturn item.type === 'user';\n\t\t\t})\n\t\t\t.map((item) =>\n\t\t\t{\n\t\t\t\treturn {\n\t\t\t\t\tID: item.id,\n\t\t\t\t\tAVATAR: item.avatar,\n\t\t\t\t\tDISPLAY_NAME: item.name,\n\t\t\t\t\tEMAIL_USER: item.emailUser,\n\t\t\t\t\tSTATUS: (item.status || '').toUpperCase(),\n\t\t\t\t\tURL: item.url\n\t\t\t\t};\n\t\t\t});\n\t}\n\n\trefreshPlannerState()\n\t{\n\t\tif (this.planner && this.planner.isShown())\n\t\t{\n\t\t\tlet dateTime = this.getDateTime();\n\t\t\tthis.loadPlannerData({\n\t\t\t\tentityList: this.getEntityList(),\n\t\t\t\tfrom: Util.formatDate(dateTime.from.getTime() - Util.getDayLength() * 3),\n\t\t\t\tto: Util.formatDate(dateTime.to.getTime() + Util.getDayLength() * 10),\n\t\t\t\ttimezone: dateTime.timezoneFrom,\n\t\t\t\tlocation: this.getLocationValue(),\n\t\t\t\tentryId: this.entryId,\n\t\t\t\tprevUserList: this.prevUserList\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.displayAttendees(this.prepareAttendeesForDisplay(response.data.entries || []));\n\t\t\t\t});\n\t\t}\n\t}\n\n\tloadPlannerData(params = {})\n\t{\n\t\tthis.planner.showLoader();\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.runPlannerDataRequest(params)\n\t\t\t\t.then((response) => {\n\t\t\t\t\t\tfor (let id in response.data.accessibility)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (response.data.accessibility.hasOwnProperty(id))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.loadedAccessibilityData[id] = response.data.accessibility[id];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Type.isArray(response.data.entries))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresponse.data.entries.forEach((entry) => {\n\t\t\t\t\t\t\t\tif (entry.type === 'user' && !this.prevUserList.includes(parseInt(entry.id)))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.prevUserList.push(parseInt(entry.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\n\t\t\t\t\t\tthis.planner.hideLoader();\n\t\t\t\t\t\tlet dateTime = this.getDateTime();\n\t\t\t\t\t\tthis.planner.update(\n\t\t\t\t\t\t\tresponse.data.entries,\n\t\t\t\t\t\t\tthis.loadedAccessibilityData\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.planner.updateSelector(\n\t\t\t\t\t\t\tdateTime.from,\n\t\t\t\t\t\t\tdateTime.to,\n\t\t\t\t\t\t\tdateTime.fullDay,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfocus: params.focusSelector !== false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t},\n\t\t\t\t\t(response) => {resolve(response);}\n\t\t\t\t);\n\t\t});\n\t}\n\n\trunPlannerDataRequest(params)\n\t{\n\t\treturn this.BX.ajax.runAction('calendar.api.calendarajax.updatePlanner', {\n\t\t\tdata: {\n\t\t\t\tentryId: params.entryId || 0,\n\t\t\t\tentryLocation: this.entry.data.LOCATION || '',\n\t\t\t\townerId: this.ownerId,\n\t\t\t\ttype: this.type,\n\t\t\t\tentityList: params.entityList || [],\n\t\t\t\tdateFrom: params.from || '',\n\t\t\t\tdateTo: params.to || '',\n\t\t\t\ttimezone: params.timezone || '',\n\t\t\t\tlocation: params.location || '',\n\t\t\t\tentries: params.entrieIds || false,\n\t\t\t\tprevUserList: params.prevUserList || []\n\t\t\t}\n\t\t});\n\t}\n\n\tsetDateTime(dateTime, updatePlaner = false)\n\t{\n\t\tthis.dateTime = dateTime;\n\t\tif (this.planner && updatePlaner)\n\t\t{\n\t\t\tthis.planner.updateSelector(dateTime.from, dateTime.to, dateTime.fullDay);\n\t\t}\n\t}\n\n\tgetDateTime()\n\t{\n\t\treturn this.dateTime;\n\t}\n\n\tsetLocationValue(location)\n\t{\n\t\tthis.location = location;\n\t}\n\n\tgetLocationValue()\n\t{\n\t\treturn this.location;\n\t}\n\n\tdisplayAttendees(attendees = [])\n\t{\n\t\tDom.clean(this.DOM.attendeesList);\n\t\tthis.attendeeList = AttendeesList.sortAttendees(attendees);\n\t\tconst usersCount = this.attendeeList.accepted.length\n\t\t\t+ this.attendeeList.requested.length;\n\t\tthis.emit('onDisplayAttendees', new BaseEvent({\n\t\t\tdata: {\n\t\t\t\tusersCount: usersCount\n\t\t\t}\n\t\t}));\n\n\t\tlet userLength = this.attendeeList.accepted.length;\n\t\tif (userLength > 0)\n\t\t{\n\t\t\tif (userLength > UserPlannerSelector.MAX_USER_COUNT_DISPLAY)\n\t\t\t{\n\t\t\t\tuserLength = UserPlannerSelector.MAX_USER_COUNT;\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < userLength; i++)\n\t\t\t{\n\t\t\t\tthis.attendeeList.accepted[i].shown = true;\n\t\t\t\tthis.DOM.attendeesList.appendChild(UserPlannerSelector.getUserAvatarNode(this.attendeeList.accepted[i]));\n\t\t\t}\n\t\t}\n\n\t\tif (userLength > 1)\n\t\t{\n\t\t\tthis.DOM.attendeesLabel.innerHTML = Text.encode(Loc.getMessage('EC_ATTENDEES_LABEL_NUM')).replace('#COUNT#', `<span>(</span>${this.attendeeList.accepted.length}<span>)</span>`);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.DOM.attendeesLabel.innerHTML = Text.encode(Loc.getMessage('EC_ATTENDEES_LABEL_ONE'));\n\t\t}\n\n\t\tif (userLength < attendees.length)\n\t\t{\n\t\t\tthis.DOM.moreLink.innerHTML = Text.encode(Loc.getMessage('EC_ATTENDEES_ALL_COUNT').replace('#COUNT#', attendees.length));\n\t\t\tDom.show(this.DOM.moreLink);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.hide(this.DOM.moreLink);\n\t\t}\n\n\t\tif (this.hasExternalEmailUsers(attendees)\n\t\t\t&& this.isPlannerDisplayed()\n\t\t\t&& !this.isReadOnly())\n\t\t{\n\t\t\tthis.showHideGuestsOption();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.hideHideGuestsOption();\n\t\t}\n\t}\n\n\tstatic getUserAvatarNode(user)\n\t{\n\t\tlet\n\t\t\timageNode,\n\t\t\timg = user.AVATAR || user.SMALL_AVATAR;\n\t\tif (!img || img === \"/bitrix/images/1.gif\")\n\t\t{\n\t\t\timageNode = Tag.render`<div title=\"${Text.encode(user.DISPLAY_NAME)}\" class=\"ui-icon ${(user.EMAIL_USER ? 'ui-icon-common-user-mail' : 'ui-icon-common-user')}\"><i></i></div>`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\timageNode = Tag.render`\n\t\t\t<img\n\t\t\t\ttitle=\"${Text.encode(user.DISPLAY_NAME)}\"\n\t\t\t\tclass=\"calendar-member\"\n\t\t\t\tid=\"simple_popup_${parseInt(user.ID)}\"\n\t\t\t\tsrc=\"${img}\"\n\t\t\t>`;\n\t\t}\n\t\treturn imageNode;\n\t}\n\n\tshowMoreAttendeesPopup()\n\t{\n\t\t(new AttendeesList(this.DOM.moreLink, this.attendeeList)).showPopup();\n\t}\n\n\tsetInformValue(value)\n\t{\n\t\tif (Type.isBoolean(value))\n\t\t{\n\t\t\tconst DISABLED_CLASS = 'calendar-field-container-inform-off';\n\t\t\tthis.meetingNotifyValue = value;\n\t\t\tif (this.meetingNotifyValue)\n\t\t\t{\n\t\t\t\tDom.removeClass(this.DOM.informWrap, DISABLED_CLASS);\n\t\t\t\tthis.DOM.informWrap.title = Loc.getMessage('EC_NOTIFY_OPTION_ON_TITLE');\n\t\t\t\tthis.DOM.informWrapText.innerHTML = Loc.getMessage('EC_NOTIFY_OPTION');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.addClass(this.DOM.informWrap, DISABLED_CLASS);\n\t\t\t\tthis.DOM.informWrap.title = Loc.getMessage('EC_NOTIFY_OPTION_OFF_TITLE');\n\t\t\t\tthis.DOM.informWrapText.innerHTML = Loc.getMessage('EC_DONT_NOTIFY_OPTION');\n\t\t\t}\n\t\t}\n\t}\n\n\tgetInformValue(value)\n\t{\n\t\treturn this.meetingNotifyValue;\n\t}\n\n\tsetViewMode(readOnlyMode)\n\t{\n\t\tthis.readOnlyMode = readOnlyMode;\n\t\tif (this.readOnlyMode)\n\t\t{\n\t\t\tDom.addClass(this.DOM.outerWrap, 'calendar-userselector-readonly');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.DOM.outerWrap, 'calendar-userselector-readonly');\n\t\t}\n\t}\n\n\tisPlannerDisplayed()\n\t{\n\t\treturn this.planner.isShown();\n\t}\n\n\thasExternalEmailUsers(attendees = [])\n\t{\n\t\treturn !!attendees.find((item) => {return item.EMAIL_USER;})\n\t\t\t|| !!this.getEntityList().find((item) => {return item.entityType === 'email';});\n\t}\n\n\tdestroy()\n\t{\n\t\tif (this.userSelectorDialog && this.userSelectorDialog.destroy)\n\t\t{\n\t\t\tthis.userSelectorDialog.destroy();\n\t\t \tthis.userSelectorDialog = null;\n\t\t}\n\n\t\tif (this.intranetControllButton && this.intranetControllButton.destroy)\n\t\t{\n\t\t\tthis.intranetControllButton.destroy();\n\t\t\tthis.intranetControllButton = null;\n\t\t}\n\t}\n\n\tshowHideGuestsOption()\n\t{\n\t\tthis.DOM.hideGuestsWrap.style.display = '';\n\t\tUtil.initHintNode(this.DOM.hideGuestsWrap.querySelector('.calendar-hide-members-helper'));\n\t}\n\n\thideHideGuestsOption()\n\t{\n\t\tthis.DOM.hideGuestsWrap.style.display = 'none';\n\t}\n\n\tsetHideGuestsValue(hideGuests = true)\n\t{\n\t\tthis.hideGuests = hideGuests;\n\n\t\tif (Type.isElementNode(this.DOM.hideGuestsIcon))\n\t\t{\n\t\t\tthis.DOM.hideGuestsIcon.className = this.hideGuests ? 'calendar-hide-members-icon-hidden' : 'calendar-hide-members-icon-visible'\n\t\t}\n\n\t\tconst hideGuestsText = this.DOM.hideGuestsWrap.querySelector('.calendar-hide-members-text');\n\t\tif (Type.isElementNode(hideGuestsText))\n\t\t{\n\t\t\thideGuestsText.innerHTML = this.hideGuests\n\t\t\t\t? Loc.getMessage('EC_HIDE_GUEST_NAMES')\n\t\t\t\t: Loc.getMessage('EC_SHOW_GUEST_NAMES');\n\t\t}\n\t}\n\n\tpreparedDataAccessibility(calendarEventsAccessibility)\n\t{\n\t\treturn calendarEventsAccessibility.map((item) => {\n\t\t\treturn Planner.prepareAccessibilityItem(item);\n\t\t});\n\t}\n\n\tclearAccessibilityData(userIdList: Object): void\n\t{\n\t\tif (Type.isArray(userIdList) && userIdList.length && this.prevUserList.length)\n\t\t{\n\t\t\tthis.prevUserList = this.prevUserList.filter((userId) => {\n\t\t\t\treturn !userIdList.includes(userId);\n\t\t\t});\n\t\t}\n\t}\n\n\thandleExpandPlannerTimeline(event)\n\t{\n\t\tif (event && event.getData)\n\t\t{\n\t\t\tlet data = event.getData();\n\t\t\tif (data.reload)\n\t\t\t{\n\t\t\t\tconst dateTime = this.getDateTime();\n\t\t\t\tthis.loadPlannerData({\n\t\t\t\t\tentityList: this.getEntityList(),\n\t\t\t\t\tfrom: Util.formatDate(data.dateFrom),\n\t\t\t\t\tto: Util.formatDate(data.dateTo),\n\t\t\t\t\ttimezone: dateTime.timezoneFrom,\n\t\t\t\t\tlocation: this.getLocationValue(),\n\t\t\t\t\tentryId: this.entryId,\n\t\t\t\t\tfocusSelector: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}","import {Dom, Loc} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Popup} from 'main.popup';\n\nexport class ReinviteUserDialog extends EventEmitter\n{\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ReinviteUserDialog');\n\t\tthis.zIndex = 3200;\n\t\tthis.id = 'reinvite-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow()\n\t{\n\t\tconst content = Dom.create('DIV');\n\t\tthis.dialog = new Popup(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.zIndex,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_REINVITE_TITLE'),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'reinvite-popup-window',\n\t\t\tcontent: content,\n\t\t\tevents: {},\n\t\t\tcacheable: false\n\t\t});\n\n\t\tnew BX.UI.Button({\n\t\t\ttext : Loc.getMessage('EC_REINVITE_YES'),\n\t\t\tclassName: \"ui-btn ui-btn-primary\",\n\t\t\tevents : {click : () => {\n\t\t\t\t\tthis.emit('onSelect', new BaseEvent({data: {sendInvitesAgain: true}}));\n\t\t\t\t\tthis.close();\n\t\t\t\t}}\n\t\t}).renderTo(content);\n\n\t\tnew BX.UI.Button({\n\t\t\ttext: Loc.getMessage('EC_REINVITE_NO'),\n\t\t\tclassName: \"ui-btn ui-btn-light-border\",\n\t\t\tevents : {click : () => {\n\t\t\t\t\tthis.emit('onSelect', new BaseEvent({data: {sendInvitesAgain: false}}));\n\t\t\t\t\tthis.close();\n\t\t\t\t}}\n\t\t}).renderTo(content);\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n}","import {Tag, Loc, Dom, Event, Type, Runtime} from 'main.core';\nimport {PopupManager} from 'main.popup';\nimport {EventEmitter} from 'main.core.events';\nexport class EmailSelectorControl extends EventEmitter\n{\n\tDOM = {};\n\tCONFIRM_POPUP_ID = 'add_from_email';\n\n\tconstructor(params)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.EmailSelectorControl');\n\t\tthis.DOM.select = params.selectNode;\n\t\tthis.mailboxList = Type.isArray(params.mailboxList) ? params.mailboxList : [];\n\t\tthis.DOM.componentWrap = this.DOM.select.parentNode.appendChild(Tag.render`<div style=\"display: none;\"></div>`);\n\t\tthis.allowAddNewEmail = params.allowAddNewEmail;\n\t\tthis.checkValueDebounce = Runtime.debounce(this.checkValue, 50, this);\n\t\tthis.create();\n\t}\n\n\tcreate()\n\t{\n\t\tthis.setSelectValues();\n\t\tEvent.bind(this.DOM.select, 'change', this.checkValueDebounce);\n\t\tEvent.bind(this.DOM.select, 'click', this.checkValueDebounce);\n\t}\n\n\tcheckValue()\n\t{\n\t\tif (this.DOM.select.value === 'add')\n\t\t{\n\t\t\tthis.showAdd();\n\t\t\tthis.setValue('');\n\t\t}\n\t}\n\n\tgetValue()\n\t{\n\t\treturn this.DOM.select.value;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tif (this.mailboxList.length\n\t\t\t&& this.mailboxList.find((mailbox) => {return mailbox.email === value}))\n\t\t{\n\t\t\tthis.DOM.select.value = value;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.DOM.select.value = '';\n\t\t}\n\t\tthis.emit('onSetValue', {\n\t\t\tvalue: this.DOM.select.value\n\t\t});\n\t}\n\n\tsetSelectValues()\n\t{\n\t\tDom.clean(this.DOM.select);\n\t\tthis.DOM.select.options.add(new Option(Loc.getMessage('EC_NO_VALUE'), ''));\n\t\tif (this.mailboxList.length)\n\t\t{\n\t\t\tthis.mailboxList.forEach((value) => {\n\t\t\t\tthis.DOM.select.options.add(new Option(value.formatted, value.email));\n\t\t\t}, this);\n\t\t}\n\n\t\tif (this.allowAddNewEmail)\n\t\t{\n\t\t\tthis.DOM.select.options.add(new Option(Loc.getMessage('EC_ADD_NEW'), 'add'));\n\t\t}\n\t}\n\n\tonClick(item)\n\t{\n\t\tthis.input.value = item.sender;\n\t\tthis.mailbox.textContent = item.sender;\n\t}\n\n\tshowAdd()\n\t{\n\t\tif (window.BXMainMailConfirm)\n\t\t{\n\t\t\twindow.BXMainMailConfirm.showForm(this.onAdd.bind(this));\n\t\t}\n\t\tconst mainMailConfirmPopup = PopupManager.getPopupById(this.CONFIRM_POPUP_ID);\n\t\tif (mainMailConfirmPopup)\n\t\t{\n\t\t\tmainMailConfirmPopup.subscribe('onClose', ()=>{\n\t\t\t\tthis.reloadMailboxList();\n\t\t\t});\n\t\t}\n\t}\n\n\tonAdd(data)\n\t{\n\t\tthis.reloadMailboxList()\n\t\t\t.then(() => {\n\t\t\t\tsetTimeout(()=>{\n\t\t\t\t\tthis.setValue(data.email);\n\t\t\t\t},0);\n\t\t\t});\n\t}\n\n\tgetMenuItem(item)\n\t{\n\t\treturn {\n\t\t\t'id': item.id,\n\t\t\t'text': BX.util.htmlspecialchars(item.sender),\n\t\t\t'onclick': this.onClick.bind(this, item)\n\t\t};\n\t}\n\n\tloadMailboxData()\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tBX.ajax.runAction('calendar.api.calendarajax.getAllowedMailboxData')\n\t\t\t\t.then(\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tBX.html(this.DOM.componentWrap, response.data.html);\n\t\t\t\t\t\tthis.mailboxList = response.data.additionalParams.mailboxList;\n\t\t\t\t\t\tthis.checkBXMainMailConfirmLoaded(resolve);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n\n\tcheckBXMainMailConfirmLoaded(resolve)\n\t{\n\t\tif (window.BXMainMailConfirm)\n\t\t{\n\t\t\tthis.setSelectValues();\n\t\t\tresolve();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsetTimeout(()=>{this.checkBXMainMailConfirmLoaded(resolve)}, 200);\n\t\t}\n\t}\n\n\treloadMailboxList()\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tBX.ajax.runAction('calendar.api.calendarajax.getAllowedMailboxList')\n\t\t\t\t.then(\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\tthis.mailboxList = response.data.mailboxList;\n\t\t\t\t\t\tthis.setSelectValues();\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n}","import {Tag, Dom, Loc, Event} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Popup} from 'main.popup';\nimport {EmailSelectorControl} from 'calendar.controls';\nimport {Util} from 'calendar.util';\n\nexport class ConfirmedEmailDialog extends EventEmitter\n{\n\tZ_INDEX = 3200;\n\tSLIDER_Z_INDEX = 4400;\n\tWIDTH = 400;\n\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.ConfirmedEmailDialog');\n\t\tthis.id = 'confirm-email-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow()\n\t{\n\t\tthis.DOM.content = Tag.render`<div>\n\t\t\t<div class=\"calendar-confirm-email-text\">${Loc.getMessage('EC_CONFIRMED_EMAIL_TEXT_1')}</div>\n\t\t\t<div class=\"calendar-confirm-email-text\"><a class=\"calendar-confirm-email-help-link\" href=\"javascript:void(0);\">${Loc.getMessage('EC_CONFIRMED_EMAIL_HELP_LINK')}</a></div>\n\t\t\t<div class=\"calendar-field-block\">\n\t\t\t\t<select class=\"calendar-field calendar-field-select ui-btn ui-btn ui-btn-light-border ui-btn-clock\"></select>\n\t\t\t</div>\n\t\t</div>`;\n\n\t\tthis.dialog = new Popup(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\twidth: this.WIDTH,\n\t\t\tcloseByEsc : true,\n\t\t\tzIndex: this.Z_INDEX,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_CONFIRMED_EMAIL_TITLE'),\n\t\t\tcloseIcon: { right : \"12px\", top : \"10px\"},\n\t\t\tclassName: 'confirmemail-popup-window',\n\t\t\tcontent: this.DOM.content,\n\t\t\tevents: {},\n\t\t\tcacheable: false,\n\t\t\tbuttons: [\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext : Loc.getMessage('EC_CONFIRMED_EMAIL_SEND'),\n\t\t\t\t\tclassName: `ui-btn ui-btn-primary ${BX.UI.Button.State.DISABLED}`,\n\t\t\t\t\tevents : {click : () => {\n\t\t\t\t\t\tif (this.DOM.select.value && this.DOM.select.value !== 'add')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst userSettings = Util.getUserSettings();\n\t\t\t\t\t\t\tuserSettings.sendFromEmail = this.emailSelectorControl.getValue();\n\t\t\t\t\t\t\tUtil.setUserSettings(userSettings);\n\t\t\t\t\t\t\tBX.userOptions.save('calendar', 'user_settings', 'sendFromEmail', userSettings.sendFromEmail);\n\t\t\t\t\t\t\tthis.emit('onSelect', new BaseEvent({data: {sendFromEmail: userSettings.sendFromEmail}}));\n\t\t\t\t\t\t\tthis.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t}),\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext: Loc.getMessage('EC_SEC_SLIDER_CANCEL'),\n\t\t\t\t\tclassName: \"ui-btn ui-btn-light-border\",\n\t\t\t\t\tevents : {click : this.close.bind(this)}\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\n\t\tthis.DOM.processButton = this.dialog.buttons[0].button;\n\n\t\tthis.DOM.select = this.DOM.content.querySelector('select.calendar-field-select');\n\t\tDom.addClass(this.DOM.select, BX.UI.Button.State.CLOCKING);\n\t\tthis.DOM.select.disabled = true;\n\n\t\tthis.emailSelectorControl = new EmailSelectorControl({\n\t\t\tselectNode: this.DOM.select,\n\t\t\tallowAddNewEmail: true\n\t\t});\n\t\tEvent.bind(this.DOM.select, 'change', this.handleSelectChanges.bind(this));\n\t\tthis.emailSelectorControl.subscribe('onSetValue', this.handleSelectChanges.bind(this));\n\n\t\tthis.emailSelectorControl.loadMailboxData()\n\t\t\t.then(()=> {\n\t\t\t\tthis.emailSelectorControl.setValue(Util.getUserSettings().sendFromEmail);\n\t\t\t\tthis.DOM.select.disabled = false;\n\t\t\t\tthis.DOM.select.className = 'calendar-field calendar-field-select';\n\t\t\t});\n\n\t\tthis.DOM.helpLinlk = this.DOM.content.querySelector('.calendar-confirm-email-help-link');\n\t\tEvent.bind(this.DOM.helpLinlk, 'click', this.openHelpSlider.bind(this));\n\n\t\tthis.dialog.show();\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n\n\thandleSelectChanges()\n\t{\n\t\tif (this.DOM.select.value && this.DOM.select.value !== 'add')\n\t\t{\n\t\t\tDom.removeClass(this.DOM.processButton, BX.UI.Button.State.DISABLED);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.addClass(this.DOM.processButton, BX.UI.Button.State.DISABLED);\n\t\t}\n\t}\n\n\topenHelpSlider()\n\t{\n\t\tif(BX.Helper)\n\t\t{\n\t\t\tBX.Helper.show(\"redirect=detail&code=12070142\", {zIndex: this.SLIDER_Z_INDEX});\n\t\t}\n\t}\n}","'use strict';\nimport {Tag, Dom, Loc, Event} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Popup} from 'main.popup';\nimport {EmailSelectorControl} from 'calendar.controls';\nimport {Util} from 'calendar.util';\n\nexport class EmailLimitationDialog extends EventEmitter\n{\n\tZ_INDEX = 3200;\n\tEXPAND_LICENSE_URL = '/settings/license_all.php';\n\tWIDTH = 480;\n\n\tDOM = {};\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Controls.EmailLimitationDialog');\n\t\tthis.id = 'email-limitation-dialog-' + Math.round(Math.random() * 10000);\n\t}\n\n\tshow()\n\t{\n\t\tconst eventsAmount = Util.getEventWithEmailGuestAmount();\n\t\tconst limit = Util.isEventWithEmailGuestAllowed();\n\t\tif (eventsAmount === 4)\n\t\t{\n\t\t\tthis.text = Loc.getMessage('EC_EMAIL_LIMIT_5');\n\t\t}\n\t\telse if(eventsAmount === 8)\n\t\t{\n\t\t\tthis.text = Loc.getMessage('EC_EMAIL_LIMIT_9');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.text = Loc.getMessage('EC_EMAIL_LIMIT_DENY');\n\t\t}\n\t\tthis.subText = Loc.getMessage('EC_EMAIL_LIMIT_SUBTEXT');\n\n\t\tthis.DOM.content = Tag.render`<div>\n\t\t\t<div class=\"calendar-email-limit-text\">${this.text}</div>\n\t\t\t<div class=\"calendar-email-limit-subtext\">${this.subText}</div>\n\t\t</div>`;\n\n\t\tthis.dialog = this.getDialogPopup();\n\n\t\tthis.dialog.subscribe('onClose', ()=>{\n\t\t\tthis.emit('onClose');\n\t\t});\n\n\t\t// this.DOM.processButton = this.dialog.buttons[0].button;\n\t\t//\n\t\t// this.DOM.select = this.DOM.content.querySelector('select.calendar-field-select');\n\t\t// Dom.addClass(this.DOM.select, BX.UI.Button.State.CLOCKING);\n\t\t// this.DOM.select.disabled = true;\n\t\t//\n\t\t// this.emailSelectorControl = new EmailSelectorControl({\n\t\t// \tselectNode: this.DOM.select,\n\t\t// \tallowAddNewEmail: true\n\t\t// });\n\t\t// Event.bind(this.DOM.select, 'change', this.handleSelectChanges.bind(this));\n\t\t// this.emailSelectorControl.subscribe('onSetValue', this.handleSelectChanges.bind(this));\n\t\t//\n\t\t// this.emailSelectorControl.loadMailboxData()\n\t\t// \t.then(()=> {\n\t\t// \t\tthis.emailSelectorControl.setValue(Util.getUserSettings().sendFromEmail);\n\t\t// \t\tthis.DOM.select.disabled = false;\n\t\t// \t\tthis.DOM.select.className = 'calendar-field calendar-field-select';\n\t\t// \t});\n\t\t//\n\t\t// this.DOM.helpLinlk = this.DOM.content.querySelector('.calendar-confirm-email-help-link');\n\t\t// Event.bind(this.DOM.helpLinlk, 'click', this.openHelpSlider.bind(this));\n\n\t\tthis.dialog.show();\n\t}\n\n\tgetDialogPopup()\n\t{\n\t\treturn new Popup(this.id, null, {\n\t\t\toverlay: {opacity: 10},\n\t\t\tautoHide: true,\n\t\t\twidth: this.WIDTH,\n\t\t\tcloseByEsc: true,\n\t\t\tzIndex: this.Z_INDEX,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tdraggable: true,\n\t\t\tbindOnResize: false,\n\t\t\ttitleBar: Loc.getMessage('EC_EMAIL_LIMIT_TITLE'),\n\t\t\tcloseIcon: {right: \"12px\", top: \"10px\"},\n\t\t\tclassName: 'email-limit-popup',\n\t\t\tcontent: this.DOM.content,\n\t\t\tevents: {},\n\t\t\tcacheable: false,\n\t\t\tbuttons: [\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext: Loc.getMessage('EC_EMAIL_LIMIT_EXPAND_PLAN'),\n\t\t\t\t\tclassName: `ui-btn ui-btn-primary ui-btn-icon-plan`,\n\t\t\t\t\tevents: {\n\t\t\t\t\t\tclick: () =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twindow.open(this.EXPAND_LICENSE_URL, '_blank');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext: Util.isEventWithEmailGuestAllowed() ? Loc.getMessage('EC_SEC_SLIDER_CLOSE') : Loc.getMessage('EC_EMAIL_LIMIT_SAVE_WITHOUT'),\n\t\t\t\t\tclassName: `ui-btn ui-btn-link`,\n\t\t\t\t\tevents: {click: this.close.bind(this)}\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\tclose()\n\t{\n\t\tif (this.dialog)\n\t\t{\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n}","import {Loc, Type} from \"main.core\";\nimport {MenuManager, MenuItem} from \"main.popup\";\nimport {UserPlannerSelector} from \"calendar.controls\";\n\nexport class AttendeesList\n{\n\tconstructor(node, attendeesList = {})\n\t{\n\t\tthis.attendeesList = attendeesList;\n\t\tthis.node = node;\n\t}\n\n\tsetAttendeesList(attendeesList)\n\t{\n\t\tthis.attendeesList = attendeesList;\n\n\t\treturn this;\n\t}\n\n\tshowPopup()\n\t{\n\t\tif (this.popup)\n\t\t{\n\t\t\tthis.popup.destroy();\n\t\t}\n\n\t\tconst menuItems = this.getMenuItems();\n\n\t\tthis.popup = this.getPopup(menuItems);\n\t\tthis.popup.show();\n\n\t\tthis.addAvatarToMenuItems();\n\t}\n\n\taddAvatarToMenuItems()\n\t{\n\t\tthis.popup.menuItems.forEach((item) =>\n\t\t{\n\t\t\tconst icon = item.layout.item.querySelector('.menu-popup-item-icon');\n\t\t\tif (Type.isPlainObject(item.dataset))\n\t\t\t{\n\t\t\t\ticon.appendChild(UserPlannerSelector.getUserAvatarNode(item.dataset.user))\n\t\t\t}\n\t\t});\n\t}\n\n\tgetPopup(menuItems)\n\t{\n\t\treturn MenuManager.create(\n\t\t\t'compact-event-form-attendees' + Math.round(Math.random() * 100000),\n\t\t\tthis.node,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tautoHide: true,\n\t\t\t\tzIndex: this.zIndex,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 15,\n\t\t\t\tangle: true,\n\t\t\t\tcacheable: false,\n\t\t\t\tclassName: 'calendar-popup-user-menu'\n\t\t\t}\n\t\t);\n\t}\n\n\tgetMenuItems()\n\t{\n\t\tconst menuItems = [];\n\t\t[\n\t\t\t{\n\t\t\t\tcode: 'accepted', // Accepted\n\t\t\t\ttitle: Loc.getMessage('EC_ATTENDEES_Y_NUM')\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'requested', // Still thinking about\n\t\t\t\ttitle: Loc.getMessage('EC_ATTENDEES_Q_NUM')\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'declined', // Declined\n\t\t\t\ttitle: Loc.getMessage('EC_ATTENDEES_N_NUM')\n\t\t\t},\n\t\t].forEach((group) =>\n\t\t{\n\t\t\tlet groupUsers = this.attendeesList[group.code];\n\t\t\tif (groupUsers.length > 0)\n\t\t\t{\n\t\t\t\tmenuItems.push(new MenuItem({\n\t\t\t\t\ttext: group.title.replace('#COUNT#', groupUsers.length),\n\t\t\t\t\tdelimiter: true\n\t\t\t\t}))\n\n\t\t\t\tgroupUsers.forEach((user) =>\n\t\t\t\t{\n\t\t\t\t\tuser.toString = () =>\n\t\t\t\t\t{\n\t\t\t\t\t\treturn user.ID\n\t\t\t\t\t};\n\t\t\t\t\tmenuItems.push(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: BX.util.htmlspecialchars(user.DISPLAY_NAME),\n\t\t\t\t\t\t\tdataset: {user: user},\n\t\t\t\t\t\t\tclassName: 'calendar-add-popup-user-menu-item',\n\t\t\t\t\t\t\tonclick: () =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tBX.SidePanel.Instance.open(\n\t\t\t\t\t\t\t\t\tuser.URL,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tloader: \"intranet:profile\",\n\t\t\t\t\t\t\t\t\t\tcacheable: false,\n\t\t\t\t\t\t\t\t\t\tallowChangeHistory: false,\n\t\t\t\t\t\t\t\t\t\tcontentClassName: \"bitrix24-profile-slider-content\",\n\t\t\t\t\t\t\t\t\t\twidth: 1100\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\tthis.morePopup.close();\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\n\t\treturn menuItems;\n\t}\n\n\tstatic sortAttendees(attendees)\n\t{\n\t\treturn {\n\t\t\taccepted : attendees.filter((user) => {return ['H', 'Y'].includes(user.STATUS);}),\n\t\t\trequested : attendees.filter((user) => {return user.STATUS === 'Q' || user.STATUS === ''}),\n\t\t\tdeclined : attendees.filter((user) => {return user.STATUS === 'N'}),\n\t\t};\n\t}\n}"],"names":["TimeSelector","params","DOM","wrap","input","onChangeCallback","Type","isFunction","create","selectContol","BX","Calendar","Controls","SelectInput","zIndex","Z_INDEX","values","getValueList","minWidth","MIN_WIDTH","getInputValue","value","time","isDate","h","getHours","m","getMinutes","Util","parseTime","adaptedValue","adaptTimeValue","setValue","hour","Math","floor","min","formatTime","timeValue","parseInt","timeList","diff","ind","i","length","abs","valueList","push","label","Reminder","setEventNamespace","getValues","id","round","random","rawValuesMap","Map","viewMode","changeCallack","showPopupCallBack","hidePopupCallBack","selectedValues","bindEventHandlers","isElementNode","Dom","addClass","addButton","appendChild","Tag","render","Loc","getMessage","isDomNode","Event","bind","showPopup","handleClick","fullDayMode","concat","shortLabel","extendedMode","dataset","mode","daysBefore","defaultReminderTime","reminderList","emitChanges","changedByUser","forEach","removeValue","isArray","addValue","selectedRawValues","get","_this","menuItems","item","util","in_array","menuItem","getTimeByInt","text","replace","objectMerge","type","items","getSubmenuTimeValues","onclick","before","defer","reminderMenu","close","addValueCallback","MenuManager","bindTarget","closeByEsc","autoHide","offsetTop","offsetLeft","angle","cacheable","adjustSubmenuPopup","closeSubmenuPopup","EventEmitter","subscribe","popupWindow","unsubscribe","show","parentItem","parentItemMessage","getTimeValueList","e","parentMenuItem","getMenuItem","setText","formattedValue","formatValue","isPlainObject","count","includes","isInteger","getReminderLabel","formatDateUsable","controlList","set","undefined","props","className","getText","events","click","emit","BaseEvent","data","remove","deleteFromArray","array_search","target","srcElement","remValue","getAttribute","isNull","hasClass","removeIcon","parentNode","querySelector","event","submenuPopup","getTarget","Popup","test","getId","adjustTimeSubmenuPopup","adjustCalendarSubmenuPopup","layout","bindElement","textNode","clean","innerHTML","popup","selectedMenuItem","getContentContainer","setTimeout","scrollTop","calendarControl","calendar","_current_layer","_layers","Show","node","formatDateTime","getUsableDateTime","Date","field","bTime","bHideTime","calendarPopup","popupContainer","calendarWrap","contentContainer","destroy","uniquePopupId","dateValue","parseDate","style","display","removeClass","timeValueList","onCustomEvent","window","tempValue","dividers","messageCodes","result","toString","ceil","remindValue","Location","wrapNode","roomsManager","locationAccess","disabled","richLocationEnabled","inlineEditModeEnabled","meetingRooms","iblockMeetingRoomList","setMeetingRoomList","setLocationList","locationList","setDefaultRoom","setViewMode","inputWrap","alertIconLocation","inlineEditLinkWrap","inlineEditLink","displayInlineEditControls","top","UI","InfoHelper","attrs","name","inputName","placeholder","autocomplete","paddingRight","menuItemList","selectedIndex","getMeetingRoomList","getLocationList","room","ID","NAME","labelRaw","capacity","delimiter","LOCATION_ID","CAPACITY","color","COLOR","reserved","labelCapacity","getCapacityMessage","loadRoomSlider","callback","openRoomsSlider","str","getTextLocation","locationListElement","room_id","setCurrentCapacity","valueIndex","delegate","initHintNode","removeChild","suffix","getLocationAccessibility","from","to","then","eventTsFrom","eventTsTo","fromTs","getTime","toTs","fullDay","DAY_LENGTH","index","roomId","datesRange","date","isUndefined","accessibility","PARENT_ID","currentEventId","DATE_FROM","DATE_TO","DT_SKIP_TIME","setValues","Promise","resolve","getDatesRange","isCheckedAccessibility","ajax","runAction","response","errors","roomsManagerFromDB","getRoomsManager","getRoomsManagerData","getRoomsInterface","RoomsInterface","roomsInterface","calendarContext","readonly","isConfigureList","res","mrevid","room_event_id","parseStringValue","textLocation","Text","encode","location","RoomsManager","isEmpty","activeRooms","getRoomsInfo","active","activeRoomId","bx","getBX","extensionName","Runtime","loadExtension","Rooms","console","error","sections","rooms","config","hiddenSections","ownerId","userId","new_section_access","defaultSectionAccess","sectionAccessTasks","showTasks","locationContext","fields","dateFrom","dateTo","isString","substr","split","isNaN","mrid","sortLocationList","sort","a","b","toLowerCase","meetingRoomList","currentRoomCapacity","getDate","slice","getMonth","getFullYear","fromDate","toDate","startDate","setHours","finishDate","getDateInFormat","UserSelector","destinationInputName","itemsSelected","convertAttendeesCodes","socnetDestinationWrap","SocNetLogDestination","openDialog","socnetDestinationItems","targ","deleteItem","preventDefault","stopPropagation","mouseover","mouseout","socnetDestinationInputWrap","socnetDestinationInput","keydown","searchBeforeHandler","formName","inputId","keyup","searchHandler","linkId","sendAjax","socnetDestinationLink","html","addLinkMessage","message","init","selectGroups","groups","department","sonetgroups","selectUsers","users","searchInput","extranetUser","userSearchArea","bindMainPopup","bindSearchPopup","select","selectCallback","unSelect","unSelectCallback","openDialogCallback","closeDialog","closeDialogCallback","openSearch","closeSearch","itemsLast","departmentSelectDisable","isOpenDialog","type1","prefix","children","getSelectedCount","search","elements","findChildren","attribute","j","focus","cleanInputValue","isOpenSearch","backspaceDisable","unbind","keyCode","inputsList","getElementsByTagName","codes","attendeesCodes","code","getAttendeesCodes","hasOwnProperty","ColorSelector","defaultColors","getDefaultColorList","colors","LINE_MODE","backgroundColor","customColorNode","width","customColorLink","colorPickerPopup","ColorPicker","onColorSelected","popupOptions","open","handleColorClick","SELECTOR_MODE","colorIcon","openPopup","VIEW_MODE","findTargetNode","activeColor","activeColorNode","isShown","icon","element","left","SectionSelector","sectionList","sectionGroupList","openPopupCallback","closePopupCallback","getCurrentSection","defaultCalendarType","defaultOwnerId","outerWrap","initEventHandlers","selectImageWrap","selectInnerText","getCurrentTitle","innerValue","getCurrentColor","sectionMenu","sectionIdList","getSectionList","sectionGroup","filteredList","belongsToView","filter","section","getSectionType","getSectionOwner","MenuItem","title","overflow","maxHeight","setWidth","offsetWidth","overflowX","addCustomEvent","PopupMenu","PERM","edit","canDo","find","imageSrc","getSectionImage","imageNode","sectionItem","htmlspecialchars","updateSectionImageNode","updateValue","adjust","CAL_TYPE","IMAGE","OWNER_ID","RepeatSelector","formElements","rruleType","form","interval","rruleEndsOn","never","until","changeType","DateTimeControl","showInputCalendar","checked","toUpperCase","day","getWeekDayByInd","getDay","rrule","FREQ","INTERVAL","COUNT","BYDAY","defaultValue","openTitle","curInd","proxy","onClick","onFocus","onBlur","onKeyup","currentValue","currentValueIndex","shown","htmlTemp","popupMenu","onChange","max","menuContainer","offsetHeight","popupMenuItems","closePopup","val","PopupDialog","dialog","PopupWindow","overlay","opacity","draggable","bindOnResize","titleBar","getTitle","closeIcon","right","buttons","getButtons","content","getContent","ViewSelector","views","popupId","currentView","currentViewMode","selectorText","selectorTextInner","viewModeTextInner","created","view","hotkey","menuPopup","getMenuItems","LineViewSelector","viewsMap","WeakMap","viewData","currentActiveWrap","AddButton","addEntryHandler","addEntry","addTaskHandler","addTask","addButtonExtra","setAttribute","addBtnMenu","MeetingStatusControl","Error","status","currentStatus","updateStatus","acceptBtn","Button","accept","renderTo","declineBtn","decline","getContainer","setStatus","emitEvent","ConfirmStatusDialog","PopupWindowButtonLink","PopupWindowButton","onDeclineHandler","recursionMode","buttonNode","compactForm","EntryManager","getCompactViewForm","ConfirmEditDialog","ConfirmDeleteDialog","entry","deleteThis","deleteNext","deleteAll","uid","options","showTimezone","inlineEditMode","currentInlineEditMode","UID","outerContent","leftInnerWrap","DATE_INPUT_WIDTH","fromDateText","fromTime","TIME_INPUT_WIDTH","fromTimeText","betweenSpacer","rightInnerWrap","toTime","toTimeText","toDateText","fromTimeControl","handleTimeFromChange","toTimeControl","handleTimeToChange","fullDayWrap","formatDate","lastDateValue","timezoneFrom","timezoneName","timezoneTo","fromTz","toTz","switchTimezone","handleFullDayChange","handleDateFromChange","handleDateToChange","handleValueChange","changeInlineEditMode","defTimezone","bindFromToDefaultTimezones","tzButton","bindTimezones","newToDate","getTimeRounded","getFullDayValue","dateTimeWrap","getValue","isBoolean","tzCont","setInlineEditMode","nodeName","removeCustomEvent","inputCalendarClosePopupHandler","BusyUsersDialog","plural","userNames","DISPLAY_NAME","join","UserPlannerSelector","selectorId","informWrap","informWrapText","moreLink","changeLink","attendeesLabel","attendeesList","userSelectorWrap","plannerOuterWrap","videocallWrap","hideGuestsWrap","hideGuestsIcon","refreshPlanner","debounce","refreshPlannerState","readOnlyMode","dayOfWeekMonthFormat","plannerFeatureEnabled","isReadOnly","userSelectorDialog","EntitySelectorDialog","targetNode","context","preselectedItems","attendeesPreselectedItems","enableSearch","handleUserSelectorChanges","entities","inviteGuestLink","emailUsers","selectMode","searchTabOptions","stubOptions","subtitle","iconOpacity","arrow","showMoreAttendeesPopup","planner","Planner","PLANNER_WIDTH","showEntryName","locked","setInformValue","meetingNotifyValue","handleExpandPlannerTimeline","setHideGuestsValue","hideGuests","attendeesEntityList","attendees","notify","map","entityId","entryId","showPlanner","setEntityList","setLocationValue","displayAttendees","Intranet","ControlButton","getCurrentStatus","intranetControllButton","container","entityType","parentId","mainItem","entityData","analyticsLabel","formType","button","getSelectedItems","selectorEntityList","SelectorManager","instances","isPlannerDisplayed","showLoader","dateTime","getDateTime","entityList","getEntityList","runPlannerDataRequest","getDayLength","timezone","getLocationValue","loadedAccessibilityData","entries","prevUserList","preparedData","preparedDataAccessibility","checkTimePeriod","isObject","update","updateSelector","hideLoader","prepareAttendeesForDisplay","AVATAR","avatar","EMAIL_USER","emailUser","STATUS","URL","url","loadPlannerData","focusSelector","entryLocation","LOCATION","entrieIds","updatePlaner","attendeeList","AttendeesList","sortAttendees","usersCount","accepted","requested","userLength","MAX_USER_COUNT_DISPLAY","MAX_USER_COUNT","getUserAvatarNode","hide","hasExternalEmailUsers","showHideGuestsOption","hideHideGuestsOption","DISABLED_CLASS","hideGuestsText","calendarEventsAccessibility","prepareAccessibilityItem","userIdList","getData","reload","user","img","SMALL_AVATAR","ReinviteUserDialog","sendInvitesAgain","EmailSelectorControl","selectNode","mailboxList","componentWrap","allowAddNewEmail","checkValueDebounce","checkValue","setSelectValues","showAdd","mailbox","email","add","Option","formatted","sender","textContent","BXMainMailConfirm","showForm","onAdd","mainMailConfirmPopup","PopupManager","getPopupById","CONFIRM_POPUP_ID","reloadMailboxList","additionalParams","checkBXMainMailConfirmLoaded","ConfirmedEmailDialog","WIDTH","State","DISABLED","userSettings","getUserSettings","sendFromEmail","emailSelectorControl","setUserSettings","userOptions","save","processButton","CLOCKING","handleSelectChanges","loadMailboxData","helpLinlk","openHelpSlider","Helper","SLIDER_Z_INDEX","EmailLimitationDialog","eventsAmount","getEventWithEmailGuestAmount","limit","isEventWithEmailGuestAllowed","subText","getDialogPopup","EXPAND_LICENSE_URL","getPopup","addAvatarToMenuItems","group","groupUsers","SidePanel","Instance","loader","allowChangeHistory","contentClassName","morePopup","declined"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings