File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/modules/calendar/install/js/calendar/entry/dist/entry.bundle.js.map
Back
{"version":3,"file":"entry.bundle.js","sources":["../src/entrymanager.js","../src/entry.js"],"sourcesContent":["import { Entry } from 'calendar.entry';\nimport { SectionManager } from 'calendar.sectionmanager';\nimport { Util } from 'calendar.util';\nimport { Event, Loc, Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport { CompactEventForm } from 'calendar.compacteventform';\nimport 'ui.notification';\nimport { RoomsManager } from 'calendar.roomsmanager';\n\nexport class EntryManager {\n\tstatic newEntryName = '';\n\tstatic userIndex = {};\n\tstatic delayedActionList = [];\n\tstatic DELETE_DELAY_TIMEOUT = 4000;\n\tstatic slidersMap = new WeakMap();\n\n\tstatic getNewEntry(options)\n\t{\n\t\tconst newEntryData = {};\n\t\tconst dateTime = EntryManager.getNewEntryTime(new Date());\n\t\tconst userSettings = Util.getUserSettings();\n\t\tconst userId = Util.getCurrentUserId();\n\n\t\tnewEntryData.ID = null;\n\t\tnewEntryData.NAME = EntryManager.getNewEntryName();\n\t\tnewEntryData.dateFrom = dateTime.from;\n\t\tnewEntryData.dateTo = dateTime.to;\n\t\tif(options.type === 'location')\n\t\t{\n\t\t\tnewEntryData.SECT_ID = RoomsManager.getNewEntrySectionId(options.type, parseInt(options.ownerId));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnewEntryData.SECT_ID = SectionManager.getNewEntrySectionId(options.type, parseInt(options.ownerId));\n\t\t}\n\t\tnewEntryData.REMIND = EntryManager.getNewEntryReminders();\n\n\t\tnewEntryData.attendeesEntityList = [{entityId: 'user', id: userId}];\n\t\tnewEntryData.ATTENDEE_LIST = [{id: Util.getCurrentUserId(), status: \"H\"}];\n\n\t\tif (options.type === 'user' && userId !== options.ownerId)\n\t\t{\n\t\t\tnewEntryData.attendeesEntityList.push({entityId: 'user', id: options.ownerId});\n\t\t\tnewEntryData.ATTENDEE_LIST = [\n\t\t\t\t{id: options.ownerId, status: \"H\"},\n\t\t\t\t{id: Util.getCurrentUserId(), status: \"Y\"}\n\t\t\t];\n\t\t}\n\t\telse if (options.type === 'group')\n\t\t{\n\t\t\tnewEntryData.attendeesEntityList.push({entityId: 'project', id: options.ownerId});\n\t\t}\n\n\t\tnewEntryData.TZ_FROM = userSettings.timezoneName || userSettings.timezoneDefaultName || '';\n\t\tnewEntryData.TZ_TO = userSettings.timezoneName || userSettings.timezoneDefaultName || '';\n\n\t\treturn new Entry({data: newEntryData});\n\t}\n\n\tstatic getNewEntryTime(date, duration)\n\t{\n\t\tdate = Util.getUsableDateTime(date);\n\n\t\tconst calendarContext = Util.getCalendarContext();\n\t\tif (calendarContext)\n\t\t{\n\t\t\tconst displayedViewRange = calendarContext.getDisplayedViewRange();\n\t\t\tif (Type.isDate(displayedViewRange?.start))\n\t\t\t{\n\t\t\t\tconst dateTime = date.getTime();\n\t\t\t\tif (\n\t\t\t\t\tdateTime < displayedViewRange.start.getTime()\n\t\t\t\t\t|| dateTime > displayedViewRange.end.getTime()\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tconst startDate = new Date(displayedViewRange.start.getTime());\n\t\t\t\t\tconst workTime = calendarContext.util.getWorkTime();\n\t\t\t\t\tstartDate.setHours(workTime.start, 0, 0,0);\n\t\t\t\t\tdate = Util.getUsableDateTime(startDate);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tfrom : date,\n\t\t\tto : new Date(date.getTime() + (duration || 3600) * 1000)\n\t\t}\n\t}\n\n\tstatic getNewEntryName(): string\n\t{\n\t\treturn (EntryManager.newEntryName || '');\n\t}\n\n\tstatic setNewEntryName(newEntryName)\n\t{\n\t\tEntryManager.newEntryName = newEntryName;\n\t}\n\n\tstatic showEditEntryNotification(entryId)\n\t{\n\t\tUtil.showNotification(\n\t\t\tLoc.getMessage('CALENDAR_SAVE_EVENT_NOTIFICATION'),\n\t\t\t[{\n\t\t\t\ttitle: Loc.getMessage('CALENDAR_EVENT_DO_VIEW'),\n\t\t\t\tevents: {\n\t\t\t\t\tclick: function(event, balloon, action) {\n\n\t\t\t\t\t\tEntryManager.openViewSlider(entryId);\n\t\t\t\t\t\tballoon.close();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}]\n\t\t)\n\t}\n\n\tstatic showNewEntryNotification(entryId)\n\t{\n\t\tUtil.showNotification(\n\t\t\tLoc.getMessage('CALENDAR_NEW_EVENT_NOTIFICATION'),\n\t\t\t[{\n\t\t\t\ttitle: Loc.getMessage('CALENDAR_EVENT_DO_VIEW'),\n\t\t\t\tevents: {\n\t\t\t\t\tclick: (event, balloon, action) => {\n\n\t\t\t\t\t\tEntryManager.openViewSlider(entryId);\n\t\t\t\t\t\tballoon.close();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}]\n\t\t)\n\t}\n\n\tstatic showDeleteEntryNotification(entry)\n\t{\n\t\tif (entry && entry instanceof Entry)\n\t\t{\n\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\tid: 'calendar' + entry.getUniqueId(),\n\t\t\t\tcontent: Loc.getMessage('CALENDAR_DELETE_EVENT_NOTIFICATION'),\n\t\t\t\tactions: [{\n\t\t\t\t\ttitle: Loc.getMessage('CALENDAR_EVENT_DO_CANCEL'),\n\t\t\t\t\tevents: {\n\t\t\t\t\t\tclick: (event, balloon, action) => {\n\t\t\t\t\t\t\tentry.cancelDelete();\n\t\t\t\t\t\t\tballoon.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic showReleaseLocationNotification()\n\t{\n\t\tBX.UI.Notification.Center.notify({\n\t\t\tcontent: Loc.getMessage('CALENDAR_RELEASE_LOCATION_NOTIFICATION'),\n\t\t});\n\t}\n\n\tstatic closeDeleteNotificationBalloon(entry)\n\t{\n\t\tif (entry && entry instanceof Entry)\n\t\t{\n\t\t\tconst balloon = BX.UI.Notification.Center.getBalloonById('calendar' + entry.getUniqueId());\n\t\t\tif (balloon)\n\t\t\t{\n\t\t\t\tballoon.close();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic openEditSlider(options = {})\n\t{\n\t\tconst bx = Util.getBX();\n\n\t\tif (bx.Calendar && bx.Calendar.SliderLoader)\n\t\t{\n\t\t\tnew bx.Calendar.SliderLoader(\n\t\t\t\toptions.entry ? 'EDIT' + options.entry.id : 'NEW',\n\t\t\t\t{\n\t\t\t\t\tcalendarContext: options.calendarContext,\n\t\t\t\t\tentry: options.entry || null,\n\t\t\t\t\ttype: options.type,\n\t\t\t\t\tisLocationCalendar: options.isLocationCalendar || false,\n\t\t\t\t\troomsManager: options.roomsManager || null,\n\t\t\t\t\tlocationAccess: options.locationAccess || false,\n\t\t\t\t\tdayOfWeekMonthFormat: options.dayOfWeekMonthFormat || false,\n\t\t\t\t\tlocationCapacity: options.locationCapacity || 0,\n\t\t\t\t\townerId: options.ownerId,\n\t\t\t\t\tuserId: options.userId,\n\t\t\t\t\tformDataValue: options.formDataValue || null\n\t\t\t\t}\n\t\t\t).show();\n\t\t}\n\t}\n\n\tstatic openViewSlider(eventId = null, options = {})\n\t{\n\t\tif (!Type.isNull(eventId))\n\t\t{\n\t\t\tconst bx = Util.getBX();\n\t\t\tif (bx.Calendar && bx.Calendar.SliderLoader)\n\t\t\t{\n\t\t\t\tnew bx.Calendar.SliderLoader(eventId, {\n\t\t\t\t\tentryDateFrom: options.from,\n\t\t\t\t\ttimezoneOffset: options.timezoneOffset,\n\t\t\t\t\tdayOfWeekMonthFormat: options.dayOfWeekMonthFormat || false,\n\t\t\t\t\tcalendarContext: options.calendarContext || null,\n\t\t\t\t\tlink: options.link,\n\t\t\t\t}).show();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic deleteEntry(entry, calendarContext = null)\n\t{\n\t\tif (entry instanceof Entry)\n\t\t{\n\t\t\tconst slider = Util.getBX().SidePanel.Instance.getTopSlider();\n\t\t\tconst beforeDeleteHandler = () => {\n\t\t\t\tif (slider && slider.options.type === 'calendar:slider')\n\t\t\t\t{\n\t\t\t\t\tUtil.getBX().SidePanel.Instance.close();\n\t\t\t\t}\n\t\t\t};\n\t\t\tEventEmitter.subscribe('BX.Calendar.Entry:beforeDelete', beforeDeleteHandler);\n\n\t\t\tconst deleteHandler = () => {\n\t\t\t\tconst calendar = Util.getCalendarContext();\n\t\t\t\tif (!calendar && !calendarContext)\n\t\t\t\t{\n\t\t\t\t\treturn Util.getBX().reload();\n\t\t\t\t}\n\n\t\t\t\tif (calendar)\n\t\t\t\t{\n\t\t\t\t\tcalendar.reload();\n\t\t\t\t}\n\t\t\t\telse if (calendarContext)\n\t\t\t\t{\n\t\t\t\t\tcalendarContext.reload();\n\t\t\t\t}\n\t\t\t\tEventEmitter.unsubscribe('BX.Calendar.Entry:delete', deleteHandler);\n\t\t\t\tEventEmitter.unsubscribe('BX.Calendar.Entry:beforeDelete', beforeDeleteHandler);\n\t\t\t};\n\n\t\t\tEventEmitter.subscribe('BX.Calendar.Entry:delete', deleteHandler);\n\n\t\t\tentry.delete();\n\t\t}\n\t}\n\n\tstatic setMeetingStatus(entry, status, params = {})\n\t{\n\t\treturn new Promise(resolve => {\n\t\t\tif (!Type.isPlainObject(params))\n\t\t\t{\n\t\t\t\tparams = {};\n\t\t\t}\n\t\t\tparams.recursionMode = params.recursionMode || false;\n\n\t\t\tif (status === 'N' && !params.confirmed)\n\t\t\t{\n\t\t\t\tif (entry.isRecursive())\n\t\t\t\t{\n\t\t\t\t\tthis.showConfirmStatusDialog(entry, resolve);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tBX.ajax.runAction('calendar.api.calendarajax.setMeetingStatus', {\n\t\t\t\tdata: {\n\t\t\t\t\tentryId: entry.id,\n\t\t\t\t\tentryParentId: entry.parentId,\n\t\t\t\t\tstatus: status,\n\t\t\t\t\trecursionMode: params.recursionMode,\n\t\t\t\t\tcurrentDateFrom: Util.formatDate(entry.from)\n\t\t\t\t}\n\t\t\t}).then(\n\t\t\t\t(response) => {\n\t\t\t\t\tBX.Event.EventEmitter.emit(\n\t\t\t\t\t\t'BX.Calendar.Entry:onChangeMeetingStatus',\n\t\t\t\t\t\tnew Event.BaseEvent({\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tentry: entry,\n\t\t\t\t\t\t\t\tstatus: status,\n\t\t\t\t\t\t\t\trecursionMode: params.recursionMode,\n\t\t\t\t\t\t\t\tcurrentDateFrom: entry.from,\n\t\t\t\t\t\t\t\tcounters: response.data.counters\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\n\t\t\t\t\tif (entry instanceof Entry)\n\t\t\t\t\t{\n\t\t\t\t\t\tentry.setCurrentStatus(status);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve({\n\t\t\t\t\t\tentry: entry,\n\t\t\t\t\t\tstatus: status,\n\t\t\t\t\t\trecursionMode: params.recursionMode,\n\t\t\t\t\t\tcurrentDateFrom: entry.from\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tstatic showConfirmStatusDialog(entry, resolvePromiseCallback = null)\n\t{\n\t\tif (!this.confirmDeclineDialog)\n\t\t{\n\t\t\tthis.confirmDeclineDialog = this.createConfirmStatusDialog();\n\t\t}\n\n\t\tthis.confirmDeclineDialog.show();\n\t\tthis.confirmDeclineDialog.unsubscribeAll('onDecline');\n\t\tthis.confirmDeclineDialog.subscribe('onDecline', function(event)\n\t\t{\n\t\t\tif (event && Type.isFunction(event.getData))\n\t\t\t{\n\t\t\t\tEntryManager.setMeetingStatus(\n\t\t\t\t\tentry,\n\t\t\t\t\t'N',\n\t\t\t\t\t{recursionMode: event.getData().recursionMode, confirmed: true}\n\t\t\t\t).then(() => {\n\t\t\t\t\tif (Type.isFunction(resolvePromiseCallback))\n\t\t\t\t\t{\n\t\t\t\t\t\tresolvePromiseCallback();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic showConfirmEditDialog(options)\n\t{\n\t\tif (!this.confirmEditDialog)\n\t\t{\n\t\t\tthis.confirmEditDialog = this.createConfirmEditDialog();\n\t\t}\n\t\tthis.confirmEditDialog.show();\n\n\t\tif (Type.isFunction(options.callback))\n\t\t{\n\t\t\tthis.confirmEditDialog.unsubscribeAll('onEdit');\n\t\t\tthis.confirmEditDialog.subscribe('onEdit', (event) => {\n\t\t\t\tif (event && Type.isFunction(event.getData))\n\t\t\t\t{\n\t\t\t\t\toptions.callback(event.getData());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic showReInviteUsersDialog(options)\n\t{\n\t\tif (!this.reinviteUsersDialog)\n\t\t{\n\t\t\tthis.reinviteUsersDialog = this.createReinviteUserDialog();\n\t\t}\n\t\tthis.reinviteUsersDialog.show();\n\n\t\tif (Type.isFunction(options.callback))\n\t\t{\n\t\t\tthis.reinviteUsersDialog.unsubscribeAll('onSelect');\n\t\t\tthis.reinviteUsersDialog.subscribe('onSelect', function(event)\n\t\t\t{\n\t\t\t\tif (event && Type.isFunction(event.getData))\n\t\t\t\t{\n\t\t\t\t\toptions.callback(event.getData());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic showConfirmedEmailDialog(options = {})\n\t{\n\t\tif (!this.confirmedEmailDialog)\n\t\t{\n\t\t\tthis.confirmedEmailDialog = this.createConfirmedEmailDialog();\n\t\t}\n\t\tthis.confirmedEmailDialog.show();\n\n\t\tif (Type.isFunction(options.callback))\n\t\t{\n\t\t\tthis.confirmedEmailDialog.unsubscribeAll('onSelect');\n\t\t\tthis.confirmedEmailDialog.subscribe('onSelect', function(event)\n\t\t\t{\n\t\t\t\tif (event && Type.isFunction(event.getData))\n\t\t\t\t{\n\t\t\t\t\toptions.callback(event.getData());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic showEmailLimitationDialog(options = {})\n\t{\n\t\tif (!this.limitationEmailDialog)\n\t\t{\n\t\t\tthis.limitationEmailDialog = this.createEmailLimitationDialog();\n\t\t}\n\t\tthis.limitationEmailDialog.subscribe('onClose', ()=>{\n\t\t\tif (Type.isFunction(options.callback))\n\t\t\t{\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t});\n\t\tthis.limitationEmailDialog.show();\n\t}\n\n\tstatic getCompactViewForm(create = true)\n\t{\n\t\tif (!EntryManager.compactEntryForm && create)\n\t\t{\n\t\t\tEntryManager.compactEntryForm = new CompactEventForm();\n\t\t}\n\n\t\treturn EntryManager.compactEntryForm;\n\t}\n\n\tstatic openCompactViewForm(options = {})\n\t{\n\t\tconst compactForm = EntryManager.getCompactViewForm();\n\t\tif (!compactForm.isShown())\n\t\t{\n\t\t\tcompactForm.unsubscribeAll('onClose');\n\t\t\tif (Type.isFunction(options.closeCallback))\n\t\t\t{\n\t\t\t\tcompactForm.subscribe('onClose', options.closeCallback);\n\t\t\t}\n\t\t\tcompactForm.showInViewMode(options);\n\t\t}\n\t}\n\n\tstatic openCompactEditForm(options = {})\n\t{\n\t\tconst compactForm = EntryManager.getCompactViewForm();\n\t\tif (!compactForm.isShown())\n\t\t{\n\t\t\tcompactForm.unsubscribeAll('onClose');\n\t\t\tif (Type.isFunction(options.closeCallback))\n\t\t\t{\n\t\t\t\tcompactForm.subscribe('onClose', options.closeCallback);\n\t\t\t}\n\t\t\tcompactForm.showInEditMode(options);\n\t\t}\n\t}\n\n\tstatic getEntryInstance(entry, userIndex, options = {})\n\t{\n\t\tlet entryInstance = null;\n\t\tif (entry instanceof Entry)\n\t\t{\n\t\t\tentryInstance = entry;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Type.isObject(entry) && Type.isObject(entry.data))\n\t\t\t{\n\t\t\t\tentryInstance = new Entry({data: entry.data, userIndex: userIndex});\n\t\t\t}\n\t\t\telse if (Type.isObject(entry))\n\t\t\t{\n\t\t\t\tentryInstance = new Entry({data: entry, userIndex: userIndex});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tentryInstance = EntryManager.getNewEntry(options);\n\t\t\t}\n\t\t}\n\n\t\treturn entryInstance;\n\t}\n\n\tstatic getUserIndex(options = {})\n\t{\n\t\treturn EntryManager.userIndex\n\t}\n\n\tstatic setUserIndex(userIndex)\n\t{\n\t\tEntryManager.userIndex = userIndex;\n\t}\n\n\thandlePullChanges(params)\n\t{\n\t\tif (!BX.Calendar.Util.checkRequestId(params.requestUid))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst compactForm = EntryManager.getCompactViewForm();\n\t\tif (\n\t\t\tcompactForm\n\t\t\t&& compactForm.isShown()\n\t\t)\n\t\t{\n\t\t\tcompactForm.handlePull(params);\n\t\t}\n\n\t\tBX.SidePanel.Instance.getOpenSliders().forEach(slider =>\n\t\t{\n\t\t\tconst data = EntryManager.slidersMap.get(slider);\n\t\t\tif (\n\t\t\t\tdata\n\t\t\t\t&& data.entry\n\t\t\t\t&& data.entry.parentId === parseInt(params?.fields?.PARENT_ID)\n\t\t\t)\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tparams.command === 'delete_event'\n\t\t\t\t\t&& data.entry.getType() === params?.fields?.CAL_TYPE\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tslider.close();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (params.command === 'set_meeting_status')\n\t\t{\n\t\t\ttop.BX.Event.EventEmitter.emit('BX.Calendar:doReloadCounters');\n\t\t}\n\t\telse if (params.command === 'delete_event' || params.command === 'edit_event')\n\t\t{\n\t\t\tif (\n\t\t\t\t!params.fields\n\t\t\t\t||\n\t\t\t\t(params?.fields?.IS_MEETING && params?.fields?.MEETING_STATUS === 'Q')\n\t\t\t)\n\t\t\t{\n\t\t\t\ttop.BX.Event.EventEmitter.emit('BX.Calendar:doReloadCounters');\n\t\t\t}\n\n\t\t\tif (params?.fields?.CAL_TYPE === 'location' && top.BX.Calendar?.Controls?.Location)\n\t\t\t{\n\t\t\t\ttop.BX.Calendar.Controls.Location.handlePull(params);\n\t\t\t}\n\t\t}\n\n\t\tconst calendarContext = Util.getCalendarContext();\n\t\tconst entrySectionId = parseInt(params?.fields?.SECTION_ID);\n\t\tlet sectionDisplayed = Type.isArray(params.sections)\n\t\t\t&& params.sections.find(section => {\n\t\t\t\treturn section.id === entrySectionId && section.isShown();\n\t\t\t});\n\n\t\tlet loadedEntry = params?.fields\n\t\t\t? EntryManager.getEntryInstance(\n\t\t\t\tcalendarContext.getView().getEntryById(EntryManager.getEntryUniqueId(params.fields)),\n\t\t\t)\n\t\t\t: null;\n\n\t\tif ((sectionDisplayed || loadedEntry) && calendarContext)\n\t\t{\n\t\t\tcalendarContext.reloadDebounce();\n\t\t}\n\t}\n\n\tstatic registerDeleteTimeout(params)\n\t{\n\t\tEntryManager.delayedActionList.push(params);\n\t}\n\n\tstatic unregisterDeleteTimeout({action, data})\n\t{\n\t\tEntryManager.delayedActionList = EntryManager.delayedActionList.filter((item) => {\n\t\t\treturn item.action !== action\n\t\t\t\t|| item.data.entryId !== data.entryId\n\t\t\t\t|| item.data.recursionMode !== data.recursionMode\n\t\t\t\t|| item.data.excludeDate !== data.excludeDate;\n\t\t});\n\t}\n\n\tstatic doDelayedActions()\n\t{\n\t\tlet requestList = [];\n\t\treturn new Promise(resolve => {\n\t\t\tif(!EntryManager.delayedActionList.length)\n\t\t\t{\n\t\t\t\tresolve();\n\t\t\t}\n\n\t\t\tEntryManager.delayedActionList.forEach(({action, data, params}) => {\n\n\t\t\t\tconst requestUid = parseInt(data.requestUid);\n\t\t\t\trequestList.push(data.requestUid);\n\n\t\t\t\tif (params.entry)\n\t\t\t\t{\n\t\t\t\t\tEntryManager.closeDeleteNotificationBalloon(params.entry);\n\t\t\t\t}\n\n\t\t\t\tBX.ajax.runAction(\n\t\t\t\t\t`calendar.api.calendarajax.${action}`,\n\t\t\t\t\t{data: data}\n\t\t\t\t).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tType.isFunction(params.callback)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparams.callback();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trequestList = requestList.filter(uid => {return uid !== requestUid});\n\t\t\t\t\t\tif (!requestList.length)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\trequestList = requestList.filter(uid => {return uid !== requestUid});\n\t\t\t\t\t\tif (!requestList.length)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tEntryManager.unregisterDeleteTimeout({action, data, params});\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic getEntryUniqueId(entryData, entry)\n\t{\n\t\tlet sid = entryData.PARENT_ID || entryData.ID;\n\t\tif (entryData.RRULE)\n\t\t{\n\t\t\tsid += '|' + (entry ? Util.formatDate(entry.from) : Util.formatDate(BX.parseDate(entryData.DATE_FROM)));\n\t\t}\n\n\t\tif (entryData['~TYPE'] === 'tasks')\n\t\t{\n\t\t\tsid += '|' + 'task';\n\t\t}\n\t\treturn sid;\n\t}\n\n\tstatic registerEntrySlider(entry, control)\n\t{\n\t\tconst slider = Util.getBX().SidePanel.Instance.getTopSlider();\n\t\tif (slider)\n\t\t{\n\t\t\tEntryManager.slidersMap.set(slider, {entry, control});\n\t\t}\n\t}\n\n\tstatic getNewEntryReminders(type = 'withTime')\n\t{\n\t\tconst userSettings = Util.getUserSettings();\n\t\tif (Type.isObjectLike(userSettings.defaultReminders)\n\t\t\t&& Type.isArray(userSettings.defaultReminders[type])\n\t\t\t&& userSettings.defaultReminders[type].length)\n\t\t{\n\t\t\treturn userSettings.defaultReminders[type];\n\t\t}\n\n\t\treturn type === 'withTime'\n\t\t\t? [{type: 'min', count: 15}]\n\t\t\t: [{type: 'daybefore', before: 0, time: 480}];\n\t}\n\n\tstatic setNewEntryReminders(type = 'withTime', reminders)\n\t{\n\t\tconst userSettings = Util.getUserSettings();\n\t\tif (Type.isObjectLike(userSettings.defaultReminders))\n\t\t{\n\t\t\tuserSettings.defaultReminders[type] = reminders;\n\t\t}\n\t\tUtil.setUserSettings(userSettings);\n\t}\n\n\t//this is because extensions cant be loaded in iframe with import\n\tstatic createConfirmEditDialog()\n\t{\n\t\tconst bx = Util.getBX();\n\t\treturn new bx.Calendar.Controls.ConfirmEditDialog();\n\t}\n\n\tstatic createConfirmStatusDialog()\n\t{\n\t\tconst bx = Util.getBX();\n\t\treturn new bx.Calendar.Controls.ConfirmStatusDialog();\n\t}\n\n\tstatic createReinviteUserDialog()\n\t{\n\t\tconst bx = Util.getBX();\n\t\treturn new bx.Calendar.Controls.ReinviteUserDialog();\n\t}\n\n\tstatic createConfirmedEmailDialog()\n\t{\n\t\tconst bx = Util.getBX();\n\t\treturn new bx.Calendar.Controls.ConfirmedEmailDialog();\n\t}\n\n\tstatic createEmailLimitationDialog()\n\t{\n\t\tconst bx = Util.getBX();\n\t\treturn new bx.Calendar.Controls.EmailLimitationDialog();\n\t}\n}","import {Util} from 'calendar.util';\nimport {EntryManager} from \"./entrymanager\";\nimport { Type } from 'main.core';\n\nexport {EntryManager};\n\nexport class Entry\n{\n\tFULL_DAY_LENGTH = 86400;\n\n\tstatic CAL_TYPES = {\n\t\t'user': 'user',\n\t\t'group': 'group',\n\t\t'company': 'company_calendar',\n\t};\n\tconstructor(options = {})\n\t{\n\t\tthis.prepareData(options.data);\n\t\tthis.parts = [];\n\n\t\tif (options.userIndex)\n\t\t{\n\t\t\tthis.setUserIndex(options.userIndex);\n\t\t}\n\n\t\tthis.delayTimeoutMap = new Map();\n\t}\n\n\tprepareData(data)\n\t{\n\t\tthis.data = data;\n\t\tthis.id = parseInt(this.data.ID || 0);\n\t\tthis.parentId = parseInt(this.data.PARENT_ID || 0);\n\n\t\tif (!this.data.DT_SKIP_TIME)\n\t\t{\n\t\t\tthis.data.DT_SKIP_TIME = this.data.SKIP_TIME ? 'Y' : 'N';\n\t\t}\n\n\t\tthis.fullDay = this.data.DT_SKIP_TIME === 'Y';\n\t\tthis.accessibility = this.data.ACCESSIBILITY || 'busy';\n\t\tthis.important = this.data.IMPORTANCE === 'high';\n\t\tthis.private = !!this.data.PRIVATE_EVENT;\n\t\tthis.setSectionId(this.data.SECT_ID);\n\t\tthis.name = this.data.NAME;\n\n\t\tthis.userTimezoneOffsetFrom = parseInt(this.data['~USER_OFFSET_FROM']) || 0;\n\t\tthis.userTimezoneOffsetTo = parseInt(this.data['~USER_OFFSET_TO']) || this.userTimezoneOffsetFrom;\n\n\t\tif (!this.data.DT_LENGTH)\n\t\t{\n\t\t\tthis.data.DT_LENGTH = this.data.DURATION || 0;\n\t\t}\n\t\tif (this.fullDay && !this.data.DT_LENGTH)\n\t\t{\n\t\t\tthis.data.DT_LENGTH = this.FULL_DAY_LENGTH;\n\t\t}\n\n\t\tif (\n\t\t\t!Type.isString(this.data.DATE_FROM) && !Type.isString(this.data.DATE_TO)\n\t\t\t&& Type.isDate(this.data.dateFrom) && Type.isDate(this.data.dateTo)\n\t\t)\n\t\t{\n\t\t\tthis.from = this.data.dateFrom;\n\t\t\tthis.to = this.data.dateTo;\n\n\t\t\tthis.data.DT_LENGTH = Math.round((this.to.getTime() - this.from.getTime()) / 1000);\n\t\t\tthis.data.DURATION = this.data.DT_LENGTH;\n\n\t\t\tif (this.fullDay)\n\t\t\t{\n\t\t\t\tthis.data.DATE_FROM = Util.formatDate(this.from.getTime());\n\t\t\t\tthis.data.DATE_TO = Util.formatDate(this.to.getTime());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.from = new Date(this.from.getTime() - (parseInt(this.data['~USER_OFFSET_FROM']) || 0) * 1000);\n\t\t\t\tthis.to = new Date(this.to.getTime() - (parseInt(this.data['~USER_OFFSET_TO']) || 0) * 1000);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.isTask())\n\t\t\t{\n\t\t\t\tthis.from = BX.parseDate(this.data.DATE_FROM) || new Date();\n\t\t\t\tthis.to = BX.parseDate(this.data.DATE_TO) || this.from;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.from = BX.parseDate(this.data.DATE_FROM) || new Date();\n\t\t\t\tthis.to = BX.parseDate(this.data.DATE_TO) || this.from;\n\t\t\t}\n\t\t}\n\n\t\tif (this.fullDay)\n\t\t{\n\t\t\tthis.from.setHours(0, 0, 0, 0);\n\t\t\tthis.to.setHours(0, 0, 0, 0);\n\t\t}\n\n\t\tif (!this.data.ATTENDEES_CODES && !this.isTask())\n\t\t{\n\t\t\tif (this.data.CAL_TYPE === 'user' && this.data.OWNER_ID)\n\t\t\t{\n\t\t\t\tthis.data.ATTENDEES_CODES = ['U' + this.data.OWNER_ID];\n\t\t\t}\n\t\t\telse if (this.data.CREATED_BY)\n\t\t\t{\n\t\t\t\tthis.data.ATTENDEES_CODES = ['U' + this.data.CREATED_BY];\n\t\t\t}\n\t\t}\n\n\t\tthis.startDayCode = this.from;\n\t\tthis.endDayCode = this.to;\n\n\t\tif (!Type.isArray(this.data.REMIND) && Type.isArray(this.data.remind))\n\t\t{\n\t\t\tthis.data.REMIND = [];\n\t\t\tthis.data.remind.forEach(function(value)\n\t\t\t{\n\t\t\t\tthis.data.REMIND.push({type: 'min', count: value});\n\t\t\t}, this);\n\t\t\tdelete this.data.remind;\n\t\t}\n\t}\n\n\tgetAttendeesCodes()\n\t{\n\t\treturn this.data.ATTENDEES_CODES || [];\n\t}\n\n\tgetAttendeesEntityList()\n\t{\n\t\treturn this.data.attendeesEntityList || [];\n\t}\n\n\tgetAttendees()\n\t{\n\t\tif (!this.attendeeList)\n\t\t{\n\t\t\tthis.attendeeList = [];\n\t\t\tif (Type.isArray(this.data['ATTENDEE_LIST']))\n\t\t\t{\n\t\t\t\tconst userIndex = this.getUserIndex();\n\t\t\t\tthis.data['ATTENDEE_LIST'].forEach((user) => {\n\t\t\t\t\tif (userIndex[user.id])\n\t\t\t\t\t{\n\t\t\t\t\t\tlet attendee = BX.clone(userIndex[user.id]);\n\t\t\t\t\t\tattendee.STATUS = user.status;\n\t\t\t\t\t\tattendee.ENTRY_ID = user.entryId || false;\n\t\t\t\t\t\tthis.attendeeList.push(attendee);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn this.attendeeList;\n\t}\n\n\tsetUserIndex(userIndex)\n\t{\n\t\tthis.userIndex = userIndex;\n\t}\n\n\tgetUserIndex()\n\t{\n\t\treturn this.userIndex || EntryManager.getUserIndex();\n\t}\n\n\tcleanParts()\n\t{\n\t\tthis.parts = [];\n\t}\n\n\tstartPart(part)\n\t{\n\t\tpart.partIndex = this.parts.length;\n\t\tthis.parts.push(part);\n\t\treturn this.parts[part.partIndex];\n\t}\n\n\tregisterPartNode(part, params)\n\t{\n\t\tpart.params = params;\n\t}\n\n\tcheckPartIsRegistered(part)\n\t{\n\t\treturn Type.isPlainObject(part.params);\n\t}\n\n\tgetPart(partIndex)\n\t{\n\t\treturn this.parts[partIndex] || false;\n\t}\n\n\tgetWrap(partIndex)\n\t{\n\t\treturn this.parts[partIndex || 0].params.wrapNode;\n\t}\n\n\tgetSectionName()\n\t{\n\t\t//return this.calendar.sectionController.getSection(this.sectionId).name || '';\n\t}\n\n\tgetDescription()\n\t{\n\t\treturn this.data.DESCRIPTION || '';\n\t}\n\n\tapplyViewRange(viewRange)\n\t{\n\t\tlet\n\t\t\tviewRangeStart = viewRange.start.getTime(),\n\t\t\tviewRangeEnd = viewRange.end.getTime(),\n\t\t\tfromTime = this.from.getTime(),\n\t\t\ttoTime = this.to.getTime();\n\n\t\tif (toTime < viewRangeStart || fromTime > viewRangeEnd)\n\t\t\treturn false;\n\n\t\tif (fromTime < viewRangeStart)\n\t\t{\n\t\t\tthis.displayFrom = viewRange.start;\n\t\t\tthis.startDayCode = this.displayFrom;\n\t\t}\n\n\t\tif (toTime > viewRangeEnd)\n\t\t{\n\t\t\tthis.displayTo = viewRange.end;\n\t\t\tthis.endDayCode = this.displayTo;\n\t\t}\n\t\treturn true;\n\t}\n\n\tisPersonal()\n\t{\n\t\t//return (this.data.CAL_TYPE === 'user' && this.data.OWNER_ID == this.calendar.util.userId);\n\t}\n\n\tisMeeting()\n\t{\n\t\treturn !!this.data.IS_MEETING;\n\t}\n\n\tisPrivate()\n\t{\n\t\treturn this.private;\n\t}\n\n\tisResourcebooking()\n\t{\n\t\treturn this.data.EVENT_TYPE === '#resourcebooking#';\n\t}\n\n\tisTask()\n\t{\n\t\treturn this.data['~TYPE'] === 'tasks';\n\t}\n\n\tisSharingEvent()\n\t{\n\t\treturn this.data['EVENT_TYPE'] === '#shared#';\n\t}\n\n\tisInvited()\n\t{\n\t\treturn this.getCurrentStatus() === 'Q';\n\t}\n\n\tisLocation()\n\t{\n\t\treturn this.getType() === 'location';\n\t}\n\n\tisFullDay()\n\t{\n\t\treturn this.fullDay;\n\t}\n\n\tisLongWithTime()\n\t{\n\t\treturn !this.fullDay && Util.getDayCode(this.from) !== Util.getDayCode(this.to);\n\t}\n\n\tisExpired()\n\t{\n\t\treturn this.to.getTime() < new Date().getTime();\n\t}\n\n\thasEmailAttendees()\n\t{\n\t\tif (this.emailAttendeesCache === undefined)\n\t\t{\n\t\t\tconst userIndex = EntryManager.getUserIndex();\n\t\t\tfor (let i = 0; i < this.data['ATTENDEE_LIST'].length; i++)\n\t\t\t{\n\t\t\t\tlet user = this.data['ATTENDEE_LIST'][i];\n\t\t\t\tif ((user.status === 'Y' || user.status === 'Q')\n\t\t\t\t\t&& userIndex[user.id]\n\t\t\t\t\t&& userIndex[user.id].EMAIL_USER\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.emailAttendeesCache = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.emailAttendeesCache;\n\t}\n\n\townerIsEmailUser()\n\t{\n\t\tif (this.ownerIsEmailUserCache === undefined)\n\t\t{\n\t\t\tconst userIndex = EntryManager.getUserIndex();\n\t\t\tthis.ownerIsEmailUserCache = userIndex[parseInt(this.data.MEETING_HOST)]\n\t\t\t\t&& userIndex[parseInt(this.data.MEETING_HOST)].EMAIL_USER;\n\t\t}\n\t\treturn this.ownerIsEmailUserCache;\n\t}\n\n\tisSelected()\n\t{\n\t\treturn !!this.selected;\n\t}\n\n\tisCrm()\n\t{\n\t\treturn !!this.data.UF_CRM_CAL_EVENT;\n\t}\n\n\tisFirstReccurentEntry()\n\t{\n\t\treturn (this.data.DATE_FROM_TS_UTC === Math.floor(BX.parseDate(this.data['~DATE_FROM']).getTime() / 1000) * 1000\n\t\t\t||\n\t\t\tBX.parseDate(this.data['DATE_FROM']).getTime() === BX.parseDate(this.data['~DATE_FROM']).getTime()\n\t\t) && !this.data.RECURRENCE_ID;\n\t}\n\n\tisRecursive()\n\t{\n\t\treturn !!this.data.RRULE;\n\t}\n\n\tisFirstInstance()\n\t{\n\t\treturn this.data.RRULE && this.data.RINDEX === 0;\n\t}\n\n\tgetMeetingHost()\n\t{\n\t\treturn parseInt(this.data.MEETING_HOST);\n\t}\n\n\tgetMeetingNotify()\n\t{\n\t\treturn this.data.MEETING.NOTIFY;\n\t}\n\n\tgetHideGuests()\n\t{\n\t\treturn this.data.MEETING && BX.Type.isBoolean(this.data.MEETING.HIDE_GUESTS)\n\t\t\t? this.data.MEETING.HIDE_GUESTS\n\t\t\t: true;\n\t}\n\n\tgetRrule()\n\t{\n\t\treturn this.data.RRULE;\n\t}\n\n\tgetRRuleDescription()\n\t{\n\t\treturn this.data['~RRULE_DESCRIPTION'];\n\t}\n\n\thasRecurrenceId()\n\t{\n\t\treturn this.data.RECURRENCE_ID;\n\t}\n\n\twasEverRecursive()\n\t{\n\t\treturn this.data.RRULE || this.data.RECURRENCE_ID;\n\t}\n\n\tdeselect()\n\t{\n\t\tthis.selected = false;\n\t}\n\n\tselect()\n\t{\n\t\tthis.selected = true;\n\t}\n\n\tdeleteParts(recursionMode)\n\t{\n\t\tconst calendarContext = Util.getCalendarContext();\n\t\tif (calendarContext)\n\t\t{\n\t\t\tconst wrap = calendarContext.getView().getContainer();\n\n\t\t\tif (recursionMode === 'all')\n\t\t\t{\n\t\t\t\tcalendarContext.getView().entries.forEach((entry) => {\n\t\t\t\t\tif (parseInt(entry.id) === this.id\n\t\t\t\t\t\t|| parseInt(entry.data.RECURRENCE_ID) === this.id\n\t\t\t\t\t\t|| parseInt(entry.data.RECURRENCE_ID) === parseInt(this.data.RECURRENCE_ID)\n\t\t\t\t\t\t|| parseInt(entry.id) === parseInt(this.data.RECURRENCE_ID)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst entryPart = wrap.querySelector('div[data-bx-calendar-entry=\"' + entry.uid + '\"]');\n\t\t\t\t\t\tif (entryPart)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tentryPart.style.opacity = 0;\n\t\t\t\t\t\t\tsetTimeout(()=>{entryPart.style.display = 'none';}, 200);\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\telse if (recursionMode === 'next')\n\t\t\t{\n\t\t\t\tcalendarContext.getView().entries.forEach((entry) => {\n\t\t\t\t\tif ((parseInt(entry.id) === this.id\n\t\t\t\t\t\t|| parseInt(entry.data.RECURRENCE_ID) === this.id\n\t\t\t\t\t\t|| parseInt(entry.data.RECURRENCE_ID) === parseInt(this.data.RECURRENCE_ID)\n\t\t\t\t\t\t|| parseInt(entry.id) === parseInt(this.data.RECURRENCE_ID))\n\t\t\t\t\t\t&& entry.from.getTime() > this.from.getTime()\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst entryPart = wrap.querySelector('div[data-bx-calendar-entry=\"' + entry.uid + '\"]');\n\t\t\t\t\t\tif (entryPart)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tentryPart.style.opacity = 0;\n\t\t\t\t\t\t\tsetTimeout(()=>{entryPart.style.display = 'none';}, 200);\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\telse if (recursionMode === 'this' || !recursionMode)\n\t\t\t{\n\t\t\t\tconst parts = wrap.querySelectorAll('div[data-bx-calendar-entry=\"' + this.getUniqueId() + '\"]');\n\t\t\t\tparts.forEach((entryPart)=>{\n\t\t\t\t\tentryPart.style.opacity = 0;\n\t\t\t\t\tsetTimeout(()=>{entryPart.style.display = 'none';}, 200);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetUniqueId()\n\t{\n\t\treturn EntryManager.getEntryUniqueId(this.data, this);\n\t}\n\n\tgetCurrentStatus()\n\t{\n\t\tlet\n\t\t\tuserId = Util.getCurrentUserId(),\n\t\t\tstatus = false,\n\t\t\ti, user;\n\n\t\tif (this.isMeeting())\n\t\t{\n\t\t\tif (userId === parseInt(this.data.CREATED_BY))\n\t\t\t{\n\t\t\t\tstatus = this.data.MEETING_STATUS || 'Q';\n\t\t\t}\n\t\t\telse if (userId === parseInt(this.data.MEETING_HOST))\n\t\t\t{\n\t\t\t\tstatus = 'H';\n\t\t\t\t//status = this.data.MEETING_STATUS || 'H';\n\t\t\t}\n\t\t\telse if (Type.isArray(this.data['ATTENDEE_LIST']))\n\t\t\t{\n\t\t\t\tfor (i = 0; i < this.data['ATTENDEE_LIST'].length; i++)\n\t\t\t\t{\n\t\t\t\t\tuser = this.data['ATTENDEE_LIST'][i];\n\t\t\t\t\tif (parseInt(user.id) === userId)\n\t\t\t\t\t{\n\t\t\t\t\t\tstatus = user.status;\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}\n\t\telse if (userId === parseInt(this.data.CREATED_BY))\n\t\t{\n\t\t\tstatus = this.data.MEETING_STATUS || 'H';\n\t\t}\n\n\t\treturn Util.getMeetingStatusList().includes(status) ? status : false;\n\t}\n\n\tsetCurrentStatus(status)\n\t{\n\t\tif (this.isMeeting() && Util.getMeetingStatusList().includes(status))\n\t\t{\n\t\t\tthis.data.MEETING_STATUS = status;\n\n\t\t\tconst userId = Util.getCurrentUserId();\n\t\t\tif (Type.isArray(this.data['ATTENDEE_LIST']))\n\t\t\t{\n\t\t\t\tfor (let i = 0; i < this.data['ATTENDEE_LIST'].length; i++)\n\t\t\t\t{\n\t\t\t\t\tif (parseInt(this.data['ATTENDEE_LIST'][i].id) === userId)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.data['ATTENDEE_LIST'][i].status = status;\n\t\t\t\t\t\tthis.attendeeList = null;\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}\n\t}\n\n\tgetReminders()\n\t{\n\t\tlet res = [];\n\t\tif (this.data && this.data.REMIND)\n\t\t{\n\t\t\tthis.data.REMIND.forEach(function (remind)\n\t\t\t{\n\t\t\t\tswitch(remind.type)\n\t\t\t\t{\n\t\t\t\t\tcase 'min':\n\t\t\t\t\t\tres.push(remind.count);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'hour':\n\t\t\t\t\t\tres.push(parseInt(remind.count) * 60);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'day':\n\t\t\t\t\t\tres.push(parseInt(remind.count) * 60 * 24);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'daybefore':\n\t\t\t\t\t\tres.push(remind);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\tif (!Type.isDate(remind.value))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremind.value = Util.parseDate(remind.value);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Type.isDate(remind.value))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tres.push(remind);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn res;\n\t}\n\n\tgetLengthInDays()\n\t{\n\t\tlet\n\t\t\tfrom = new Date(this.from.getFullYear(), this.from.getMonth(), this.from.getDate(), 0, 0, 0),\n\t\t\tto = new Date(this.to.getFullYear(), this.to.getMonth(), this.to.getDate(), 0, 0, 0);\n\n\t\treturn Math.round((to.getTime() - from.getTime()) / Util.getDayLength()) + 1;\n\t}\n\n\tgetName(): string\n\t{\n\t\treturn (this.name || '');\n\t}\n\n\tgetColor()\n\t{\n\t\treturn this.data.COLOR;\n\t}\n\n\tgetType()\n\t{\n\t\treturn this.data.CAL_TYPE;\n\t}\n\n\tgetOwnerId()\n\t{\n\t\treturn this.data.OWNER_ID;\n\t}\n\n\tdelete(params)\n\t{\n\t\tparams = Type.isPlainObject(params) ? params : {};\n\t\tlet recursionMode = params.recursionMode || false;\n\n\t\tif (this.wasEverRecursive() && !params.confirmed)\n\t\t{\n\t\t\treturn this.showConfirmDeleteDialog({entry: this});\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Broadcast event\n\t\t\tBX.onCustomEvent('BX.Calendar.Entry:beforeDelete', [{entryId: this.id, recursionMode: recursionMode, entryData: this.data}]);\n\n\t\t\tEntryManager.showDeleteEntryNotification(this);\n\t\t\tthis.deleteParts(recursionMode);\n\n\t\t\tconst action = 'deleteCalendarEntry';\n\t\t\tconst data = {\n\t\t\t\tentryId: this.id,\n\t\t\t\trecursionMode: params.recursionMode || false,\n\t\t\t\trequestUid: Util.registerRequestId(),\n\t\t\t};\n\n\t\t\tEntryManager.registerDeleteTimeout({\n\t\t\t\taction,\n\t\t\t\tdata,\n\t\t\t\tparams: {\n\t\t\t\t\tentry: this,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tBX.onCustomEvent('BX.Calendar.Entry:delete', [{entryId: this.id, recursionMode: recursionMode}]);\n\t\t\t\t\t}\n\t\t\t\t}});\n\n\t\t\tthis.deleteTimeout = setTimeout(EntryManager.doDelayedActions, EntryManager.DELETE_DELAY_TIMEOUT);\n\t\t\tthis.delayTimeoutMap.set(this.deleteTimeout, {action, data});\n\t\t}\n\t}\n\n\tdeleteThis()\n\t{\n\t\tlet recursionMode = 'this';\n\t\tif (this.isRecursive())\n\t\t{\n\t\t\tBX.onCustomEvent('BX.Calendar.Entry:beforeDelete', [{entryId: this.id, recursionMode: recursionMode, entryData: this.data}]);\n\n\t\t\tEntryManager.showDeleteEntryNotification(this);\n\t\t\tthis.deleteParts(recursionMode);\n\n\t\t\tconst action = 'excludeRecursionDate';\n\t\t\tconst data = {\n\t\t\t\tentryId: this.id,\n\t\t\t\trecursionMode: recursionMode,\n\t\t\t\texcludeDate: this.data.DATE_FROM,\n\t\t\t};\n\n\t\t\tEntryManager.registerDeleteTimeout({\n\t\t\t\taction,\n\t\t\t\tdata,\n\t\t\t\tparams: {\n\t\t\t\t\tentry: this,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tBX.onCustomEvent('BX.Calendar.Entry:delete', [data]);\n\t\t\t\t\t}\n\t\t\t\t}});\n\n\t\t\tthis.deleteTimeout = setTimeout(EntryManager.doDelayedActions, EntryManager.DELETE_DELAY_TIMEOUT);\n\t\t\tthis.delayTimeoutMap.set(this.deleteTimeout, {action, data});\n\t\t}\n\t\telse if (this.hasRecurrenceId())\n\t\t{\n\t\t\tthis.delete({confirmed: true, recursionMode: 'this'});\n\t\t}\n\t}\n\n\tdeleteNext()\n\t{\n\t\tlet recursionMode = 'next';\n\t\tif (this.isRecursive() && this.isFirstReccurentEntry())\n\t\t{\n\t\t\tthis.deleteAll();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX.onCustomEvent('BX.Calendar.Entry:beforeDelete', [{entryId: this.id, recursionMode: recursionMode}]);\n\n\t\t\tEntryManager.showDeleteEntryNotification(this);\n\t\t\tthis.deleteParts(recursionMode);\n\n\t\t\tconst calendarContext = Util.getCalendarContext();\n\t\t\tif (calendarContext)\n\t\t\t{\n\n\t\t\t}\n\n\t\t\tconst action = 'changeRecurciveEntryUntil';\n\t\t\tconst data = {\n\t\t\t\tentryId: this.id,\n\t\t\t\trecursionMode: recursionMode,\n\t\t\t\tuntilDate: Util.formatDate(this.from.getTime() - Util.getDayLength()),\n\t\t\t};\n\t\t\tEntryManager.registerDeleteTimeout({\n\t\t\t\taction,\n\t\t\t\tdata,\n\t\t\t\tparams: {\n\t\t\t\t\tentry: this,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tBX.onCustomEvent('BX.Calendar.Entry:delete', [data]);\n\t\t\t\t\t}\n\t\t\t\t}});\n\n\t\t\tthis.deleteTimeout = setTimeout(EntryManager.doDelayedActions, EntryManager.DELETE_DELAY_TIMEOUT);\n\t\t\tthis.delayTimeoutMap.set(this.deleteTimeout, {action, data});\n\t\t}\n\t}\n\n\tdeleteAll()\n\t{\n\t\treturn this.delete({confirmed: true, recursionMode: 'all'});\n\t}\n\n\tcancelDelete()\n\t{\n\t\tif (this.deleteTimeout)\n\t\t{\n\t\t\tconst deleteTimeoutData = this.delayTimeoutMap.get(this.deleteTimeout);\n\t\t\tif (deleteTimeoutData)\n\t\t\t{\n\t\t\t\tEntryManager.unregisterDeleteTimeout(deleteTimeoutData);\n\t\t\t\tBX.onCustomEvent('BX.Calendar.Entry:cancelDelete', [{entryId: this.id, entryData: this.data}]);\n\t\t\t\tthis.delayTimeoutMap.delete(this.delayTimeoutMap);\n\t\t\t}\n\t\t\tclearTimeout(this.deleteTimeout);\n\t\t\tthis.deleteTimeout = null;\n\t\t}\n\n\t\tconst calendarContext = Util.getCalendarContext();\n\t\tif (calendarContext)\n\t\t{\n\t\t\tcalendarContext.reload();\n\t\t}\n\t}\n\n\tshowConfirmDeleteDialog(params)\n\t{\n\t\tif (!this.confirmDeleteDialog)\n\t\t{\n\t\t\tthis.confirmDeleteDialog = new (window.BX || window.top.BX).Calendar.Controls\n\t\t\t\t.ConfirmDeleteDialog({entry: params.entry});\n\t\t}\n\t\tthis.confirmDeleteDialog.show();\n\t}\n\n\tsave()\n\t{\n\t}\n\n\tgetLocation()\n\t{\n\t\treturn this.data.LOCATION;\n\t}\n\n\tsetTimezone(timezoneFrom, timezoneTo = null)\n\t{\n\t\tif(Type.isString(timezoneFrom))\n\t\t{\n\t\t\tthis.data.TZ_FROM = timezoneFrom;\n\t\t\tif (Type.isNull(timezoneTo))\n\t\t\t{\n\t\t\t\tthis.data.TZ_TO = timezoneFrom;\n\t\t\t}\n\t\t}\n\t\tif(Type.isString(timezoneTo))\n\t\t{\n\t\t\tthis.data.TZ_TO = timezoneTo;\n\t\t}\n\t}\n\n\tgetTimezoneFrom()\n\t{\n\t\treturn this.data.TZ_FROM || '';\n\t}\n\n\tgetTimezoneTo()\n\t{\n\t\treturn this.data.TZ_TO || '';\n\t}\n\n\tsetSectionId(value)\n\t{\n\t\tthis.data.SECT_ID = this.sectionId = this.isTask() ? 'tasks' : parseInt(value);\n\t}\n\n\tsetDateTimeValue({from, to})\n\t{\n\t\tif (Type.isDate(from) && Type.isDate(to))\n\t\t{\n\t\t\tthis.from = this.data.dateFrom = from;\n\t\t\tthis.to = this.data.dateTo = to;\n\n\t\t\tthis.data.DT_LENGTH = Math.round((this.to.getTime() - this.from.getTime()) / 1000);\n\t\t\tthis.data.DURATION = this.data.DT_LENGTH;\n\n\t\t\tif (this.fullDay)\n\t\t\t{\n\t\t\t\tthis.data.DATE_FROM = Util.formatDate(this.from.getTime());\n\t\t\t\tthis.data.DATE_TO = Util.formatDate(this.to.getTime());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.data.DATE_FROM = Util.formatDateTime(this.from.getTime());\n\t\t\t\tthis.data.DATE_TO = Util.formatDateTime(this.to.getTime());\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["EntryManager","getNewEntry","options","newEntryData","dateTime","getNewEntryTime","Date","userSettings","Util","getUserSettings","userId","getCurrentUserId","ID","NAME","getNewEntryName","dateFrom","from","dateTo","to","type","SECT_ID","RoomsManager","getNewEntrySectionId","parseInt","ownerId","SectionManager","REMIND","getNewEntryReminders","attendeesEntityList","entityId","id","ATTENDEE_LIST","status","push","TZ_FROM","timezoneName","timezoneDefaultName","TZ_TO","Entry","data","date","duration","getUsableDateTime","calendarContext","getCalendarContext","displayedViewRange","getDisplayedViewRange","Type","isDate","start","getTime","end","startDate","workTime","util","getWorkTime","setHours","newEntryName","setNewEntryName","showEditEntryNotification","entryId","showNotification","Loc","getMessage","title","events","click","event","balloon","action","openViewSlider","close","showNewEntryNotification","showDeleteEntryNotification","entry","BX","UI","Notification","Center","notify","getUniqueId","content","actions","cancelDelete","showReleaseLocationNotification","closeDeleteNotificationBalloon","getBalloonById","openEditSlider","bx","getBX","Calendar","SliderLoader","isLocationCalendar","roomsManager","locationAccess","dayOfWeekMonthFormat","locationCapacity","formDataValue","show","eventId","isNull","entryDateFrom","timezoneOffset","link","deleteEntry","slider","SidePanel","Instance","getTopSlider","beforeDeleteHandler","EventEmitter","subscribe","deleteHandler","calendar","reload","unsubscribe","delete","setMeetingStatus","params","Promise","resolve","isPlainObject","recursionMode","confirmed","isRecursive","showConfirmStatusDialog","ajax","runAction","entryParentId","parentId","currentDateFrom","formatDate","then","response","Event","emit","BaseEvent","counters","setCurrentStatus","resolvePromiseCallback","confirmDeclineDialog","createConfirmStatusDialog","unsubscribeAll","isFunction","getData","showConfirmEditDialog","confirmEditDialog","createConfirmEditDialog","callback","showReInviteUsersDialog","reinviteUsersDialog","createReinviteUserDialog","showConfirmedEmailDialog","confirmedEmailDialog","createConfirmedEmailDialog","showEmailLimitationDialog","limitationEmailDialog","createEmailLimitationDialog","getCompactViewForm","create","compactEntryForm","CompactEventForm","openCompactViewForm","compactForm","isShown","closeCallback","showInViewMode","openCompactEditForm","showInEditMode","getEntryInstance","userIndex","entryInstance","isObject","getUserIndex","setUserIndex","handlePullChanges","checkRequestId","requestUid","handlePull","getOpenSliders","forEach","slidersMap","get","fields","PARENT_ID","command","getType","CAL_TYPE","top","IS_MEETING","MEETING_STATUS","Controls","Location","entrySectionId","SECTION_ID","sectionDisplayed","isArray","sections","find","section","loadedEntry","getView","getEntryById","getEntryUniqueId","reloadDebounce","registerDeleteTimeout","delayedActionList","unregisterDeleteTimeout","filter","item","excludeDate","doDelayedActions","requestList","length","uid","entryData","sid","RRULE","parseDate","DATE_FROM","registerEntrySlider","control","set","isObjectLike","defaultReminders","count","before","time","setNewEntryReminders","reminders","setUserSettings","ConfirmEditDialog","ConfirmStatusDialog","ReinviteUserDialog","ConfirmedEmailDialog","EmailLimitationDialog","DELETE_DELAY_TIMEOUT","WeakMap","constructor","FULL_DAY_LENGTH","prepareData","parts","delayTimeoutMap","Map","DT_SKIP_TIME","SKIP_TIME","fullDay","accessibility","ACCESSIBILITY","important","IMPORTANCE","private","PRIVATE_EVENT","setSectionId","name","userTimezoneOffsetFrom","userTimezoneOffsetTo","DT_LENGTH","DURATION","isString","DATE_TO","Math","round","isTask","ATTENDEES_CODES","OWNER_ID","CREATED_BY","startDayCode","endDayCode","remind","value","getAttendeesCodes","getAttendeesEntityList","getAttendees","attendeeList","user","attendee","clone","STATUS","ENTRY_ID","cleanParts","startPart","part","partIndex","registerPartNode","checkPartIsRegistered","getPart","getWrap","wrapNode","getSectionName","getDescription","DESCRIPTION","applyViewRange","viewRange","viewRangeStart","viewRangeEnd","fromTime","toTime","displayFrom","displayTo","isPersonal","isMeeting","isPrivate","isResourcebooking","EVENT_TYPE","isSharingEvent","isInvited","getCurrentStatus","isLocation","isFullDay","isLongWithTime","getDayCode","isExpired","hasEmailAttendees","emailAttendeesCache","undefined","i","EMAIL_USER","ownerIsEmailUser","ownerIsEmailUserCache","MEETING_HOST","isSelected","selected","isCrm","UF_CRM_CAL_EVENT","isFirstReccurentEntry","DATE_FROM_TS_UTC","floor","RECURRENCE_ID","isFirstInstance","RINDEX","getMeetingHost","getMeetingNotify","MEETING","NOTIFY","getHideGuests","isBoolean","HIDE_GUESTS","getRrule","getRRuleDescription","hasRecurrenceId","wasEverRecursive","deselect","select","deleteParts","wrap","getContainer","entries","entryPart","querySelector","style","opacity","setTimeout","display","querySelectorAll","getMeetingStatusList","includes","getReminders","res","getLengthInDays","getFullYear","getMonth","getDate","getDayLength","getName","getColor","COLOR","getOwnerId","showConfirmDeleteDialog","onCustomEvent","registerRequestId","deleteTimeout","deleteThis","deleteNext","deleteAll","untilDate","deleteTimeoutData","clearTimeout","confirmDeleteDialog","window","ConfirmDeleteDialog","save","getLocation","LOCATION","setTimezone","timezoneFrom","timezoneTo","getTimezoneFrom","getTimezoneTo","sectionId","setDateTimeValue","formatDateTime","CAL_TYPES"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings