Thanasoft-Hytha/calendar/js/calendar-dashboard-lazy.js

503 lines
31 KiB
JavaScript

(self["webpackChunkcalendar"] = self["webpackChunkcalendar"] || []).push([["dashboard-lazy"],{
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=script&lang=js":
/*!*************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=script&lang=js ***!
\*************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _nextcloud_vue_dashboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue-dashboard */ "./node_modules/@nextcloud/vue-dashboard/dist/vue-dashboard.js");
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/vue */ "./node_modules/@nextcloud/vue/dist/index.mjs");
/* harmony import */ var vue_material_design_icons_CalendarBlankOutline_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-material-design-icons/CalendarBlankOutline.vue */ "./node_modules/vue-material-design-icons/CalendarBlankOutline.vue");
/* harmony import */ var vue_material_design_icons_Check_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-material-design-icons/Check.vue */ "./node_modules/vue-material-design-icons/Check.vue");
/* harmony import */ var vue_material_design_icons_CheckboxBlankOutline_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue-material-design-icons/CheckboxBlankOutline.vue */ "./node_modules/vue-material-design-icons/CheckboxBlankOutline.vue");
/* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.es.mjs");
/* harmony import */ var _nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nextcloud/moment */ "./node_modules/@nextcloud/moment/dist/index.mjs");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
/* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.js");
/* harmony import */ var _utils_date_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.js");
/* harmony import */ var p_limit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! p-limit */ "./node_modules/p-limit/index.js");
/* harmony import */ var _fullcalendar_eventSources_eventSourceFunction_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fullcalendar/eventSources/eventSourceFunction.js */ "./src/fullcalendar/eventSources/eventSourceFunction.js");
/* harmony import */ var _utils_moment_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js");
/* harmony import */ var _nextcloud_calendar_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @nextcloud/calendar-js */ "./node_modules/@nextcloud/calendar-js/dist/index.es.mjs");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: 'Dashboard',
components: {
DashboardWidget: _nextcloud_vue_dashboard__WEBPACK_IMPORTED_MODULE_0__.DashboardWidget,
DashboardWidgetItem: _nextcloud_vue_dashboard__WEBPACK_IMPORTED_MODULE_0__.DashboardWidgetItem,
NcButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__.NcButton,
EmptyContent: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__.NcEmptyContent,
EmptyCalendar: vue_material_design_icons_CalendarBlankOutline_vue__WEBPACK_IMPORTED_MODULE_2__["default"],
IconCheck: vue_material_design_icons_Check_vue__WEBPACK_IMPORTED_MODULE_3__["default"],
IconCheckbox: vue_material_design_icons_CheckboxBlankOutline_vue__WEBPACK_IMPORTED_MODULE_4__["default"]
},
data() {
return {
events: null,
locale: 'en',
imagePath: (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_7__.imagePath)('calendar', 'illustrations/calendar'),
loading: true,
now: (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_9__.dateFactory)()
};
},
computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_14__.mapGetters)({
timezoneObject: 'getResolvedTimezoneObject'
}),
/**
* Format loaded events
*
* @return {Array}
*/
items() {
if (!Array.isArray(this.events) || this.events.length === 0) {
return [];
}
const firstEvent = this.events[0];
const endOfToday = (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(this.now).endOf('day');
if (endOfToday.isBefore(firstEvent.startDate)) {
return [{
isEmptyItem: true
}].concat(this.events.slice(0, 4));
}
return this.events;
},
/**
* Redirects to the new event route
*
* @return {string}
*/
clickStartNew() {
return (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_7__.generateUrl)('apps/calendar') + '/new';
}
},
mounted() {
this.initialize();
},
methods: {
/**
* Initialize the widget
*/
async initialize() {
const start = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_9__.dateFactory)();
const end = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_9__.dateFactory)();
end.setDate(end.getDate() + 14);
const startOfToday = (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(start).startOf('day').toDate();
await this.initializeEnvironment();
const expandedEvents = await this.fetchExpandedEvents(start, end);
this.events = await this.formatEvents(expandedEvents, startOfToday);
this.loading = false;
},
/**
* Initialize everything necessary,
* before we can fetch events
*
* @return {Promise<void>}
*/
async initializeEnvironment() {
await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_8__.initializeClientForUserView)();
await this.$store.dispatch('fetchCurrentUserPrincipal');
await this.$store.dispatch('loadCollections');
const {
show_tasks: showTasks,
timezone
} = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_5__.loadState)('calendar', 'dashboard_data');
const locale = await (0,_utils_moment_js__WEBPACK_IMPORTED_MODULE_12__["default"])();
this.$store.commit('loadSettingsFromServer', {
timezone,
showTasks
});
this.$store.commit('setMomentLocale', {
locale
});
},
/**
* Fetch events
*
* @param {Date} from Start of time-range
* @param {Date} to End of time-range
* @return {Promise<object[]>}
*/
async fetchExpandedEvents(from, to) {
const limit = (0,p_limit__WEBPACK_IMPORTED_MODULE_10__["default"])(10);
const fetchEventPromises = [];
for (const calendar of this.$store.getters.enabledCalendars) {
fetchEventPromises.push(limit(async () => {
let timeRangeId;
try {
timeRangeId = await this.$store.dispatch('getEventsFromCalendarInTimeRange', {
calendar,
from,
to
});
} catch (e) {
return [];
}
const calendarObjects = this.$store.getters.getCalendarObjectsByTimeRangeId(timeRangeId);
return (0,_fullcalendar_eventSources_eventSourceFunction_js__WEBPACK_IMPORTED_MODULE_11__.eventSourceFunction)(calendarObjects, calendar, from, to, this.timezoneObject);
}));
}
const expandedEvents = await Promise.all(fetchEventPromises);
return expandedEvents.flat();
},
/**
* @param {object[]} expandedEvents Array of fullcalendar events
* @param {Date} filterBefore filter events that start before date
* @return {object[]}
*/
formatEvents(expandedEvents, filterBefore) {
return expandedEvents.sort((a, b) => a.start.getTime() - b.start.getTime()).filter(event => !event.classNames.includes('fc-event-nc-task-completed')).filter(event => !event.classNames.includes('fc-event-nc-cancelled')).filter(event => filterBefore.getTime() <= event.start.getTime()).slice(0, 7).map(event => ({
isEmptyItem: false,
componentName: event.extendedProps.objectType,
targetUrl: event.extendedProps.objectType === 'VEVENT' ? this.getCalendarAppUrl(event) : this.getTasksAppUrl(event),
subText: this.formatSubtext(event),
mainText: event.title,
startDate: event.start,
calendarColor: this.$store.state.calendars.calendarsById[event.extendedProps.calendarId].color,
calendarDisplayName: this.$store.state.calendars.calendarsById[event.extendedProps.calendarId].displayname
}));
},
/**
* @param {object} event The full-calendar formatted event
* @return {string}
*/
formatSubtext(event) {
const locale = this.$store.state.settings.momentLocale;
if (event.allDay) {
return (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(event.start).locale(locale).calendar(null, {
// TRANSLATORS Please translate only the text in brackets and keep the brackets!
sameDay: t('calendar', '[Today]'),
// TRANSLATORS Please translate only the text in brackets and keep the brackets!
nextDay: t('calendar', '[Tomorrow]'),
nextWeek: 'dddd',
// TRANSLATORS Please translate only the text in brackets and keep the brackets!
lastDay: t('calendar', '[Yesterday]'),
// TRANSLATORS Please translate only the text in brackets and keep the brackets!
lastWeek: t('calendar', '[Last] dddd'),
sameElse: () => '[replace-from-now]'
}).replace('replace-from-now', (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(event.start).locale(locale).fromNow());
} else {
const start = _nextcloud_calendar_js__WEBPACK_IMPORTED_MODULE_13__.DateTimeValue.fromJSDate(event.start).getInTimezone(this.timezoneObject);
const utcOffset = start.utcOffset() / 60;
return (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(event.start).utcOffset(utcOffset).locale(locale).calendar(null, {
sameElse: () => '[replace-from-now]'
}).replace('replace-from-now', (0,_nextcloud_moment__WEBPACK_IMPORTED_MODULE_6__["default"])(event.start).utcOffset(utcOffset).locale(locale).fromNow());
}
},
/**
* @param {object} data The data destructuring object
* @param {object} data.extendedProps Extended Properties of the FC object
* @return {string}
*/
getCalendarAppUrl(_ref) {
let {
extendedProps
} = _ref;
return (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_7__.generateUrl)('apps/calendar') + '/edit/' + extendedProps.objectId + '/' + extendedProps.recurrenceId;
},
/**
* @param {object} data The data destructuring object
* @param {object} data.extendedProps Extended Properties of the FC object
* @return {string}
*/
getTasksAppUrl(_ref2) {
let {
extendedProps
} = _ref2;
const davUrlParts = extendedProps.davUrl.split('/');
const taskId = davUrlParts.pop();
const calendarId = davUrlParts.pop();
return (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_7__.generateUrl)('apps/tasks') + "/#/calendars/".concat(calendarId, "/tasks/").concat(taskId);
}
}
});
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=template&id=22ba47ca":
/*!************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=template&id=22ba47ca ***!
\************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ render: () => (/* binding */ render),
/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)
/* harmony export */ });
var render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c("DashboardWidget", {
attrs: {
id: "calendar_panel",
items: _vm.items,
loading: _vm.loading
},
scopedSlots: _vm._u([{
key: "default",
fn: function (_ref) {
let {
item
} = _ref;
return [item.isEmptyItem ? _c("EmptyContent", {
staticClass: "half-screen",
attrs: {
id: "calendar-widget-empty-content",
name: _vm.t("calendar", "No more events today")
},
scopedSlots: _vm._u([{
key: "icon",
fn: function () {
return [_c("IconCheck", {
attrs: {
size: 67
}
})];
},
proxy: true
}], null, true)
}) : _c("DashboardWidgetItem", {
attrs: {
"main-text": item.mainText,
"sub-text": item.subText,
"target-url": item.targetUrl
},
scopedSlots: _vm._u([{
key: "avatar",
fn: function () {
return [item.componentName === "VEVENT" ? _c("div", {
staticClass: "calendar-dot",
style: {
"background-color": item.calendarColor
},
attrs: {
name: item.calendarDisplayName
}
}) : _c("IconCheckbox", {
attrs: {
"fill-color": item.calendarColor
}
})];
},
proxy: true
}], null, true)
})];
}
}, {
key: "empty-content",
fn: function () {
return [_c("EmptyContent", {
attrs: {
id: "calendar-widget-empty-content",
name: _vm.t("calendar", "No upcoming events")
},
scopedSlots: _vm._u([{
key: "icon",
fn: function () {
return [_c("EmptyCalendar")];
},
proxy: true
}])
}), _vm._v(" "), _c("div", {
staticClass: "empty-label"
}, [_c("NcButton", {
attrs: {
type: "secondary",
href: _vm.clickStartNew
}
}, [_vm._v("\n\t\t\t\t" + _vm._s(_vm.t("calendar", "Create a new event")) + "\n\t\t\t")])], 1)];
},
proxy: true
}])
});
};
var staticRenderFns = [];
render._withStripped = true;
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `#calendar_panel .calendar-dot {
flex-shrink: 0;
height: 1rem;
width: 1rem;
margin-top: 0.2rem;
border-radius: 50%;
}
#calendar_panel #calendar-widget-empty-content {
text-align: center;
margin-top: 5vh;
}
#calendar_panel #calendar-widget-empty-content.half-screen {
margin-top: 0;
height: 120px;
margin-bottom: 2vh;
}
#calendar_panel .empty-label {
display: flex;
justify-content: center;
margin-top: 5vh;
}`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "./src/views/Dashboard.vue":
/*!*********************************!*\
!*** ./src/views/Dashboard.vue ***!
\*********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Dashboard.vue?vue&type=template&id=22ba47ca */ "./src/views/Dashboard.vue?vue&type=template&id=22ba47ca");
/* harmony import */ var _Dashboard_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Dashboard.vue?vue&type=script&lang=js */ "./src/views/Dashboard.vue?vue&type=script&lang=js");
/* harmony import */ var _Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss */ "./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
;
/* normalize component */
var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_Dashboard_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
_Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__.render,
_Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "src/views/Dashboard.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
/***/ }),
/***/ "./src/views/Dashboard.vue?vue&type=script&lang=js":
/*!*********************************************************!*\
!*** ./src/views/Dashboard.vue?vue&type=script&lang=js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=script&lang=js");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./src/views/Dashboard.vue?vue&type=template&id=22ba47ca":
/*!***************************************************************!*\
!*** ./src/views/Dashboard.vue?vue&type=template&id=22ba47ca ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__.render),
/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_template_id_22ba47ca__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=template&id=22ba47ca */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=template&id=22ba47ca");
/***/ }),
/***/ "./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss":
/*!******************************************************************************!*\
!*** ./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/resolve-url-loader/index.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss");
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Dashboard_vue_vue_type_style_index_0_id_22ba47ca_lang_scss__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/resolve-url-loader/index.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/Dashboard.vue?vue&type=style&index=0&id=22ba47ca&lang=scss");
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.id, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = (__webpack_require__(/*! !../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js")["default"])
var update = add("09667dae", content, false, {});
// Hot Module Replacement
if(false) {}
/***/ })
}]);
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=41ca77d834f6e319b2e6