YetiForceCompany/YetiForceCRM

View on GitHub
public_html/layouts/basic/modules/Vtiger/resources/CalendarView.min.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"CalendarView.min.js","sources":["CalendarView.js"],"sourcesContent":["/* {[The file is published on the basis of YetiForce Public License 6.5 that can be found in the following directory: licenses/LicenseEN.txt or yetiforce.com]} */\n'use strict';\n\n/**\n * Class representing a standard calendar.\n * @extends Calendar_Js\n */\nwindow.Vtiger_Calendar_Js = class Vtiger_Calendar_Js extends Calendar_Js {\n\t/**\n\t * Create calendar's options.\n\t * @param {jQuery} container\n\t * @param {bool} readonly\n\t * @param {boolean} browserHistory\n\t */\n\tconstructor(container, readonly, browserHistory = false) {\n\t\tsuper(container, readonly, browserHistory);\n\t}\n\t/**\n\t * Set calendar module options.\n\t * @returns {{allDaySlot: boolean, dayClick: object, selectable: boolean}}\n\t */\n\tsetCalendarModuleOptions() {\n\t\tconst self = this;\n\t\treturn {\n\t\t\tallDaySlot: app.getMainParams('allDaySlot'),\n\t\t\tdateClick: (args) => {\n\t\t\t\tif (this.eventCreate) {\n\t\t\t\t\tself.registerDayClickEvent(args);\n\t\t\t\t}\n\t\t\t},\n\t\t\tselectable: false,\n\t\t\teventClick: function (info) {\n\t\t\t\tinfo.jsEvent.preventDefault();\n\t\t\t\tconst element = $(info.el);\n\t\t\t\tlet link = element.attr('href');\n\t\t\t\tif (!link) {\n\t\t\t\t\tlink = element.find('a').attr('href');\n\t\t\t\t}\n\t\t\t\tif (link && $.inArray('js-show-modal', info.event.classNames) !== -1) {\n\t\t\t\t\tapp.showModalWindow(null, link.replace('view=', 'xview=') + '&view=QuickDetailModal');\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\t/**\n\t * Set calendar module's options.\n\t * @returns {object}\n\t */\n\tsetCalendarAdvancedOptions() {\n\t\tconst self = this;\n\t\treturn Object.assign(super.setCalendarAdvancedOptions(), {\n\t\t\theaderToolbar: {\n\t\t\t\tleft: `dayGridMonth,${app.getMainParams('weekView')},${app.getMainParams('dayView')},listWeek,today`,\n\t\t\t\tcenter: 'prevYear,prev,title,next,nextYear',\n\t\t\t\tright: ''\n\t\t\t},\n\t\t\tselect: function (info) {\n\t\t\t\tself.selectDays(info);\n\t\t\t},\n\t\t\tdatesSet: function (dateInfo) {\n\t\t\t\tapp.event.trigger('Calendar.DatesSet', dateInfo, this);\n\t\t\t\tif (self.fullCalendar.view !== 'year') {\n\t\t\t\t\tself.loadCalendarData();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * Function invokes by fullCalendar, sets selected days in form\n\t * @param {object} info\n\t */\n\tselectDays(info) {\n\t\tif (!this.container.find('.js-right-panel-event-link').length) {\n\t\t\treturn false;\n\t\t}\n\t\tthis.container.find('.js-right-panel-event-link').tab('show');\n\t\tsuper.selectDays(info);\n\t}\n\t/**\n\t * Load calendar data\n\t */\n\tloadCalendarData() {\n\t\tconst self = this,\n\t\t\tdefaultParams = this.getDefaultParams(),\n\t\t\tprogressInstance = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\tself.fullCalendar.removeAllEvents();\n\t\tself.clearFilterButton(defaultParams['user']);\n\t\tAppConnector.request(defaultParams).done((events) => {\n\t\t\tself.fullCalendar.removeAllEvents();\n\t\t\tself.fullCalendar.addEventSource(events.result);\n\t\t\tprogressInstance.progressIndicator({ mode: 'hide' });\n\t\t});\n\t}\n\t/**\n\t * Reload calendar data after changing search parameters\n\t */\n\treloadCalendarData() {\n\t\tsuper.reloadCalendarData();\n\t\tthis.updateCountTaskCalendar();\n\t}\n\t/**\n\t * Show/hide clear filter button\n\t */\n\tclearFilterButton(user) {\n\t\tlet currentUser = parseInt(app.getMainParams('userId')),\n\t\t\ttime = app.getMainParams('showType'),\n\t\t\tstatement =\n\t\t\t\tJSON.stringify(user['selectedIds']) === JSON.stringify([`${currentUser}`]) &&\n\t\t\t\tthis.getCurrentCvId() === undefined &&\n\t\t\t\ttime === 'current';\n\t\t$('.js-calendar__clear-filters').toggleClass('d-none', statement);\n\t}\n\t/**\n\t * Default params\n\t * @returns {{module: *, action: string, mode: string, start: *, end: *, user: *, emptyFilters: boolean}}\n\t */\n\tgetDefaultParams() {\n\t\tlet options = super.getDefaultParams(),\n\t\t\tuser = this.getSelectedUsersCalendar();\n\t\tif (0 === user.length) {\n\t\t\tuser = app.getMainParams('usersId');\n\t\t}\n\t\tif (user === undefined) {\n\t\t\tuser = [app.getMainParams('userId')];\n\t\t}\n\t\tif (this.fullCalendar.view === 'timeGridDay') {\n\t\t\tthis.fullCalendar.view.activeEnd = this.fullCalendar.view.activeEnd.add(1, 'day');\n\t\t}\n\t\tconst time = this.getSidebarView().find('.js-switch--showType input:checked').data('val');\n\t\toptions.time = options.time !== undefined ? time : app.getMainParams('showType');\n\t\toptions.history = true;\n\t\toptions.user = user;\n\t\treturn options;\n\t}\n\t/**\n\t * Get selected users\n\t * @returns {{ selectedIds: array, excludedIds: array }}\n\t */\n\tgetSelectedUsersCalendar() {\n\t\tconst sidebar = this.getSidebarView();\n\t\tlet selectedUsers = sidebar.find('.js-input-user-owner-id:checked'),\n\t\t\tnotSelectedUsers = sidebar.find('.js-input-user-owner-id:not(:checked)'),\n\t\t\tselectedUsersAjax = sidebar.find('.js-input-user-owner-id-ajax'),\n\t\t\tselectedRolesAjax = sidebar.find('.js-input-role-owner-id-ajax'),\n\t\t\tcheckboxSelectAll = sidebar.find('.js-select-all'),\n\t\t\tselectedIds = [],\n\t\t\texcludedIds = [];\n\n\t\tlet ifSelectAllIsChecked = checkboxSelectAll.length > 0 && checkboxSelectAll.is(':checked');\n\t\tif (ifSelectAllIsChecked) {\n\t\t\tselectedIds.push('all');\n\t\t} else if (selectedUsers.length > 0) {\n\t\t\tselectedUsers.each(function () {\n\t\t\t\tselectedIds.push($(this).val());\n\t\t\t});\n\t\t}\n\t\tif (selectedUsersAjax.length > 0) {\n\t\t\tselectedIds = selectedUsersAjax.val().concat(selectedRolesAjax.val());\n\t\t}\n\t\tif (ifSelectAllIsChecked && notSelectedUsers) {\n\t\t\tnotSelectedUsers.each(function () {\n\t\t\t\texcludedIds.push($(this).val());\n\t\t\t});\n\t\t}\n\t\tif (0 === selectedIds.length && CONFIG.userId) {\n\t\t\tselectedIds.push(CONFIG.userId);\n\t\t}\n\t\treturn { selectedIds: selectedIds, excludedIds: excludedIds };\n\t}\n\t/**\n\t * Register day click event.\n\t * @param {object} info\n\t */\n\tregisterDayClickEvent(info) {\n\t\tconst self = this,\n\t\t\tuserFormat = App.Fields.Date.dateToUserFormat(info.date);\n\t\tif (!CONFIG.isQuickCreateSupported) {\n\t\t\tapp.openUrl(\n\t\t\t\t'index.php?module=' +\n\t\t\t\t\t(this.module ? this.module : CONFIG.module) +\n\t\t\t\t\t'&view=Edit&date_start=' +\n\t\t\t\t\tuserFormat +\n\t\t\t\t\t'&due_date=' +\n\t\t\t\t\tuserFormat\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tself.getCalendarCreateView().done((data) => {\n\t\t\tApp.Components.QuickCreate.showModal(data, {\n\t\t\t\tcallbackFunction: () => {\n\t\t\t\t\tself.reloadCalendarData();\n\t\t\t\t},\n\t\t\t\tcallbackBeforeRegister: (modal) => {\n\t\t\t\t\tmodal.find('.js-selected-date').val(App.Fields.Date.dateToDbFormat(info.date));\n\t\t\t\t},\n\t\t\t\tcallbackPostShown: (modal) => {\n\t\t\t\t\tself.dayCallbackCreateModal(modal, info);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t * Callback after shown create modal\n\t * @param {jQuery} modal\n\t * @param {object} info\n\t */\n\tdayCallbackCreateModal(modal, info) {\n\t\tlet dateFormat = modal.find('[name=\"date_start\"]').data('dateFormat'),\n\t\t\ttimeFormat = modal.find('[name=\"time_start\"]').data('format'),\n\t\t\tdefaultTimeFormat = 'hh:mm A',\n\t\t\tuserFormat = App.Fields.Date.dateToUserFormat(info.date, dateFormat),\n\t\t\tendTimeString;\n\n\t\tif (timeFormat == 24) {\n\t\t\tdefaultTimeFormat = 'HH:mm';\n\t\t}\n\t\tlet startTimeString = moment(info.date).format(defaultTimeFormat);\n\t\tif ('dayGridMonth' == this.fullCalendar.view.type) {\n\t\t\tlet now = new Date();\n\t\t\tstartTimeString = moment(now).format(defaultTimeFormat);\n\t\t\tendTimeString = moment(now).add(15, 'minutes').format(defaultTimeFormat);\n\t\t} else {\n\t\t\tendTimeString = moment(info.date).add(30, 'minutes').format(defaultTimeFormat);\n\t\t}\n\t\tmodal.find('[name=\"date_start\"]').val(userFormat);\n\t\tmodal.find('[name=\"due_date\"]').val(userFormat);\n\t\tmodal.find('[name=\"time_start\"]').val(startTimeString);\n\t\tmodal.find('[name=\"time_end\"]').val(endTimeString);\n\t}\n\t/**\n\t * Register switch events\n\t */\n\tregisterSwitchEvents() {\n\t\tlet isWorkDays,\n\t\t\tswitchShowTypeVal,\n\t\t\tswitchContainer = $('.js-calendar__tab--filters'),\n\t\t\tswitchShowType = switchContainer.find('.js-switch--showType'),\n\t\t\tshowTypeState = switchShowType.find('.js-switch--label-on.active').length ? 'current' : 'history',\n\t\t\tswitchSwitchingDays = switchContainer.find('.js-switch--switchingDays'),\n\t\t\tswitchingDaysState = switchSwitchingDays.find('.js-switch--label-on.active').length ? 'workDays' : 'all';\n\t\tlet historyParams = app.getMainParams('historyParams', true);\n\t\tif (historyParams === '') {\n\t\t\tisWorkDays =\n\t\t\t\tapp.getMainParams('switchingDays') === 'workDays' && app.moduleCacheGet('defaultSwitchingDays') !== 'all';\n\t\t\tswitchShowTypeVal =\n\t\t\t\tapp.getMainParams('showType') === 'current' && app.moduleCacheGet('defaultShowType') !== 'history';\n\t\t\tif (!switchShowTypeVal) {\n\t\t\t\tswitchShowType.find('.js-switch--label-off').button('toggle');\n\t\t\t}\n\t\t} else {\n\t\t\tif (historyParams.time !== undefined) {\n\t\t\t\tapp.setMainParams('showType', historyParams.time);\n\t\t\t}\n\t\t\tapp.setMainParams('switchingDays', historyParams.hiddenDays === '' ? 'all' : 'workDays');\n\t\t}\n\t\tswitchShowType.on('change', 'input', (e) => {\n\t\t\tconst currentTarget = $(e.currentTarget);\n\t\t\tif (typeof currentTarget.data('on-text') !== 'undefined') {\n\t\t\t\tapp.setMainParams('showType', 'current');\n\t\t\t\tapp.moduleCacheSet('defaultShowType', 'current');\n\t\t\t} else if (typeof currentTarget.data('off-text') !== 'undefined') {\n\t\t\t\tapp.setMainParams('showType', 'history');\n\t\t\t\tapp.moduleCacheSet('defaultShowType', 'history');\n\t\t\t}\n\t\t\tthis.reloadCalendarData();\n\t\t});\n\t\tif (app.getMainParams('showType') !== showTypeState) {\n\t\t\t$('label.active', switchShowType).find('input').filter(':first').trigger('change');\n\t\t}\n\t\tif (switchSwitchingDays.length) {\n\t\t\tif (typeof isWorkDays !== 'undefined' && !isWorkDays) {\n\t\t\t\tswitchSwitchingDays.find('.js-switch--label-off').button('toggle');\n\t\t\t}\n\t\t\tswitchSwitchingDays.on('change', 'input', (e) => {\n\t\t\t\tconst currentTarget = $(e.currentTarget);\n\t\t\t\tlet hiddenDays = [];\n\t\t\t\tif (typeof currentTarget.data('on-text') !== 'undefined') {\n\t\t\t\t\tapp.setMainParams('switchingDays', 'workDays');\n\t\t\t\t\tapp.moduleCacheSet('defaultSwitchingDays', 'workDays');\n\t\t\t\t\thiddenDays = app.getMainParams('hiddenDays', true);\n\t\t\t\t} else if (typeof currentTarget.data('off-text') !== 'undefined') {\n\t\t\t\t\tapp.setMainParams('switchingDays', 'all');\n\t\t\t\t\tapp.moduleCacheSet('defaultSwitchingDays', 'all');\n\t\t\t\t}\n\t\t\t\tthis.fullCalendar.setOption('hiddenDays', hiddenDays);\n\t\t\t\tthis.fullCalendar.setOption('height', this.setCalendarHeight());\n\t\t\t});\n\t\t\tif (app.getMainParams('switchingDays') !== switchingDaysState) {\n\t\t\t\t$('label.active', switchSwitchingDays).find('input').filter(':first').trigger('change');\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Function toggles next year/month and general arrows on view render\n\t */\n\tregisterViewRenderEvents() {\n\t\tlet toolbar = this.calendarView.find('.fc-toolbar.fc-header-toolbar');\n\t\tthis.showChangeDateButtons(toolbar);\n\t\tthis.appendSubDateRow(toolbar);\n\t\tthis.refreshDatesRowView();\n\t\tthis.addHeaderButtons();\n\t\tthis.showTodayButtonCheckbox(toolbar);\n\t\tapp.event.on('Calendar.DatesSet', () => {\n\t\t\tthis.showChangeDateButtons(toolbar);\n\t\t\tthis.refreshDatesRowView();\n\t\t\tthis.showTodayButtonCheckbox(toolbar);\n\t\t});\n\t}\n\t/**\n\t * Function shows change date buttons in calendar's header for specific view\n\t * @param {jQuery} toolbar\n\t */\n\tshowChangeDateButtons(toolbar) {\n\t\tconst view = this.fullCalendar.view;\n\t\tconst buttonText = this.calendarOptions.buttonText;\n\t\tlet nextPrevButtons = toolbar.find('.fc-prev-button, .fc-next-button'),\n\t\t\tyearButtons = toolbar.find('.fc-prevYear-button, .fc-nextYear-button');\n\t\tyearButtons.first().html(`<span class=\"fas fa-xs fa-minus mr-1\"></span>${buttonText['year']}`);\n\t\tyearButtons.last().html(`${buttonText['year']}<span class=\"fas fa-xs fa-plus ml-1\"></span>`);\n\t\tif (view.type !== 'year' && Calendar_Js.viewsNamesLabels[view.type]) {\n\t\t\tlet viewType = Calendar_Js.viewsNamesLabels[view.type];\n\t\t\tnextPrevButtons.first().html(`<span class=\"fas fa-xs fa-minus mr-1\"></span>${buttonText[viewType]}`);\n\t\t\tnextPrevButtons.last().html(`${buttonText[viewType]}<span class=\"fas fa-xs fa-plus ml-1\"></span>`);\n\t\t}\n\t\tif (view.type === 'year') {\n\t\t\tnextPrevButtons.hide();\n\t\t\tyearButtons.show();\n\t\t} else if (view.type === 'dayGridMonth') {\n\t\t\tnextPrevButtons.show();\n\t\t\tyearButtons.show();\n\t\t} else if (view.type === 'list') {\n\t\t\tnextPrevButtons.hide();\n\t\t\tyearButtons.hide();\n\t\t} else {\n\t\t\tnextPrevButtons.show();\n\t\t\tyearButtons.hide();\n\t\t}\n\t}\n\t/**\n\t * Appends sub date row to calendar header and register its scroll\n\t * @param {jQuery} toolbar\n\t */\n\tappendSubDateRow(toolbar) {\n\t\tif (!this.calendarView.find('.js-dates-row').length) {\n\t\t\tthis.subDateRow =\n\t\t\t\t$(`<div class=\"js-scroll js-dates-row u-overflow-auto-xl-down order-4 flex-grow-1 position-relative my-1 w-100\" data-js=\"perfectScrollbar | container\">\n\t\t\t\t\t\t<div class=\"d-flex flex-nowrap w-100\">\n\t\t\t\t\t\t\t<div class=\"js-sub-date-list w-100 sub-date-list row no-gutters flex-nowrap nav nav-tabs\" data-js=\"data-type\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>`);\n\t\t\ttoolbar.append(this.subDateRow);\n\t\t\tif ($(window).width() > app.breakpoints.lg) {\n\t\t\t\tapp.showNewScrollbar(toolbar);\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t * Refresh date bar with counts\n\t */\n\trefreshDatesRowView() {\n\t\tconst self = this;\n\t\tswitch (this.fullCalendar.view.type) {\n\t\t\tcase 'year':\n\t\t\t\tself.generateYearList();\n\t\t\t\tbreak;\n\t\t\tcase 'dayGridMonth':\n\t\t\t\tself.generateMonthList();\n\t\t\t\tbreak;\n\t\t\tcase 'dayGridWeek':\n\t\t\tcase 'timeGridWeek':\n\t\t\tcase 'listWeek':\n\t\t\t\tself.generateWeekList();\n\t\t\t\tbreak;\n\t\t\tcase 'dayGridWeek':\n\t\t\tcase 'timeGridDay':\n\t\t\t\tself.generateDaysList();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.container.find('.js-dates-row .js-sub-date-list').html('');\n\t\t\t\tbreak;\n\t\t}\n\t\tself.updateCountTaskCalendar();\n\t\tself.registerDatesChange();\n\t}\n\t/**\n\t * Generate days bar list\n\t */\n\tgenerateDaysList() {\n\t\tconst datesView = this.container.find('.js-dates-row'),\n\t\t\tactiveDays = moment(this.fullCalendar.view.currentStart).format('DDD'),\n\t\t\tnextDays = moment(this.fullCalendar.view.currentStart).add(7, 'days');\n\t\tlet prevDays = moment(this.fullCalendar.view.currentStart).subtract(5, 'days'),\n\t\t\tdaysToShow = nextDays.diff(prevDays, 'days'),\n\t\t\thtml = '';\n\n\t\tfor (let day = 0; day < daysToShow; ++day) {\n\t\t\tif (app.getMainParams('switchingDays') === 'workDays' && app.moduleCacheGet('defaultSwitchingDays') !== 'all') {\n\t\t\t\tif ($.inArray(prevDays.day(), app.getMainParams('hiddenDays', true)) !== -1) {\n\t\t\t\t\tprevDays = moment(prevDays).add(1, 'days');\n\t\t\t\t\tdaysToShow++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet date = prevDays.format('YYYY-MM-DD'),\n\t\t\t\tdateUser = App.Fields.Date.dateToUserFormat(date),\n\t\t\t\tactive = '';\n\t\t\tif (prevDays.format('DDD') === activeDays) {\n\t\t\t\tactive = 'active';\n\t\t\t}\n\t\t\thtml += `<div data-date=\"${date}\" data-dates=\"${date}|${date}\" data-type=\"days\"\n\t\t\t\tclass=\"js-sub-record sub-record nav-item col-1 px-0\" data-js=\"click\">\n\t\t\t\t<div class=\"sub-record-content nav-link js-popover-tooltip ${active}\"\n\t\t\t\t\ttitle=\"${App.Fields.Date.fullDaysTranslated[prevDays.format('d')]} ${dateUser}\" data-js=\"class: active\">\n\t\t\t\t<div class=\"sub-date-name\">${app.vtranslate('JS_DAY_SHORT')} ${prevDays.format('DD')}\n\t\t\t\t<div class=\"js-count-events count badge c-badge--md ml-1\" data-js=\"html\">0</div>\n\t\t\t\t</div></div></div>`;\n\t\t\tprevDays = moment(prevDays).add(1, 'days');\n\t\t}\n\t\tdatesView.find('.js-sub-date-list').html(html);\n\t}\n\t/**\n\t * Generate weeks bar list\n\t */\n\tgenerateWeekList() {\n\t\tconst datesView = this.container.find('.js-dates-row'),\n\t\t\tactiveWeek = moment(this.fullCalendar.view.currentStart).format('WW'),\n\t\t\tnextWeeks = moment(this.fullCalendar.view.currentStart).add(6, 'weeks');\n\t\tlet prevWeeks = moment(this.fullCalendar.view.currentStart).subtract(5, 'weeks'),\n\t\t\thtml = '';\n\t\twhile (prevWeeks.format('YYYY-MM-DD') <= nextWeeks.format('YYYY-MM-DD')) {\n\t\t\tlet date = prevWeeks.format('YYYY-MM-DD'),\n\t\t\t\tdateEnd = moment(prevWeeks).add(6, 'day').format('YYYY-MM-DD'),\n\t\t\t\tdateUser = App.Fields.Date.dateToUserFormat(date),\n\t\t\t\tdateEndUser = App.Fields.Date.dateToUserFormat(dateEnd),\n\t\t\t\tactive = '';\n\t\t\tif (prevWeeks.format('WW') === activeWeek) {\n\t\t\t\tactive = 'active';\n\t\t\t}\n\t\t\thtml += `<div data-date=\"${date}\" data-dates=\"${date}|${dateEnd}\"\n\t\t\t\tclass=\"js-sub-record sub-record nav-item col-1 px-0\" data-type=\"weeks\" data-js=\"click\">\n\t\t\t\t<div class=\"sub-record-content nav-link js-popover-tooltip ${active}\" title=\"${dateUser} > ${dateEndUser}\" data-js=\"class: active\">\n\t\t\t\t<div class=\"sub-date-name\">${app.vtranslate('JS_WEEK_SHORT')} ${prevWeeks.format('WW')}\n\t\t\t\t<div class=\"js-count-events count badge c-badge--md ml-1\" data-js=\"html\">0</div>\n\t\t\t\t</div></div></div>`;\n\t\t\tprevWeeks.add(1, 'weeks');\n\t\t}\n\t\tdatesView.find('.js-sub-date-list').html(html);\n\t}\n\t/**\n\t * Generate month bar list\n\t */\n\tgenerateMonthList() {\n\t\tconst datesView = this.container.find('.js-dates-row'),\n\t\t\tactiveMonth = this.fullCalendar.view.currentStart.getMonth(),\n\t\t\tactiveYear = this.fullCalendar.view.currentStart.getFullYear();\n\t\tlet html = '';\n\t\tfor (let month = 0; 12 > month; ++month) {\n\t\t\tlet m = month <= 8 ? '0' + (month + 1) : month + 1,\n\t\t\t\tlastDay = App.Fields.Date.getLastMonthDay(activeYear, m),\n\t\t\t\tdate = activeYear + '-' + m + '-01',\n\t\t\t\tdateEnd = activeYear + '-' + m + '-' + lastDay,\n\t\t\t\tdateUser = App.Fields.Date.dateToUserFormat(date),\n\t\t\t\tdateEndUser = App.Fields.Date.dateToUserFormat(dateEnd),\n\t\t\t\tactive = '';\n\t\t\tif (month === activeMonth) {\n\t\t\t\tactive = 'active';\n\t\t\t}\n\t\t\thtml += `<div data-date=\"${date}\" data-dates=\"${date}|${dateEnd}\"\n\t\t\t\tclass=\"js-sub-record sub-record nav-item col-1 px-0\" data-type=\"months\" data-js=\"click\">\n\t\t\t\t<div class=\"sub-record-content nav-link js-popover-tooltip ${active}\" title=\"${dateUser} > ${dateEndUser}\" data-js=\"class: active\">\n\t\t\t\t<div class=\"sub-date-name\">${App.Fields.Date.monthsTranslated[month]}\n\t\t\t\t<div class=\"js-count-events count badge c-badge--md ml-1\" data-js=\"html\">0</div>\n\t\t\t\t</div></div></div>`;\n\t\t}\n\t\tdatesView.find('.js-sub-date-list').html(html);\n\t}\n\t/**\n\t * Generate year bar list\n\t */\n\tgenerateYearList() {\n\t\tconst datesView = this.container.find('.js-dates-row'),\n\t\t\tactiveYear = this.fullCalendar.view.currentStart.getFullYear(),\n\t\t\tnextYear = activeYear + 1;\n\t\tlet prevYear = activeYear - 1,\n\t\t\thtml = '';\n\t\twhile (prevYear <= nextYear) {\n\t\t\tlet date = prevYear + '-01-01',\n\t\t\t\tdateEnd = prevYear + '-12-31',\n\t\t\t\tactive = '';\n\t\t\tif (prevYear === activeYear) {\n\t\t\t\tactive = 'active';\n\t\t\t}\n\t\t\thtml += `<div data-date=\"${date}\" data-dates=\"${date}|${dateEnd}\"\n\t\t\t\tclass=\"js-sub-record sub-record col-4 nav-item\" data-type=\"years\" data-js=\"click\">\n\t\t\t\t<div class=\"sub-record-content nav-link ${active}\" data-js=\"class: active\">\n\t\t\t\t<div class=\"sub-date-name\">${prevYear}<div class=\"js-count-events count badge c-badge--md ml-1\" data-js=\"html\">0</div></div>\n\t\t\t\t</div></div>`;\n\t\t\tprevYear = prevYear + 1;\n\t\t}\n\t\tdatesView.find('.js-sub-date-list').html(html);\n\t}\n\t/**\n\t * Counting the number of events in the bar for the current view\n\t */\n\tupdateCountTaskCalendar() {\n\t\tconst datesView = this.container.find('.js-dates-row'),\n\t\t\tsubDatesElements = datesView.find('.js-sub-record');\n\t\tlet options = this.getDefaultParams(),\n\t\t\tdateArray = {};\n\t\tdelete options.start;\n\t\tdelete options.end;\n\t\tsubDatesElements.each(function (key) {\n\t\t\tdateArray[key] = $(this).data('dates').split('|');\n\t\t});\n\t\toptions.mode = 'getCountEventsGroup';\n\t\toptions.dates = dateArray;\n\t\tAppConnector.request(options).done(function (events) {\n\t\t\tsubDatesElements.each(function (key) {\n\t\t\t\t$(this).find('.js-count-events').removeClass('hide').html(events.result[key]);\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t * Registration of the date change in the counting the number of events bar\n\t */\n\tregisterDatesChange() {\n\t\tthis.container.find('.js-dates-row .js-sub-record').on('click', (e) => {\n\t\t\tlet currentTarget = $(e.currentTarget);\n\t\t\tcurrentTarget.addClass('active');\n\t\t\tthis.fullCalendar.gotoDate(currentTarget.data('date'));\n\t\t});\n\t}\n\t/**\n\t * Add header buttons\n\t */\n\taddHeaderButtons() {\n\t\tif (this.calendarView.find('.js-calendar__view-btn').length) {\n\t\t\treturn;\n\t\t}\n\t\tlet buttonsContainer = this.calendarView.prev('.js-calendar__header-buttons'),\n\t\t\tviewBtn = buttonsContainer.find('.js-calendar__view-btn').clone(),\n\t\t\tfilters = buttonsContainer.find('.js-calendar__filter-container').clone(),\n\t\t\ttoolbar = this.calendarView.find('.fc-toolbar-chunk');\n\t\ttoolbar.first().addClass('fc-left');\n\t\ttoolbar.eq(1).addClass('fc-center');\n\t\tthis.calendarView.find('.fc-left .fc-button-group').prepend(viewBtn);\n\t\tthis.calendarView.find('.fc-center').after(filters);\n\t\tthis.registerClearFilterButton();\n\t\tthis.registerFilterTabChange();\n\t}\n\t/**\n\t * Register clear filter button\n\t */\n\tregisterClearFilterButton() {\n\t\tconst sidebar = this.getSidebarView(),\n\t\t\tclearBtn = this.calendarView.find('.js-calendar__clear-filters');\n\t\tapp.showPopoverElementView(clearBtn);\n\t\tclearBtn.on('click', () => {\n\t\t\t$('.js-calendar__extended-filter-tab a').removeClass('active');\n\t\t\tapp.moduleCacheSet('CurrentCvId', null);\n\t\t\tapp.setMainParams('showType', 'current');\n\t\t\tapp.moduleCacheSet('defaultShowType', 'current');\n\t\t\tsidebar.find('input:checkbox').prop('checked', false);\n\t\t\tsidebar.find('option:selected').prop('selected', false).trigger('change.select2');\n\t\t\tsidebar.find('.js-sidebar-filter-container').each((_, e) => {\n\t\t\t\tlet element = $(e);\n\t\t\t\tlet cacheName = element.data('cache');\n\t\t\t\tif (element.data('name') && cacheName) {\n\t\t\t\t\tapp.moduleCacheSet(cacheName, '');\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet calendarSwitch = sidebar.find('.js-switch--showType [class*=\"js-switch--label\"]'),\n\t\t\t\tactualUserCheckbox = sidebar.find('.js-input-user-owner-id[value=' + app.getMainParams('userId') + ']');\n\t\t\tcalendarSwitch.last().removeClass('active');\n\t\t\tcalendarSwitch.first().addClass('active');\n\t\t\t$('input[data-val=\"current\"]', calendarSwitch).prop('checked', true);\n\t\t\tif (actualUserCheckbox.length) {\n\t\t\t\tactualUserCheckbox.prop('checked', true);\n\t\t\t} else {\n\t\t\t\tapp.setMainParams('usersId', undefined);\n\t\t\t}\n\t\t\tthis.reloadCalendarData();\n\t\t});\n\t}\n\t/**\n\t * Register filter tab change\n\t */\n\tregisterFilterTabChange() {\n\t\tthis.calendarView.find('.js-calendar__extended-filter-tab').on('shown.bs.tab', () => {\n\t\t\tthis.reloadCalendarData();\n\t\t\tapp.moduleCacheSet('CurrentCvId', this.getCurrentCvId());\n\t\t});\n\t}\n\t/**\n\t * Function appends and shows today button's checkbox\n\t * @param {jQuery} toolbar\n\t */\n\tshowTodayButtonCheckbox(toolbar) {\n\t\tlet todayButton = toolbar.find('.fc-today-button'),\n\t\t\ttodyButtonIcon = todayButton.attr('disabled') ? 'fa-calendar-check' : 'fa-calendar',\n\t\t\tpopoverContent = todayButton.attr('title');\n\t\ttodayButton.html(`<div class=\"js-popover-tooltip\"><span class=\"far fa-lg ${todyButtonIcon}\"></span></div>`);\n\t\tapp.showPopoverElementView(todayButton.find('.js-popover-tooltip'), {\n\t\t\ttitle: popoverContent\n\t\t});\n\t}\n\t/**\n\t * Registration of the event being added to favorite users\n\t */\n\tregisterPinUser() {\n\t\tconst self = this;\n\t\tthis.getSidebarView()\n\t\t\t.find('.js-pin-user')\n\t\t\t.on('click', function () {\n\t\t\t\tconst element = $(this);\n\t\t\t\tAppConnector.request({\n\t\t\t\t\tmodule: self.module,\n\t\t\t\t\taction: 'Calendar',\n\t\t\t\t\tmode: 'pinOrUnpinUser',\n\t\t\t\t\telement_id: element.data('elementid')\n\t\t\t\t}).done((data) => {\n\t\t\t\t\tif (data.result === 'unpin') {\n\t\t\t\t\t\telement.find('.js-pin-icon').removeClass('fas').addClass('far');\n\t\t\t\t\t} else if (data.result === 'pin') {\n\t\t\t\t\t\telement.find('.js-pin-icon').removeClass('far').addClass('fas');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t}\n\t/**\n\t * Register cache settings\n\t */\n\tregisterCacheSettings() {}\n\t/**\n\t * Register events\n\t */\n\tregisterEvents() {\n\t\tsuper.registerEvents();\n\t\tthis.registerCacheSettings();\n\t\tthis.registerSwitchEvents();\n\t\tthis.registerPinUser();\n\t\tElementQueries.listen();\n\t}\n};\n"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","i","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","res","call","Number","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","getOwnPropertyDescriptor","arguments","value","apply","object","hasOwnProperty","_getPrototypeOf","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","window","Vtiger_Calendar_Js","_Calendar_Js","container","readonly","browserHistory","_super","setCalendarModuleOptions","_this","allDaySlot","app","getMainParams","dateClick","args","eventCreate","registerDayClickEvent","selectable","eventClick","info","jsEvent","preventDefault","element","$","el","link","attr","find","inArray","event","classNames","showModalWindow","replace","setCalendarAdvancedOptions","assign","headerToolbar","left","concat","center","right","select","selectDays","datesSet","dateInfo","trigger","fullCalendar","view","loadCalendarData","tab","defaultParams","getDefaultParams","progressInstance","progressIndicator","blockInfo","enabled","removeAllEvents","clearFilterButton","user","AppConnector","request","done","events","addEventSource","mode","reloadCalendarData","updateCountTaskCalendar","currentUser","parseInt","time","statement","JSON","stringify","selectedIds","getCurrentCvId","toggleClass","options","getSelectedUsersCalendar","activeEnd","add","getSidebarView","data","history","sidebar","selectedUsers","notSelectedUsers","selectedUsersAjax","selectedRolesAjax","checkboxSelectAll","excludedIds","ifSelectAllIsChecked","is","push","each","val","CONFIG","userId","userFormat","App","Fields","Date","dateToUserFormat","date","isQuickCreateSupported","getCalendarCreateView","Components","QuickCreate","showModal","callbackFunction","callbackBeforeRegister","modal","dateToDbFormat","callbackPostShown","dayCallbackCreateModal","openUrl","module","endTimeString","dateFormat","timeFormat","defaultTimeFormat","startTimeString","moment","format","type","now","registerSwitchEvents","isWorkDays","switchShowTypeVal","_this2","switchContainer","switchShowType","showTypeState","switchSwitchingDays","switchingDaysState","historyParams","moduleCacheGet","button","setMainParams","hiddenDays","on","currentTarget","moduleCacheSet","filter","setOption","setCalendarHeight","registerViewRenderEvents","_this3","toolbar","calendarView","showChangeDateButtons","appendSubDateRow","refreshDatesRowView","addHeaderButtons","showTodayButtonCheckbox","buttonText","calendarOptions","nextPrevButtons","yearButtons","first","html","year","last","Calendar_Js","viewsNamesLabels","viewType","hide","show","subDateRow","append","width","breakpoints","lg","showNewScrollbar","generateYearList","generateMonthList","generateWeekList","generateDaysList","registerDatesChange","datesView","activeDays","currentStart","nextDays","prevDays","subtract","daysToShow","diff","day","dateUser","active","fullDaysTranslated","vtranslate","activeWeek","nextWeeks","prevWeeks","dateEnd","dateEndUser","activeMonth","getMonth","activeYear","getFullYear","month","m","lastDay","getLastMonthDay","monthsTranslated","prevYear","subDatesElements","dateArray","start","end","split","dates","removeClass","_this4","addClass","gotoDate","buttonsContainer","prev","viewBtn","clone","filters","eq","prepend","after","registerClearFilterButton","registerFilterTabChange","_this5","clearBtn","showPopoverElementView","prop","_","cacheName","calendarSwitch","actualUserCheckbox","_this6","todayButton","todyButtonIcon","popoverContent","title","registerPinUser","action","element_id","showNotify","text","registerCacheSettings","registerEvents","ElementQueries","listen"],"mappings":"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"}