Server IP : 85.214.239.14 / Your IP : 18.117.170.80 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/self/root/proc/2/cwd/srv/modoboa/instance/sitestatic/modoboa_radicale/js/ |
Upload File : |
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/flatpickr/dist/l10n lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./src/components/Modal.vue?0bb9","webpack:///./src/App.vue?67c8","webpack:///./src/components/CalendarForm.vue?230c","webpack:///./src/api.js","webpack:///src/components/CalendarForm.vue","webpack:///./src/components/CalendarForm.vue?852c","webpack:///./src/components/CalendarForm.vue","webpack:///./src/components/CalendarAccessRulesForm.vue?d6f2","webpack:///src/components/CalendarAccessRulesForm.vue","webpack:///./src/components/CalendarAccessRulesForm.vue?7034","webpack:///./src/components/CalendarAccessRulesForm.vue","webpack:///./src/components/CalendarDetail.vue?43f8","webpack:///src/components/CalendarDetail.vue","webpack:///./src/components/CalendarDetail.vue?4436","webpack:///./src/components/CalendarDetail.vue","webpack:///./src/components/ImportEventsForm.vue?0250","webpack:///src/components/ImportEventsForm.vue","webpack:///./src/components/ImportEventsForm.vue?2114","webpack:///./src/components/ImportEventsForm.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/components/Calendar.vue?07b2","webpack:///./src/components/CreateEventForm.vue?7ba0","webpack:///src/components/CreateEventForm.vue","webpack:///./src/components/CreateEventForm.vue?815e","webpack:///./src/components/CreateEventForm.vue","webpack:///./src/components/EventForm.vue?9692","webpack:///src/components/EventForm.vue","webpack:///./src/components/EventForm.vue?42b0","webpack:///./src/components/EventForm.vue","webpack:///src/components/Calendar.vue","webpack:///./src/components/Calendar.vue?0195","webpack:///./src/components/Calendar.vue","webpack:///./src/router/index.js","webpack:///./src/store/mutation-types.js","webpack:///./src/store/modules/calendar.js","webpack:///./src/store/modules/event.js","webpack:///./src/store/index.js","webpack:///./src/components/Modal.vue?c1c0","webpack:///src/components/Modal.vue","webpack:///./src/components/Modal.vue?cf53","webpack:///./src/components/Modal.vue?ea02","webpack:///./src/main.js","webpack:///./src/tools/permissions.js","webpack:///./node_modules/fullcalendar/dist/locale lazy ^\\.\\/.*\\.js$ namespace object"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","code","keys","webpackAsyncContext","then","ids","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","on","openCreateCalendarForm","_v","_l","calendar","pk","toggleSubmenu","style","color","_s","$event","displayCalendarInfo","editCalendar","editCalendarAccessRules","deleteCalendar","openImportEventsForm","toggleSharedCalendarMenu","directives","rawName","expression","currentCalendar","showCalendarForm","_e","showAccessRulesForm","currentCalendarPk","showCalendarDetail","showImportEventsForm","staticRenderFns","slot","preventDefault","saveCalendar","class","formErrors","namePlaceHolder","domProps","composing","$set","Array","isArray","shared","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","domains","domainPlaceHolder","model","callback","close","submitLabel","Vue","use","VueResource","userCalendarResource","resource","getUserCalendars","createUserCalendar","save","updateUserCalendar","update","deleteUserCalendar","delete","sharedCalendarResource","getSharedCalendars","createSharedCalendar","updateSharedCalendar","deleteSharedCalendar","customEventActions","patch","method","url","importEvents","eventResource","getEvent","calendarPk","calendarType","calendar_pk","createEvent","domain","updateEvent","newCalType","patchEvent","deleteEvent","attendeeResource","getAttendees","mailboxResource","getMailboxes","accessRuleResource","domainResource","getDomains","getAccessRules","params","createAccessRule","updateAccessRule","deleteAccessRule","component","mailboxes","currentRule","read","write","saveRule","rule","mailbox","full_address","editRule","deleteRule","full_url","share_url","sendFile","ref","setFile","runningUpload","start","end","allDay","showCreateEventForm","renderEvent","currentId","showEventForm","saveEvent","titlePlaceHolder","config","allCalendars","_m","descriptionPlaceHolder","attendees","submitPlaceholder","Router","routes","path","Calendar","EventForm","linkActiveClass","SET_CALENDARS","ADD_CALENDAR","UPDATE_CALENDAR","DELETE_CALENDAR","SET_SHARED_CALENDARS","ADD_SHARED_CALENDAR","UPDATE_SHARED_CALENDAR","DELETE_SHARED_CALENDAR","SET_ATTENDEES","state","calendars","sharedCalendars","getters","actions","getCalendars","commit","api","response","types","createCalendar","updateCalendar","mutations","filter","item","pos","set","Vuex","options","strict","process","Store","_t","GetTextPlugin","availableLanguages","en","fr","translations","language","userLang","VueRouter","VuejsDialog","Notifications","Acl","locale","flatpickr","localize","default","VueFlatPickr","Modal","Multiselect","format","moment","String","EventBus","defineProperties","$bus","csrftoken","Cookies","http","headers","common","el","render","h","App","router","store","install","directive","binding","vnode","oldVnode","permission","uprofile","userProfile","isSuperUser","permissions","indexOf","display","$can"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASY,EAAe5B,GACvB,OAAOyB,EAAoBI,EAAI,wBAA0B,GAAG7B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAA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UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,QACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,cAAe,CACd,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,mBAGF,SAASO,EAAoBL,GAC5B,IAAI1E,EAAoB+C,EAAEyB,EAAKE,GAC9B,OAAO9D,QAAQC,UAAUmE,MAAK,WAC7B,IAAIxE,EAAI,IAAIiB,MAAM,uBAAyBiD,EAAM,KAEjD,MADAlE,EAAEqE,KAAO,mBACHrE,KAIR,IAAIyE,EAAMT,EAAIE,GAAMC,EAAKM,EAAI,GAC7B,OAAOjF,EAAoBQ,EAAEyE,EAAI,IAAID,MAAK,WACzC,OAAOhF,EAAoBuD,EAAEoB,EAAI,MAGnCI,EAAoBD,KAAO,WAC1B,OAAOhG,OAAOgG,KAAKN,IAEpBO,EAAoBJ,GAAK,OACzBrE,EAAOD,QAAU0E,G,o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OACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,QACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,eAAgB,CACf,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,UAAW,CACV,OACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,OACA,kBAED,aAAc,CACb,OACA,mBAGF,SAASO,EAAoBL,GAC5B,IAAI1E,EAAoB+C,EAAEyB,EAAKE,GAC9B,OAAO9D,QAAQC,UAAUmE,MAAK,WAC7B,IAAIxE,EAAI,IAAIiB,MAAM,uBAAyBiD,EAAM,KAEjD,MADAlE,EAAEqE,KAAO,mBACHrE,KAIR,IAAIyE,EAAMT,EAAIE,GAAMC,EAAKM,EAAI,GAC7B,OAAOjF,EAAoBQ,EAAEyE,EAAI,IAAID,MAAK,WACzC,OAAOhF,EAAoBuD,EAAEoB,EAAI,MAGnCI,EAAoBD,KAAO,WAC1B,OAAOhG,OAAOgG,KAAKN,IAEpBO,EAAoBJ,GAAK,OACzBrE,EAAOD,QAAU0E","file":"modoboa_radicale/js/app.3b41380b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"modoboa_radicale/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0a34bd\":\"38f1b8ac\",\"chunk-2d0a34e9\":\"aa2f9818\",\"chunk-2d0a351b\":\"d523003b\",\"chunk-2d0a370a\":\"7cb9a786\",\"chunk-2d0a3cf3\":\"c5d7ff9a\",\"chunk-2d0a4765\":\"1066ddf0\",\"chunk-2d0aa178\":\"96bc4fd8\",\"chunk-2d0aa29d\":\"216ecb67\",\"chunk-2d0aa7f4\":\"989dd17b\",\"chunk-2d0aacb9\":\"4e1eef71\",\"chunk-2d0ab4ca\":\"347d33d3\",\"chunk-2d0aeafd\":\"35e12850\",\"chunk-2d0af42a\":\"3b6c40cc\",\"chunk-2d0b1ba3\":\"756f7a1d\",\"chunk-2d0b1e62\":\"bbfa952f\",\"chunk-2d0b28e9\":\"2c856757\",\"chunk-2d0b2c78\":\"e29741a6\",\"chunk-2d0b2cae\":\"7b6eb2c1\",\"chunk-2d0b324c\":\"43e7a9df\",\"chunk-2d0b32bc\":\"ab9fbcea\",\"chunk-2d0b384e\":\"1da65c7d\",\"chunk-2d0b39b2\":\"51a0b021\",\"chunk-2d0b3d9f\":\"f486c51f\",\"chunk-2d0b5d2c\":\"d2e25cb6\",\"chunk-2d0b5fc8\":\"734e57f4\",\"chunk-2d0b6a98\":\"20fa941c\",\"chunk-2d0b8a68\":\"4f376da5\",\"chunk-2d0b8e50\":\"c596b0e0\",\"chunk-2d0b92c3\":\"e67b8e89\",\"chunk-2d0b9939\":\"401d2b15\",\"chunk-2d0bb23d\":\"70af3aac\",\"chunk-2d0bd1a7\":\"dbd5c137\",\"chunk-2d0c04c3\":\"4a116989\",\"chunk-2d0c04d4\":\"90b774b4\",\"chunk-2d0c0614\":\"1cfefbaa\",\"chunk-2d0c18eb\":\"f70a3c4c\",\"chunk-2d0c1cfa\":\"9a66854f\",\"chunk-2d0c2137\":\"71ff87d8\",\"chunk-2d0c4244\":\"b47f1b89\",\"chunk-2d0c42c4\":\"ee0c807b\",\"chunk-2d0c5111\":\"f63b9671\",\"chunk-2d0c573c\":\"b31a9b2e\",\"chunk-2d0c77bd\":\"95a4c6e5\",\"chunk-2d0c792f\":\"1d469d1e\",\"chunk-2d0c8256\":\"04708180\",\"chunk-2d0c8a53\":\"97bd157e\",\"chunk-2d0c8a76\":\"ed3dd8c3\",\"chunk-2d0c8f7c\":\"10b5e7ad\",\"chunk-2d0c8fac\":\"3a8775bc\",\"chunk-2d0c91f5\":\"d7a282dd\",\"chunk-2d0c932c\":\"54544644\",\"chunk-2d0cba82\":\"062fdd9a\",\"chunk-2d0cc668\":\"c9cdf61f\",\"chunk-2d0ccf78\":\"6194c795\",\"chunk-2d0cfac5\":\"6f313dad\",\"chunk-2d0cfe47\":\"0a9b5d86\",\"chunk-2d0d0787\":\"d37576c7\",\"chunk-2d0d34e2\":\"be40f968\",\"chunk-2d0d3ae0\":\"57553fc8\",\"chunk-2d0d3c90\":\"02a7fd8e\",\"chunk-2d0d641c\":\"f11e0376\",\"chunk-2d0d6ad1\":\"a30630d8\",\"chunk-2d0d79d8\":\"68d5f954\",\"chunk-2d0d7aa2\":\"09d5d493\",\"chunk-2d0da354\":\"affd8e0c\",\"chunk-2d0dab02\":\"c9171d69\",\"chunk-2d0dae2a\":\"cfe8be89\",\"chunk-2d0db8a3\":\"2e76e347\",\"chunk-2d0dd3d3\":\"2156511e\",\"chunk-2d0de2f2\":\"9c6205d0\",\"chunk-2d0df846\":\"3eb7912b\",\"chunk-2d0e1462\":\"91271dcb\",\"chunk-2d0e1f93\":\"2562c217\",\"chunk-2d0e290e\":\"4e44099c\",\"chunk-2d0e5230\":\"d1d0ead1\",\"chunk-2d0e5971\":\"2323661f\",\"chunk-2d0e5c1c\":\"60884784\",\"chunk-2d0e68a5\":\"40f7b2c3\",\"chunk-2d0e88af\":\"2a8f39b0\",\"chunk-2d0ea117\":\"360360e9\",\"chunk-2d0efce1\":\"7246fc33\",\"chunk-2d0f009a\":\"e0814905\",\"chunk-2d0f0a0e\":\"a1461275\",\"chunk-2d207328\":\"29ef0191\",\"chunk-2d207717\":\"9a165933\",\"chunk-2d207744\":\"3a534bb0\",\"chunk-2d207eb9\":\"e38390d9\",\"chunk-2d2084aa\":\"cd133641\",\"chunk-2d2084f6\":\"209f4b40\",\"chunk-2d208e1c\":\"a438885f\",\"chunk-2d20e785\":\"26ad7cf3\",\"chunk-2d20ed77\":\"30a3396b\",\"chunk-2d20f937\":\"a2a989e7\",\"chunk-2d20fb2b\":\"009dcb14\",\"chunk-2d210669\":\"cad6945b\",\"chunk-2d21084d\":\"59d1c22b\",\"chunk-2d210feb\":\"fc9751a9\",\"chunk-2d213ad4\":\"b1641a0e\",\"chunk-2d215ca3\":\"e85ec882\",\"chunk-2d217a1d\":\"04de90ec\",\"chunk-2d2183ba\":\"5ec3a09f\",\"chunk-2d21a5d4\":\"1f061c06\",\"chunk-2d21d873\":\"d41b0cab\",\"chunk-2d21ddf7\":\"cf760d33\",\"chunk-2d21f0be\":\"bb9ada43\",\"chunk-2d221c16\":\"45d0201c\",\"chunk-2d221df3\":\"d99c379e\",\"chunk-2d221e50\":\"faa14d47\",\"chunk-2d222d37\":\"dc53864e\",\"chunk-2d22566f\":\"551ccd38\",\"chunk-2d22579a\":\"4f3d6be3\",\"chunk-2d225c72\":\"fc461e84\",\"chunk-2d226318\":\"b96c66cd\",\"chunk-2d229007\":\"f04c1643\",\"chunk-2d2290fe\":\"6300e2ac\",\"chunk-2d229443\":\"b3ed5ea8\",\"chunk-2d229b94\":\"62e30ac0\",\"chunk-2d229da7\":\"652d59e8\",\"chunk-2d22c868\":\"0633fb66\",\"chunk-2d22d73b\":\"d182bb64\",\"chunk-2d22dd78\":\"f5799475\",\"chunk-2d2311ab\":\"724fe385\",\"chunk-2d237211\":\"2643e964\",\"chunk-2d237512\":\"33a31641\",\"chunk-2d237b1e\":\"8afa9414\",\"chunk-2d237d7e\":\"4da3e806\",\"chunk-2d238064\":\"e51f10ca\",\"chunk-2d238094\":\"ad7cff9d\",\"chunk-2d238102\":\"aab95c03\",\"chunk-2d2382a7\":\"a08a4419\",\"chunk-2d2386b5\":\"52214e47\",\"chunk-744bf72f\":\"1c883f80\",\"chunk-7490c111\":\"c0cd24f5\",\"chunk-74b4d726\":\"fd26f3f6\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/sitestatic/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var map = {\n\t\"./ar.js\": [\n\t\t\"f8e5\",\n\t\t\"chunk-2d22dd78\"\n\t],\n\t\"./at.js\": [\n\t\t\"1adf\",\n\t\t\"chunk-2d0b5fc8\"\n\t],\n\t\"./az.js\": [\n\t\t\"8a5e\",\n\t\t\"chunk-2d0e88af\"\n\t],\n\t\"./be.js\": [\n\t\t\"a003\",\n\t\t\"chunk-2d207328\"\n\t],\n\t\"./bg.js\": [\n\t\t\"f437\",\n\t\t\"chunk-2d22c868\"\n\t],\n\t\"./bn.js\": [\n\t\t\"e82a\",\n\t\t\"chunk-2d226318\"\n\t],\n\t\"./bs.js\": [\n\t\t\"b9ec\",\n\t\t\"chunk-2d210feb\"\n\t],\n\t\"./cat.js\": [\n\t\t\"fe2a\",\n\t\t\"chunk-2d238064\"\n\t],\n\t\"./cs.js\": [\n\t\t\"1014\",\n\t\t\"chunk-2d0aa178\"\n\t],\n\t\"./cy.js\": [\n\t\t\"4e89\",\n\t\t\"chunk-2d0cc668\"\n\t],\n\t\"./da.js\": [\n\t\t\"fbe1\",\n\t\t\"chunk-2d237b1e\"\n\t],\n\t\"./de.js\": [\n\t\t\"26df\",\n\t\t\"chunk-2d0b32bc\"\n\t],\n\t\"./default.js\": [\n\t\t\"40ce\",\n\t\t\"chunk-2d0c04d4\"\n\t],\n\t\"./eo.js\": [\n\t\t\"57b6\",\n\t\t\"chunk-2d0c932c\"\n\t],\n\t\"./es.js\": [\n\t\t\"4984\",\n\t\t\"chunk-2d0c2137\"\n\t],\n\t\"./et.js\": [\n\t\t\"8115\",\n\t\t\"chunk-2d0dd3d3\"\n\t],\n\t\"./fa.js\": [\n\t\t\"787b\",\n\t\t\"chunk-2d0d7aa2\"\n\t],\n\t\"./fi.js\": [\n\t\t\"7b0b9\",\n\t\t\"chunk-74b4d726\"\n\t],\n\t\"./fo.js\": [\n\t\t\"dc9b\",\n\t\t\"chunk-2d2290fe\"\n\t],\n\t\"./fr.js\": [\n\t\t\"0227\",\n\t\t\"chunk-2d0a34bd\"\n\t],\n\t\"./ga.js\": [\n\t\t\"01d7\",\n\t\t\"chunk-2d0a370a\"\n\t],\n\t\"./gr.js\": [\n\t\t\"5bcb\",\n\t\t\"chunk-2d0d34e2\"\n\t],\n\t\"./he.js\": [\n\t\t\"4211\",\n\t\t\"chunk-2d0c0614\"\n\t],\n\t\"./hi.js\": [\n\t\t\"feff\",\n\t\t\"chunk-2d2386b5\"\n\t],\n\t\"./hr.js\": [\n\t\t\"8fe8\",\n\t\t\"chunk-2d0ea117\"\n\t],\n\t\"./hu.js\": [\n\t\t\"295f\",\n\t\t\"chunk-2d0b384e\"\n\t],\n\t\"./id.js\": [\n\t\t\"022c\",\n\t\t\"chunk-2d0a34e9\"\n\t],\n\t\"./index.js\": [\n\t\t\"cbfa\",\n\t\t\"chunk-2d221e50\"\n\t],\n\t\"./is.js\": [\n\t\t\"252b\",\n\t\t\"chunk-2d0b28e9\"\n\t],\n\t\"./it.js\": [\n\t\t\"ae60\",\n\t\t\"chunk-2d213ad4\"\n\t],\n\t\"./ja.js\": [\n\t\t\"50ca\",\n\t\t\"chunk-2d0c792f\"\n\t],\n\t\"./ka.js\": [\n\t\t\"a74d\",\n\t\t\"chunk-2d208e1c\"\n\t],\n\t\"./km.js\": [\n\t\t\"e50d\",\n\t\t\"chunk-2d22579a\"\n\t],\n\t\"./ko.js\": [\n\t\t\"5445\",\n\t\t\"chunk-2d0c8256\"\n\t],\n\t\"./kz.js\": [\n\t\t\"d24c\",\n\t\t\"chunk-2d21d873\"\n\t],\n\t\"./lt.js\": [\n\t\t\"60bcb\",\n\t\t\"chunk-7490c111\"\n\t],\n\t\"./lv.js\": [\n\t\t\"d7c8\",\n\t\t\"chunk-2d21f0be\"\n\t],\n\t\"./mk.js\": [\n\t\t\"df51\",\n\t\t\"chunk-2d229b94\"\n\t],\n\t\"./mn.js\": [\n\t\t\"e69d\",\n\t\t\"chunk-2d225c72\"\n\t],\n\t\"./ms.js\": [\n\t\t\"7ef0\",\n\t\t\"chunk-2d0e290e\"\n\t],\n\t\"./my.js\": [\n\t\t\"4844\",\n\t\t\"chunk-2d0c1cfa\"\n\t],\n\t\"./nl.js\": [\n\t\t\"dee5\",\n\t\t\"chunk-2d229da7\"\n\t],\n\t\"./no.js\": [\n\t\t\"b874\",\n\t\t\"chunk-2d210669\"\n\t],\n\t\"./pa.js\": [\n\t\t\"c066\",\n\t\t\"chunk-2d215ca3\"\n\t],\n\t\"./pl.js\": [\n\t\t\"b579\",\n\t\t\"chunk-2d20fb2b\"\n\t],\n\t\"./pt.js\": [\n\t\t\"228d\",\n\t\t\"chunk-2d0b1e62\"\n\t],\n\t\"./ro.js\": [\n\t\t\"655e\",\n\t\t\"chunk-2d0cfac5\"\n\t],\n\t\"./ru.js\": [\n\t\t\"6ffc\",\n\t\t\"chunk-2d0db8a3\"\n\t],\n\t\"./si.js\": [\n\t\t\"7d5e\",\n\t\t\"chunk-2d0e1f93\"\n\t],\n\t\"./sk.js\": [\n\t\t\"727b\",\n\t\t\"chunk-2d0d641c\"\n\t],\n\t\"./sl.js\": [\n\t\t\"92cd\",\n\t\t\"chunk-2d0e5230\"\n\t],\n\t\"./sq.js\": [\n\t\t\"26b4\",\n\t\t\"chunk-2d0b324c\"\n\t],\n\t\"./sr-cyr.js\": [\n\t\t\"cfec\",\n\t\t\"chunk-2d222d37\"\n\t],\n\t\"./sr.js\": [\n\t\t\"0e21\",\n\t\t\"chunk-2d0af42a\"\n\t],\n\t\"./sv.js\": [\n\t\t\"98d4\",\n\t\t\"chunk-2d0e68a5\"\n\t],\n\t\"./th.js\": [\n\t\t\"8521\",\n\t\t\"chunk-2d0de2f2\"\n\t],\n\t\"./tr.js\": [\n\t\t\"f80c\",\n\t\t\"chunk-2d22d73b\"\n\t],\n\t\"./uk.js\": [\n\t\t\"fb33\",\n\t\t\"chunk-2d237512\"\n\t],\n\t\"./vn.js\": [\n\t\t\"c80b\",\n\t\t\"chunk-2d217a1d\"\n\t],\n\t\"./zh-tw.js\": [\n\t\t\"3a66\",\n\t\t\"chunk-2d0c42c4\"\n\t],\n\t\"./zh.js\": [\n\t\t\"dc1c\",\n\t\t\"chunk-2d229007\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"48a9\";\nmodule.exports = webpackAsyncContext;","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=0e32cbfe&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=0e32cbfe&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('div',{staticClass:\"sidebar collapse navbar-collapse\",attrs:{\"id\":\"leftcol\"}},[_c('ul',{staticClass:\"nav nav-sidebar\",attrs:{\"role\":\"menu\"}},[_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openCreateCalendarForm}},[_c('span',{staticClass:\"fa fa-plus\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"New calendar\")])],1)]),_c('li',{staticClass:\"nav-header\"},[_c('translate',[_vm._v(\"My calendars\")])],1),_vm._l((_vm.calendars),function(calendar){return _c('li',{key:calendar.pk,staticClass:\"dropdown-submenu\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSubmenu}},[_c('span',{staticClass:\"square\",style:({ 'background-color': calendar.color })}),_vm._v(\" \"+_vm._s(calendar.name))]),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.displayCalendarInfo(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-info\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Information\")])],1)]),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.editCalendar(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-edit\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Edit\")])],1)]),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.editCalendarAccessRules(calendar.pk, $event)}}},[_c('span',{staticClass:\"fa fa-filter\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Access rules\")])],1)]),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.deleteCalendar(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-trash\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Delete\")])],1)]),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.openImportEventsForm(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-download\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Import\")])],1)])])])}),_c('li',{staticClass:\"nav-header\"},[_c('translate',[_vm._v(\"Shared calendars\")])],1),_vm._l((_vm.sharedCalendars),function(calendar){return _c('li',{key:calendar.pk,staticClass:\"dropdown-submenu\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSharedCalendarMenu}},[_c('span',{staticClass:\"square\",style:({ 'background-color': calendar.color })}),_vm._v(\" \"+_vm._s(calendar.name)+\" \")]),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.displayCalendarInfo(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-info\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Information\")])],1)]),_c('li',{directives:[{name:\"can\",rawName:\"v-can\",value:('modoboa_radicale.change_sharedcalendar'),expression:\"'modoboa_radicale.change_sharedcalendar'\"}]},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.editCalendar(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-edit\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Edit\")])],1)]),_c('li',{directives:[{name:\"can\",rawName:\"v-can\",value:('modoboa_radicale.delete_sharedcalendar'),expression:\"'modoboa_radicale.delete_sharedcalendar'\"}]},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.deleteCalendar(calendar, $event)}}},[_c('span',{staticClass:\"fa fa-trash\"}),_vm._v(\" \"),_c('translate',[_vm._v(\"Delete\")])],1)])])])})],2)]),_c('div',{staticClass:\"main\"},[_c('router-view')],1),(_vm.showCalendarForm)?_c('calendar-form',{attrs:{\"initialCalendar\":_vm.currentCalendar,\"show\":_vm.showCalendarForm},on:{\"update:show\":function($event){_vm.showCalendarForm=$event}}}):_vm._e(),(_vm.showAccessRulesForm)?_c('calendar-accessrules-form',{attrs:{\"show\":_vm.showAccessRulesForm,\"calendarPk\":_vm.currentCalendarPk},on:{\"update:show\":function($event){_vm.showAccessRulesForm=$event}}}):_vm._e(),(_vm.showCalendarDetail)?_c('calendar-detail',{attrs:{\"show\":_vm.showCalendarDetail,\"calendar\":_vm.currentCalendar},on:{\"update:show\":function($event){_vm.showCalendarDetail=$event}}}):_vm._e(),(_vm.showImportEventsForm)?_c('import-events-form',{attrs:{\"show\":_vm.showImportEventsForm,\"calendar\":_vm.currentCalendar},on:{\"update:show\":function($event){_vm.showImportEventsForm=$event}}}):_vm._e(),_c('notifications',{attrs:{\"position\":\"top right\",\"group\":\"default\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.calendar.pk)?_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"Edit calendar\")])],1):_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"New calendar\")])],1)]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"id\":\"calendarForm\",\"method\":\"post\",\"enctype\":\"multipart/form-data\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.saveCalendar($event)}}},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.formErrors['name'] || _vm.formErrors['name'] }},[_c('div',{staticClass:\"col-sm-10\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.calendar.name),expression:\"calendar.name\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"name\",\"name\":\"name\",\"placeholder\":_vm.namePlaceHolder},domProps:{\"value\":(_vm.calendar.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.calendar, \"name\", $event.target.value)}}}),(_vm.formErrors['name'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['name'][0]))]):_vm._e()])]),_c('div',{directives:[{name:\"can\",rawName:\"v-can\",value:('modoboa_radicale.add_sharedcalendar'),expression:\"'modoboa_radicale.add_sharedcalendar'\"}],staticClass:\"row\"},[(!_vm.calendar.pk)?_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shared),expression:\"shared\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.shared)?_vm._i(_vm.shared,null)>-1:(_vm.shared)},on:{\"change\":function($event){var $$a=_vm.shared,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.shared=$$a.concat([$$v]))}else{$$i>-1&&(_vm.shared=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.shared=$$c}}}}),_c('translate',[_vm._v(\"Shared?\")])],1)])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[(_vm.shared)?_c('multiselect',{attrs:{\"options\":_vm.domains,\"label\":\"name\",\"placeholder\":_vm.domainPlaceHolder},model:{value:(_vm.calendar.domain),callback:function ($$v) {_vm.$set(_vm.calendar, \"domain\", $$v)},expression:\"calendar.domain\"}}):_vm._e()],1)]),_c('h4',[_c('small',[_c('translate',[_vm._v(\"Color\")])],1)]),_c('compact-picker',{model:{value:(_vm.calendar.color),callback:function ($$v) {_vm.$set(_vm.calendar, \"color\", $$v)},expression:\"calendar.color\"}}),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1),_c('input',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\"},domProps:{\"value\":_vm.submitLabel}})]),_c('div',{staticClass:\"clearfix\"})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport VueResource from 'vue-resource'\n\nVue.use(VueResource)\n\n// user-calendars API\nvar userCalendarResource = Vue.resource('/api/v1/user-calendars{/pk}/')\n\nexport const getUserCalendars = (data) => {\n return userCalendarResource.get()\n}\n\nexport const getUserCalendar = (pk) => {\n return userCalendarResource.get({ pk: pk })\n}\n\nexport const createUserCalendar = (data) => {\n return userCalendarResource.save(data)\n}\n\nexport const updateUserCalendar = (pk, data) => {\n return userCalendarResource.update({ pk: pk }, data)\n}\n\nexport const deleteUserCalendar = (pk) => {\n return userCalendarResource.delete({ pk: pk })\n}\n\n// shared calendars API\nvar sharedCalendarResource = Vue.resource('/api/v1/shared-calendars{/pk}/')\n\nexport const getSharedCalendars = () => {\n return sharedCalendarResource.get()\n}\n\nexport const getSharedCalendar = (pk) => {\n return sharedCalendarResource.get({ pk: pk })\n}\n\nexport const createSharedCalendar = (data) => {\n return sharedCalendarResource.save(data)\n}\n\nexport const updateSharedCalendar = (pk, data) => {\n return sharedCalendarResource.update({ pk: pk }, data)\n}\n\nexport const deleteSharedCalendar = (pk) => {\n return sharedCalendarResource.delete({ pk: pk })\n}\n\n// events API\nvar customEventActions = {\n patch: { method: 'PATCH', url: '/api/v1{/type}-calendars{/calendar_pk}/events{/pk}/' },\n importEvents: { method: 'POST', url: '/api/v1{/type}-calendars{/calendar_pk}/events/import_from_file/' }\n}\nvar eventResource = Vue.resource(\n '/api/v1{/type}-calendars{/calendar_pk}/events{/pk}/',\n {},\n customEventActions\n)\n\nexport const getEvent = (calendarPk, calendarType, pk) => {\n return eventResource.get({ type: calendarType, calendar_pk: calendarPk, pk: pk })\n}\n\nexport const createEvent = (calendar, data) => {\n var type = (calendar.domain) ? 'shared' : 'user'\n return eventResource.save({ type: type, calendar_pk: calendar.pk }, data)\n}\n\nexport const updateEvent = (calendar, pk, data) => {\n var newCalType = (data.calendar.domain) ? 'shared' : 'user'\n if (newCalType !== calendar.type) {\n data['new_calendar_type'] = newCalType // eslint-disable-line dot-notation\n }\n data.calendar = data.calendar.pk\n return eventResource.update({\n type: calendar.type, calendar_pk: calendar.pk, pk: pk\n }, data)\n}\n\nexport const patchEvent = (calendar, pk, data) => {\n var type = (calendar.domain) ? 'shared' : 'user'\n return eventResource.patch({ type: type, calendar_pk: calendar.pk, pk: pk }, data)\n}\n\nexport const deleteEvent = (calendar, pk) => {\n var type = (calendar.domain) ? 'shared' : 'user'\n return eventResource.delete({ type: type, calendar_pk: calendar.pk, pk: pk })\n}\n\nexport const importEvents = (calendar, data) => {\n var type = (calendar.domain) ? 'shared' : 'user'\n return eventResource.importEvents({ type: type, calendar_pk: calendar.pk }, data)\n}\n\n// attendees API\nvar attendeeResource = Vue.resource('/api/v1/attendees{/pk}/')\n\nexport const getAttendees = () => {\n return attendeeResource.get()\n}\n\n// mailboxes API\nvar mailboxResource = Vue.resource('/api/v1/mailboxes{/pk}/')\n\nexport const getMailboxes = () => {\n return mailboxResource.get()\n}\n\n// access rules API\nvar accessRuleResource = Vue.resource('/api/v1/accessrules{/pk}/')\n\n// domains API\nvar domainResource = Vue.resource('/api/v1/domains{/pk}/')\n\nexport const getDomains = () => {\n return domainResource.get()\n}\n\nexport const getAccessRules = (calendarPk) => {\n var params = {}\n\n if (calendarPk !== undefined) {\n params.calendar = calendarPk\n }\n return accessRuleResource.get(params)\n}\n\nexport const createAccessRule = (data) => {\n return accessRuleResource.save(data)\n}\n\nexport const updateAccessRule = (pk, data) => {\n return accessRuleResource.update({ pk: pk }, data)\n}\n\nexport const deleteAccessRule = (pk) => {\n return accessRuleResource.delete({ pk: pk })\n}\n","<template>\n <modal>\n <div slot=\"header\">\n <h3 v-if=\"calendar.pk\" class=\"modal-title\"><translate>Edit calendar</translate></h3>\n <h3 v-else class=\"modal-title\"><translate>New calendar</translate></h3>\n </div>\n\n <div slot=\"body\">\n <form id=\"calendarForm\" class=\"form-horizontal\" method=\"post\"\n v-on:submit.prevent=\"saveCalendar\"\n enctype=\"multipart/form-data\">\n <div class=\"form-group\" :class=\"{ 'has-error': formErrors['name'] || formErrors['name'] }\">\n <div class=\"col-sm-10\">\n <input v-model=\"calendar.name\" type=\"text\" id=\"name\" name=\"name\" class=\"form-control\" :placeholder=\"namePlaceHolder\">\n <span v-if=\"formErrors['name']\" class=\"help-block\">{{ formErrors['name'][0] }}</span>\n </div>\n </div>\n <div v-can=\"'modoboa_radicale.add_sharedcalendar'\" class=\"row\">\n <div v-if=\"!calendar.pk\" class=\"col-sm-3\">\n <div class=\"checkbox\">\n <label><input type=\"checkbox\" v-model=\"shared\"><translate>Shared?</translate></label>\n </div>\n </div>\n <div class=\"col-sm-9\">\n <multiselect v-if=\"shared\" :options=\"domains\" label=\"name\" v-model=\"calendar.domain\" :placeholder=\"domainPlaceHolder\"></multiselect>\n </div>\n </div>\n <h4><small><translate>Color</translate></small></h4>\n <compact-picker v-model=\"calendar.color\" />\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n <input type=\"submit\" class=\"btn btn-primary\" :value=\"submitLabel\">\n </div>\n <div class=\"clearfix\"></div>\n </form>\n </div>\n </modal>\n</template>\n\n<script>\nimport { Compact } from 'vue-color'\nimport * as api from '@/api'\n\nexport default {\n props: {\n initialCalendar: {\n type: Object,\n default: () => { return { color: '' } }\n },\n show: {\n type: Boolean,\n default: false\n }\n },\n components: {\n 'compact-picker': Compact\n },\n created () {\n api.getDomains().then(response => {\n this.domains = response.data\n })\n },\n data () {\n return {\n calendar: JSON.parse(JSON.stringify(this.initialCalendar)),\n shared: this.initialCalendar.domain !== undefined,\n domains: [],\n formErrors: {}\n }\n },\n computed: {\n colorPlaceHolder () {\n return this.$gettext('Color')\n },\n namePlaceHolder () {\n return this.$gettext('Name')\n },\n domainPlaceHolder () {\n return this.$gettext('Choose a domain')\n },\n submitLabel () {\n if (this.calendar.pk) {\n return this.$gettext('Update')\n }\n return this.$gettext('Create')\n }\n },\n methods: {\n close () {\n this.calendar = {}\n this.shared = false\n this.formErrors = {}\n this.$emit('update:show', false)\n },\n saveCalendar () {\n var action\n var msg\n var data = JSON.parse(JSON.stringify(this.calendar))\n\n data.color = data.color.hex\n if (this.calendar.pk) {\n action = (this.shared) ? 'updateSharedCalendar' : 'updateCalendar'\n msg = this.$gettext('Calendar updated')\n } else {\n action = (this.shared) ? 'createSharedCalendar' : 'createCalendar'\n msg = this.$gettext('Calendar created')\n }\n this.$store.dispatch(action, data).then(() => {\n if (data.color !== this.initialCalendar.color) {\n this.$bus.$emit('calendarColorChanged', data)\n }\n this.close()\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: msg\n })\n })\n }\n }\n}\n</script>\n\n<style src=\"vue-multiselect/dist/vue-multiselect.min.css\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarForm.vue?vue&type=template&id=0c432777&\"\nimport script from \"./CalendarForm.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"Calendar sharing\")])],1)]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('form',{staticClass:\"form-inline\",attrs:{\"id\":\"accessRulesForm\",\"method\":\"post\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('multiselect',{attrs:{\"label\":\"full_address\",\"options\":_vm.mailboxes},model:{value:(_vm.currentRule.mailbox),callback:function ($$v) {_vm.$set(_vm.currentRule, \"mailbox\", $$v)},expression:\"currentRule.mailbox\"}}),(_vm.formErrors['mailbox'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['mailbox'][0]))]):_vm._e()],1),_c('div',{staticClass:\"col-sm-4\"},[_c('label',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentRule.read),expression:\"currentRule.read\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentRule.read)?_vm._i(_vm.currentRule.read,null)>-1:(_vm.currentRule.read)},on:{\"change\":function($event){var $$a=_vm.currentRule.read,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.currentRule, \"read\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.currentRule, \"read\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.currentRule, \"read\", $$c)}}}}),_vm._v(\" \"),_c('translate',[_vm._v(\"Read\")])],1),_c('label',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentRule.write),expression:\"currentRule.write\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentRule.write)?_vm._i(_vm.currentRule.write,null)>-1:(_vm.currentRule.write)},on:{\"change\":function($event){var $$a=_vm.currentRule.write,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.currentRule, \"write\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.currentRule, \"write\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.currentRule, \"write\", $$c)}}}}),_vm._v(\" \"),_c('translate',[_vm._v(\"Write\")])],1)]),_c('div',{staticClass:\"col-sm-2\"},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.saveRule}},[_c('span',{staticClass:\"fa fa-save\"})])])])]),_c('br'),_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_c('translate',[_vm._v(\"Account\")])],1),_c('th',[_c('translate',[_vm._v(\"Read\")])],1),_c('th',[_c('translate',[_vm._v(\"Write\")])],1),_c('th')])]),_c('tbody',_vm._l((_vm.accessRules),function(rule){return _c('tr',{key:rule.pk},[_c('td',[_vm._v(_vm._s(rule.mailbox.full_address))]),_c('td',[(rule.read)?_c('span',{staticClass:\"fa fa-check\"}):_c('span',{staticClass:\"fa fa-close\"})]),_c('td',[(rule.write)?_c('span',{staticClass:\"fa fa-check\"}):_c('span',{staticClass:\"fa fa-close\"})]),_c('td',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.editRule(rule)}}},[_c('span',{staticClass:\"fa fa-edit\"})]),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.deleteRule(rule.pk)}}},[_c('span',{staticClass:\"fa fa-trash\"})])])])}),0)]),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1)]),_c('div',{staticClass:\"clearfix\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <modal>\n <div slot=\"header\">\n <h3 class=\"modal-title\"><translate>Calendar sharing</translate></h3>\n </div>\n\n <div slot=\"body\">\n <form id=\"accessRulesForm\" class=\"form-inline\" method=\"post\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <multiselect label=\"full_address\" :options=\"mailboxes\" v-model=\"currentRule.mailbox\"></multiselect>\n <span v-if=\"formErrors['mailbox']\" class=\"help-block\">{{ formErrors['mailbox'][0] }}</span>\n </div>\n <div class=\"col-sm-4\">\n <label class=\"checkbox\"><input type=\"checkbox\" v-model=\"currentRule.read\"> <translate>Read</translate></label>\n <label class=\"checkbox\"><input type=\"checkbox\" v-model=\"currentRule.write\"> <translate>Write</translate></label>\n </div>\n <div class=\"col-sm-2\">\n <a class=\"btn btn-primary\" href=\"#\" @click=\"saveRule\"><span class=\"fa fa-save\"></span></a>\n </div>\n </div>\n </form>\n <br>\n <table class=\"table\">\n <thead>\n <tr>\n <th><translate>Account</translate></th>\n <th><translate>Read</translate></th>\n <th><translate>Write</translate></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"rule in accessRules\" :key=\"rule.pk\">\n <td>{{ rule.mailbox.full_address }}</td>\n <td>\n <span v-if=\"rule.read\" class=\"fa fa-check\"></span>\n <span v-else class=\"fa fa-close\"></span>\n </td>\n <td>\n <span v-if=\"rule.write\" class=\"fa fa-check\"></span>\n <span v-else class=\"fa fa-close\"></span>\n </td>\n <td>\n <a href=\"#\" @click=\"editRule(rule)\"><span class=\"fa fa-edit\"></span></a>\n <a href=\"#\" @click=\"deleteRule(rule.pk)\"><span class=\"fa fa-trash\"></span></a>\n </td>\n </tr>\n </tbody>\n </table>\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n </div>\n <div class=\"clearfix\"></div>\n </div>\n </modal>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport * as api from '@/api'\n\nexport default {\n props: {\n calendarPk: Number\n },\n data () {\n return {\n accessRules: [],\n mailboxes: [],\n currentRule: {},\n formErrors: {}\n }\n },\n created () {\n api.getAccessRules(this.calendarPk).then(response => {\n this.accessRules = response.data\n if (!this.accessRules.length) {\n this.accessRules = []\n }\n })\n api.getMailboxes().then(response => {\n this.mailboxes = response.data\n })\n },\n methods: {\n saveRule () {\n if (!this.currentRule.pk) {\n this.currentRule.calendar = this.calendarPk\n api.createAccessRule(this.currentRule).then(response => {\n this.accessRules.push(response.data)\n this.resetForm()\n }, this.onError)\n } else {\n api.updateAccessRule(this.currentRule.pk, this.currentRule).then(response => {\n this.accessRules.filter((item, pos) => {\n if (item.pk === this.currentRule.pk) {\n Vue.set(this.accessRules, pos, this.currentRule)\n }\n })\n this.resetForm()\n }, this.onError)\n }\n },\n resetForm () {\n this.currentRule = {}\n this.formErrors = {}\n },\n onError (response) {\n this.formErrors = response.data\n },\n editRule (rule) {\n this.currentRule = JSON.parse(JSON.stringify(rule))\n },\n deleteRule (pk) {\n api.deleteAccessRule(pk).then(response => {\n this.accessRules = this.accessRules.filter(function (rule) {\n return rule.pk !== pk\n })\n })\n },\n close () {\n this.formErrors = {}\n this.$emit('update:show', false)\n }\n }\n}\n</script>\n\n<style src=\"vue-multiselect/dist/vue-multiselect.min.css\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarAccessRulesForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarAccessRulesForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarAccessRulesForm.vue?vue&type=template&id=50756e0d&\"\nimport script from \"./CalendarAccessRulesForm.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarAccessRulesForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"Calendar information\")])],1)]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',[_c('translate',[_vm._v(\"To access this calendar from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL: \")])],1),_c('div',{staticClass:\"alert alert-info\"},[_vm._v(\" \"+_vm._s(_vm.calendar.full_url)+\" \")]),_c('p',[_c('translate',[_vm._v(\"The credentials are the same than the ones you use to access Modoboa.\")])],1),_c('p',[_c('translate',[_vm._v(\"You can also share a read-only version of this calendar using the following URL: \")])],1),_c('div',{staticClass:\"alert alert-info\"},[_vm._v(\" \"+_vm._s(_vm.calendar.share_url)+\" \")]),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1)]),_c('div',{staticClass:\"clearfix\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <modal>\n <div slot=\"header\">\n <h3 class=\"modal-title\"><translate>Calendar information</translate></h3>\n </div>\n <div slot=\"body\">\n <p><translate>To access this calendar from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL: </translate></p>\n <div class=\"alert alert-info\">\n {{ calendar.full_url }}\n </div>\n <p><translate>The credentials are the same than the ones you use to access Modoboa.</translate></p>\n <p><translate>You can also share a read-only version of this calendar using the following URL: </translate></p>\n <div class=\"alert alert-info\">\n {{ calendar.share_url }}\n </div>\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n </div>\n <div class=\"clearfix\"></div>\n </div>\n </modal>\n</template>\n\n<script>\nexport default {\n props: {\n calendar: Object\n },\n methods: {\n close () {\n this.$emit('update:show', false)\n }\n }\n}\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarDetail.vue?vue&type=template&id=7b0cc068&\"\nimport script from \"./CalendarDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarDetail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"Import events\")])],1)]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('form',{staticClass:\"form-inline\",on:{\"submit\":function($event){$event.preventDefault();return _vm.sendFile($event)}}},[_c('div',{staticClass:\"alert alert-info\"},[_c('translate',[_vm._v(\"Select an ICS file to import and click on the Send button\")])],1),_c('input',{ref:\"file\",attrs:{\"type\":\"file\",\"name\":\"file\"},on:{\"change\":_vm.setFile}}),(_vm.formErrors['ics_file'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['ics_file'][0]))]):_vm._e(),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1),_c('input',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"disabled\":_vm.runningUpload},domProps:{\"value\":_vm.submitLabel}})]),_c('div',{staticClass:\"clearfix\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n<modal>\n <div slot=\"header\">\n <h3 class=\"modal-title\"><translate>Import events</translate></h3>\n </div>\n <div slot=\"body\">\n <form class=\"form-inline\" v-on:submit.prevent=\"sendFile\">\n <div class=\"alert alert-info\">\n <translate>Select an ICS file to import and click on the Send button</translate>\n </div>\n <input type=\"file\" name=\"file\" ref=\"file\" @change=\"setFile\" />\n <span v-if=\"formErrors['ics_file']\" class=\"help-block\">{{ formErrors['ics_file'][0] }}</span>\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n <input type=\"submit\" class=\"btn btn-primary\" :disabled=\"runningUpload\"\n :value=\"submitLabel\">\n </div>\n <div class=\"clearfix\"></div>\n </form>\n </div>\n</modal>\n</template>\n\n<script>\nimport * as api from '@/api'\n\nexport default {\n props: {\n calendar: Object,\n show: {\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n file: null,\n formErrors: {},\n runningUpload: false\n }\n },\n computed: {\n submitLabel () {\n return this.$gettext('Send')\n }\n },\n methods: {\n close () {\n this.formErrors = {}\n this.$emit('update:show', false)\n },\n setFile () {\n this.file = this.$refs.file.files[0]\n },\n onSendError (response) {\n this.formErrors = response.data\n this.runningUpload = false\n },\n sendFile () {\n var data = new FormData()\n data.append('ics_file', this.file)\n this.runningUpload = true\n api.importEvents(this.calendar, data).then(response => {\n this.close()\n var msg = this.$ngettext(\n '%{ n } event imported', '%{ n } events imported',\n response.data.counter\n )\n this.$bus.$emit('eventsImported', this.calendar)\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: this.$gettextInterpolate(msg, { n: response.data.counter })\n })\n }, this.onSendError)\n }\n }\n}\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportEventsForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportEventsForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImportEventsForm.vue?vue&type=template&id=aa3aa038&\"\nimport script from \"./ImportEventsForm.vue?vue&type=script&lang=js&\"\nexport * from \"./ImportEventsForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"app\">\n <div id=\"leftcol\" class=\"sidebar collapse navbar-collapse\">\n <ul class=\"nav nav-sidebar\" role=\"menu\">\n <li><a href=\"#\" @click=\"openCreateCalendarForm\"><span class=\"fa fa-plus\"></span> <translate>New calendar</translate></a></li>\n <li class=\"nav-header\"><translate>My calendars</translate></li>\n <li v-for=\"calendar in calendars\" :key=\"calendar.pk\" class=\"dropdown-submenu\">\n <a href=\"#\" @click=\"toggleSubmenu\"><span class=\"square\" v-bind:style=\"{ 'background-color': calendar.color }\"></span> {{ calendar.name }}</a>\n <ul class=\"dropdown-menu\">\n <li>\n <a href=\"#\" @click=\"displayCalendarInfo(calendar, $event)\">\n <span class=\"fa fa-info\"></span> <translate>Information</translate>\n </a>\n </li>\n <li>\n <a href=\"#\" @click=\"editCalendar(calendar, $event)\">\n <span class=\"fa fa-edit\"></span> <translate>Edit</translate>\n </a>\n </li>\n <li>\n <a href=\"#\" @click=\"editCalendarAccessRules(calendar.pk, $event)\">\n <span class=\"fa fa-filter\"></span> <translate>Access rules</translate>\n </a>\n </li>\n <li>\n <a href=\"#\" @click=\"deleteCalendar(calendar, $event)\">\n <span class=\"fa fa-trash\"></span> <translate>Delete</translate>\n </a>\n </li>\n <li>\n <a href=\"#\" @click=\"openImportEventsForm(calendar, $event)\">\n <span class=\"fa fa-download\"></span> <translate>Import</translate>\n </a>\n </li>\n </ul>\n </li>\n <li class=\"nav-header\"><translate>Shared calendars</translate></li>\n <li v-for=\"calendar in sharedCalendars\" :key=\"calendar.pk\" class=\"dropdown-submenu\">\n <a href=\"#\" @click=\"toggleSharedCalendarMenu\">\n <span class=\"square\" v-bind:style=\"{ 'background-color': calendar.color }\"></span> {{ calendar.name }}\n </a>\n <ul class=\"dropdown-menu\">\n <li>\n <a href=\"#\" @click=\"displayCalendarInfo(calendar, $event)\">\n <span class=\"fa fa-info\"></span> <translate>Information</translate>\n </a>\n </li>\n <li v-can=\"'modoboa_radicale.change_sharedcalendar'\">\n <a href=\"#\" @click=\"editCalendar(calendar, $event)\">\n <span class=\"fa fa-edit\"></span> <translate>Edit</translate>\n </a>\n </li>\n <li v-can=\"'modoboa_radicale.delete_sharedcalendar'\">\n <a href=\"#\" @click=\"deleteCalendar(calendar, $event)\">\n <span class=\"fa fa-trash\"></span> <translate>Delete</translate>\n </a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n <div class=\"main\">\n <router-view/>\n </div>\n\n <calendar-form v-if=\"showCalendarForm\" :initialCalendar=\"currentCalendar\" :show.sync=\"showCalendarForm\"></calendar-form>\n\n <calendar-accessrules-form v-if=\"showAccessRulesForm\" :show.sync=\"showAccessRulesForm\" :calendarPk=\"currentCalendarPk\"></calendar-accessrules-form>\n\n <calendar-detail v-if=\"showCalendarDetail\" :show.sync=\"showCalendarDetail\" :calendar=\"currentCalendar\"></calendar-detail>\n\n <import-events-form v-if=\"showImportEventsForm\" :show.sync=\"showImportEventsForm\" :calendar=\"currentCalendar\">\n </import-events-form>\n\n <notifications position=\"top right\" group=\"default\" />\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport $ from 'jquery'\nimport CalendarForm from './components/CalendarForm.vue'\nimport CalendarAccessRulesForm from './components/CalendarAccessRulesForm.vue'\nimport CalendarDetail from './components/CalendarDetail.vue'\nimport ImportEventsForm from './components/ImportEventsForm.vue'\n\nexport default {\n components: {\n 'calendar-form': CalendarForm,\n 'calendar-accessrules-form': CalendarAccessRulesForm,\n 'calendar-detail': CalendarDetail,\n 'import-events-form': ImportEventsForm\n },\n computed: mapGetters([\n 'calendars',\n 'sharedCalendars'\n ]),\n data () {\n return {\n currentCalendarPk: undefined,\n currentCalendar: undefined,\n showCalendarForm: false,\n showAccessRulesForm: false,\n showCalendarDetail: false,\n showImportEventsForm: false,\n currentMenu: null\n }\n },\n created () {\n this.$store.dispatch('getCalendars')\n this.$store.dispatch('getSharedCalendars')\n },\n methods: {\n openCreateCalendarForm () {\n this.currentCalendar = undefined\n this.showCalendarForm = true\n },\n displayCalendarInfo (calendar, event) {\n this.closeMenu(event)\n this.showCalendarDetail = true\n this.currentCalendar = calendar\n },\n editCalendar (calendar, event) {\n this.closeMenu(event)\n this.currentCalendar = calendar\n this.showCalendarForm = true\n },\n editCalendarAccessRules (pk, event) {\n this.closeMenu(event)\n this.currentCalendarPk = pk\n this.showAccessRulesForm = true\n },\n deleteCalendar (calendar, event) {\n this.closeMenu(event)\n var calType = (calendar.domain) ? 'shared' : 'user'\n var action = (calType === 'shared') ? 'deleteSharedCalendar' : 'deleteCalendar'\n var msg = this.$gettext('Are you sure you want to delete this calendar?')\n this.$dialog.confirm(msg).then(() => {\n this.$store.dispatch(action, calendar.pk).then(() => {\n this.$bus.$emit('calendarDeleted', calendar)\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: this.$gettext('Calendar deleted')\n })\n })\n })\n },\n openImportEventsForm (calendar, event) {\n this.closeMenu(event)\n this.currentCalendar = calendar\n this.showImportEventsForm = true\n },\n closeMenu (e) {\n $(e.target).closest('ul').toggle()\n this.currentMenu = null\n },\n toggleSubmenu (e) {\n var newMenu = $(e.target).next('ul')\n if (this.currentMenu) {\n this.currentMenu.toggle()\n if (this.currentMenu.is(newMenu)) {\n this.currentMenu = undefined\n return\n }\n }\n this.currentMenu = newMenu\n this.currentMenu.toggle()\n },\n toggleSharedCalendarMenu (e) {\n this.toggleSubmenu(e)\n }\n }\n}\n</script>\n\n<style>\n .square {\n display: inline-block;\n border-color: #ddd;\n border-radius: 1px;\n margin-right: 4px;\n height: 11px;\n width: 11px;\n }\n\n .dropdown-submenu {\n position: relative;\n }\n\n .dropdown-submenu .dropdown-menu {\n top: 0;\n left: 100%;\n margin-top: -1px;\n }\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=17b8280e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showCreateEventForm)?_c('create-event-form',{attrs:{\"start\":_vm.start,\"end\":_vm.end,\"allDay\":_vm.allDay,\"show\":_vm.showCreateEventForm},on:{\"update:show\":function($event){_vm.showCreateEventForm=$event},\"eventCreated\":_vm.renderEvent}}):_vm._e(),(_vm.showEventForm)?_c('event-form',{attrs:{\"id\":_vm.currentId,\"show\":_vm.showEventForm},on:{\"update:show\":function($event){_vm.showEventForm=$event},\"eventDeleted\":_vm.deleteEvent}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h3',{staticClass:\"modal-title\"},[_c('translate',[_vm._v(\"New event\")])],1)]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"id\":\"eventForm\",\"method\":\"post\",\"enctype\":\"multipart/form-data\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.saveEvent($event)}}},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.formErrors['title'] || _vm.formErrors['title'] }},[_c('div',{staticClass:\"col-sm-offset-2 col-sm-10\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.event.title),expression:\"event.title\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"title\",\"name\":\"title\",\"placeholder\":_vm.titlePlaceHolder},domProps:{\"value\":(_vm.event.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.event, \"title\", $event.target.value)}}}),(_vm.formErrors['title'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['title'][0]))]):_vm._e()])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('span',{staticClass:\"fa fa-clock-o fa-2x\"})]),_c('div',{staticClass:\"col-sm-5\"},[_c('flat-pickr',{attrs:{\"name\":\"start\",\"config\":_vm.config},model:{value:(_vm.event.start),callback:function ($$v) {_vm.$set(_vm.event, \"start\", $$v)},expression:\"event.start\"}})],1),_c('div',{staticClass:\"col-sm-5\"},[_c('flat-pickr',{attrs:{\"name\":\"end\",\"config\":_vm.config},model:{value:(_vm.event.end),callback:function ($$v) {_vm.$set(_vm.event, \"end\", $$v)},expression:\"event.end\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('span',{staticClass:\"fa fa-calendar fa-2x\"})]),_c('div',{staticClass:\"col-sm-10\"},[_c('multiselect',{attrs:{\"label\":\"name\",\"options\":_vm.allCalendars},model:{value:(_vm.event.calendar),callback:function ($$v) {_vm.$set(_vm.event, \"calendar\", $$v)},expression:\"event.calendar\"}}),(_vm.formErrors['calendar'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['calendar']))]):_vm._e()],1)]),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1),_c('input',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\"},domProps:{\"value\":_vm.submitLabel}})]),_c('div',{staticClass:\"clearfix\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <modal>\n <div slot=\"header\">\n <h3 class=\"modal-title\"><translate>New event</translate></h3>\n </div>\n\n <div slot=\"body\">\n <form id=\"eventForm\" class=\"form-horizontal\" method=\"post\"\n v-on:submit.prevent=\"saveEvent\"\n enctype=\"multipart/form-data\">\n <div class=\"form-group\" :class=\"{ 'has-error': formErrors['title'] || formErrors['title'] }\">\n <div class=\"col-sm-offset-2 col-sm-10\">\n <input v-model=\"event.title\" type=\"text\" id=\"title\" name=\"title\" class=\"form-control\" :placeholder=\"titlePlaceHolder\">\n <span v-if=\"formErrors['title']\" class=\"help-block\">{{ formErrors['title'][0] }}</span>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"col-sm-2\"><span class=\"fa fa-clock-o fa-2x\"></span></div>\n <div class=\"col-sm-5\">\n <flat-pickr name=\"start\" v-model=\"event.start\" :config=\"config\"></flat-pickr>\n </div>\n <div class=\"col-sm-5\">\n <flat-pickr name=\"end\" v-model=\"event.end\" :config=\"config\"></flat-pickr>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-2\"><span class=\"fa fa-calendar fa-2x\"></span></div>\n <div class=\"col-sm-10\">\n <multiselect label=\"name\" :options=\"allCalendars\" v-model=\"event.calendar\"></multiselect>\n <span v-if=\"formErrors['calendar']\" class=\"help-block\">{{ formErrors['calendar'] }}</span>\n </div>\n </div>\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n <input type=\"submit\" class=\"btn btn-primary\" :value=\"submitLabel\">\n </div>\n <div class=\"clearfix\"></div>\n </form>\n </div>\n </modal>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport * as api from '@/api'\n\nexport default {\n props: {\n start: [Date],\n end: [Date],\n allDay: {\n type: Boolean,\n default: false\n },\n show: {\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n event: {\n start: this.start,\n end: this.end,\n allDay: this.allDay\n },\n formErrors: {},\n config: {\n enableTime: true,\n time_24hr: true\n }\n }\n },\n computed: {\n titlePlaceHolder () {\n return this.$gettext('Title')\n },\n submitLabel () {\n return this.$gettext('Save')\n },\n ...mapGetters([\n 'calendars',\n 'sharedCalendars'\n ]),\n allCalendars () {\n return this.calendars.concat(this.sharedCalendars)\n }\n },\n methods: {\n close () {\n this.formErrors = {}\n this.$emit('update:show', false)\n },\n saveEvent () {\n var event = JSON.parse(JSON.stringify(this.event))\n if (!event.calendar) {\n this.$set(this.formErrors, 'calendar', this.$gettext('A calendar is required.'))\n return\n }\n var calendar = event.calendar\n event.calendar = event.calendar.pk\n api.createEvent(calendar, event).then(response => {\n this.close()\n this.$emit('eventCreated', response.data)\n })\n }\n }\n}\n</script>\n\n<style src=\"vue-multiselect/dist/vue-multiselect.min.css\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateEventForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateEventForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateEventForm.vue?vue&type=template&id=bffdb17e&\"\nimport script from \"./CreateEventForm.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateEventForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_c('translate',[_vm._v(\"Edit event\")])],1),_c('hr'),_c('form',{staticClass:\"form-horizontal\",attrs:{\"id\":\"eventForm\",\"method\":\"post\",\"enctype\":\"multipart/form-data\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.saveEvent($event)}}},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.formErrors['title'] || _vm.formErrors['title'] }},[_c('div',{staticClass:\"col-sm-10\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.event.title),expression:\"event.title\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"title\",\"name\":\"title\",\"placeholder\":_vm.titlePlaceHolder},domProps:{\"value\":(_vm.event.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.event, \"title\", $event.target.value)}}}),(_vm.formErrors['title'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['title'][0]))]):_vm._e()])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-sm-3\"},[_c('flat-pickr',{attrs:{\"name\":\"start\",\"config\":_vm.config},model:{value:(_vm.event.start),callback:function ($$v) {_vm.$set(_vm.event, \"start\", $$v)},expression:\"event.start\"}})],1),_c('div',{staticClass:\"col-sm-3\"},[_c('flat-pickr',{attrs:{\"name\":\"end\",\"config\":_vm.config},model:{value:(_vm.event.end),callback:function ($$v) {_vm.$set(_vm.event, \"end\", $$v)},expression:\"event.end\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.event.allDay),expression:\"event.allDay\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.event.allDay)?_vm._i(_vm.event.allDay,null)>-1:(_vm.event.allDay)},on:{\"change\":function($event){var $$a=_vm.event.allDay,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.event, \"allDay\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.event, \"allDay\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.event, \"allDay\", $$c)}}}}),_vm._v(\" \"),_c('translate',[_vm._v(\"All day\")])],1)])]),_vm._m(0),_c('div',{staticClass:\"col-sm-6\"},[_c('multiselect',{attrs:{\"label\":\"name\",\"options\":_vm.allCalendars},model:{value:(_vm.event.calendar),callback:function ($$v) {_vm.$set(_vm.event, \"calendar\", $$v)},expression:\"event.calendar\"}}),(_vm.formErrors['calendar'])?_c('span',{staticClass:\"help-block has-error\"},[_vm._v(_vm._s(_vm.formErrors['calendar']))]):_vm._e()],1)]),_c('hr'),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.formErrors['description'] || _vm.formErrors['description'] }},[_c('div',{staticClass:\"col-sm-7\"},[_c('h4',[_c('translate',[_vm._v(\"Detail\")])],1),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.event.description),expression:\"event.description\"}],staticClass:\"form-control\",attrs:{\"id\":\"description\",\"name\":\"description\",\"placeholder\":_vm.descriptionPlaceHolder},domProps:{\"value\":(_vm.event.description)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.event, \"description\", $event.target.value)}}}),(_vm.formErrors['description'])?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.formErrors['description'][0]))]):_vm._e()]),_c('div',{staticClass:\"col-sm-5\"},[_c('h4',[_c('translate',[_vm._v(\"Attendees\")])],1),_c('multiselect',{attrs:{\"multiple\":\"\",\"label\":\"display_name\",\"options\":_vm.attendees,\"close-on-select\":false,\"hide-selected\":true,\"track-by\":\"email\"},model:{value:(_vm.event.attendees),callback:function ($$v) {_vm.$set(_vm.event, \"attendees\", $$v)},expression:\"event.attendees\"}})],1)]),_c('hr'),_c('div',{staticClass:\"pull-right\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.close}},[_c('translate',[_vm._v(\"Close\")])],1),_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.deleteEvent}},[_c('translate',[_vm._v(\"Delete\")])],1),_c('input',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\"},domProps:{\"value\":_vm.submitPlaceholder}})]),_c('div',{staticClass:\"clearfix\"})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-1\"},[_c('span',{staticClass:\"fa fa-calendar fa-2x\"})])}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <h3><translate>Edit event</translate></h3>\n <hr>\n\n <form id=\"eventForm\" class=\"form-horizontal\" method=\"post\"\n v-on:submit.prevent=\"saveEvent\"\n enctype=\"multipart/form-data\">\n <div class=\"form-group\" :class=\"{ 'has-error': formErrors['title'] || formErrors['title'] }\">\n <div class=\"col-sm-10\">\n <input v-model=\"event.title\" type=\"text\" id=\"title\" name=\"title\" class=\"form-control\" :placeholder=\"titlePlaceHolder\">\n <span v-if=\"formErrors['title']\" class=\"help-block\">{{ formErrors['title'][0] }}</span>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"col-sm-3\">\n <flat-pickr name=\"start\" v-model=\"event.start\" :config=\"config\"></flat-pickr>\n </div>\n <div class=\"col-sm-3\">\n <flat-pickr name=\"end\" v-model=\"event.end\" :config=\"config\"></flat-pickr>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-3\">\n <div class=\"checkbox\">\n <label><input type=\"checkbox\" v-model=\"event.allDay\"> <translate>All day</translate></label>\n </div>\n </div>\n <div class=\"col-sm-1\">\n <span class=\"fa fa-calendar fa-2x\"></span>\n </div>\n <div class=\"col-sm-6\">\n <multiselect label=\"name\" :options=\"allCalendars\" v-model=\"event.calendar\"></multiselect>\n <span v-if=\"formErrors['calendar']\" class=\"help-block has-error\">{{ formErrors['calendar'] }}</span>\n </div>\n </div>\n <hr>\n <div class=\"form-group\" :class=\"{ 'has-error': formErrors['description'] || formErrors['description'] }\">\n <div class=\"col-sm-7\">\n <h4><translate>Detail</translate></h4>\n <textarea v-model=\"event.description\" id=\"description\" name=\"description\" class=\"form-control\" :placeholder=\"descriptionPlaceHolder\"></textarea>\n <span v-if=\"formErrors['description']\" class=\"help-block\">{{ formErrors['description'][0] }}</span>\n </div>\n <div class=\"col-sm-5\">\n <h4><translate>Attendees</translate></h4>\n <multiselect multiple label=\"display_name\" :options=\"attendees\"\n v-model=\"event.attendees\" :close-on-select=\"false\"\n :hide-selected=\"true\" track-by=\"email\">\n </multiselect>\n </div>\n </div>\n\n <hr>\n <div class=\"pull-right\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"close\"><translate>Close</translate></button>\n <button type=\"button\" class=\"btn btn-danger\" @click=\"deleteEvent\"><translate>Delete</translate></button>\n <input type=\"submit\" class=\"btn btn-primary\" :value=\"submitPlaceholder\">\n </div>\n <div class=\"clearfix\"></div>\n </form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport * as api from '@/api'\n\nexport default {\n data () {\n return {\n event: {\n attendees: []\n },\n originalCalendarPk: null,\n formErrors: {},\n config: {\n enableTime: true,\n time_24hr: true\n }\n }\n },\n computed: {\n descriptionPlaceHolder () {\n return this.$gettext('Description')\n },\n titlePlaceHolder () {\n return this.$gettext('Title')\n },\n submitPlaceholder () {\n return this.$gettext('Save')\n },\n ...mapGetters([\n 'calendars',\n 'sharedCalendars',\n 'attendees'\n ]),\n allCalendars () {\n return this.calendars.concat(this.sharedCalendars)\n }\n },\n mounted () {\n var params = this.$route.params\n api.getEvent(params.calendar_pk, params.calendar_type, params.pk).then(response => {\n this.event = response.data\n })\n this.$store.dispatch('getAttendees')\n },\n methods: {\n close () {\n this.formErrors = {}\n this.$router.push({ name: 'Calendar' })\n },\n onSaveError (response) {\n this.formErrors = response.data\n },\n saveEvent () {\n var event = JSON.parse(JSON.stringify(this.event))\n if (!event.calendar) {\n this.$set(this.formErrors, 'calendar', this.$gettext('A calendar is required.'))\n return\n }\n var originalCalendar = {\n pk: this.$route.params.calendar_pk,\n type: this.$route.params.calendar_type\n }\n api.updateEvent(originalCalendar, event.id, event).then(response => {\n this.close()\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: this.$gettext('Event updated')\n })\n }, this.onSaveError)\n },\n deleteEvent () {\n var msg = this.$gettext('Are you sure you want to remove this event?')\n this.$dialog.confirm(msg).then(() => {\n api.deleteEvent(this.event.calendar, this.event.id).then(response => {\n this.close()\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: this.$gettext('Event deleted')\n })\n })\n })\n }\n }\n}\n</script>\n\n<style src=\"vue-multiselect/dist/vue-multiselect.min.css\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EventForm.vue?vue&type=template&id=aff60c52&\"\nimport script from \"./EventForm.vue?vue&type=script&lang=js&\"\nexport * from \"./EventForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <create-event-form :start=\"start\" :end=\"end\" :allDay=\"allDay\" v-if=\"showCreateEventForm\" :show.sync=\"showCreateEventForm\" @eventCreated=\"renderEvent\"></create-event-form>\n <event-form v-if=\"showEventForm\" :id=\"currentId\" :show.sync=\"showEventForm\" @eventDeleted=\"deleteEvent\"></event-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport $ from 'jquery'\nimport fullCalendar from 'fullcalendar' // eslint-disable-line no-unused-vars\nimport { DateTime } from 'luxon'\nimport CreateEventForm from './CreateEventForm.vue'\nimport EventForm from './EventForm.vue'\nimport * as api from '@/api'\n\nexport default {\n components: {\n 'create-event-form': CreateEventForm,\n 'event-form': EventForm\n },\n computed: mapGetters([\n 'calendars',\n 'sharedCalendars'\n ]),\n data () {\n return {\n currentId: null,\n start: null,\n end: null,\n showCreateEventForm: false,\n showEventForm: false\n }\n },\n created () {\n this.$bus.$on('calendarColorChanged', (calendar) => {\n var calType = (calendar.domain) ? 'shared' : 'user'\n var url = this.getEventSourceUrl(calendar.pk, calType)\n this.cal.fullCalendar('refetchEventSources', url)\n })\n this.$bus.$on('calendarDeleted', (calendar) => {\n var calType = (calendar.domain) ? 'shared' : 'user'\n var url = this.getEventSourceUrl(calendar.pk, calType)\n this.cal.fullCalendar('removeEventSource', url)\n })\n this.$bus.$on('eventsImported', (calendar) => {\n var calType = (calendar.domain) ? 'shared' : 'user'\n var url = this.getEventSourceUrl(calendar.pk, calType)\n this.cal.fullCalendar('refetchEventSources', url)\n })\n },\n mounted () {\n const locale = this.$language.current\n if (locale !== 'en') {\n import(`fullcalendar/dist/locale/${locale}.js`).then((utils) => {\n this.loadFullCalendar()\n })\n } else {\n this.loadFullCalendar()\n }\n },\n watch: {\n calendars: function (value) {\n this.addEventSources(value)\n },\n sharedCalendars: function (value) {\n this.addEventSources(value)\n }\n },\n methods: {\n loadFullCalendar () {\n this.cal = $(this.$el)\n var args = {\n header: {\n left: 'prev,next today',\n center: 'title',\n right: 'month,agendaWeek,agendaDay'\n },\n defaultView: 'agendaWeek',\n locale: this.$language.current,\n timezone: 'local',\n selectable: true,\n selectHelper: true,\n editable: true,\n eventLimit: true,\n select: this.selectCallback,\n eventClick: this.eventClickCallback,\n eventDrop: this.eventDropCallback,\n eventResize: this.eventResizeCallback,\n themeSystem: 'bootstrap3'\n }\n this.cal.fullCalendar(args)\n this.addEventSources(this.calendars)\n this.addEventSources(this.sharedCalendars)\n },\n getEventSourceUrl (calendarPk, type) {\n return '/api/v1/' + type + '-calendars/' + calendarPk + '/events/'\n },\n addEventSources (calendars) {\n if (this.cal === undefined) {\n // Not ready yet...\n return\n }\n var currentSources = this.cal.fullCalendar('getEventSources')\n for (var calendar of calendars) {\n var calType = (calendar.domain) ? 'shared' : 'user'\n var url = this.getEventSourceUrl(calendar.pk, calType)\n var present = false\n for (var source of currentSources) {\n if (source.url === url) present = true\n }\n if (!present) {\n this.cal.fullCalendar('addEventSource', url)\n }\n }\n },\n selectCallback (start, end) {\n this.start = new Date(start)\n this.end = new Date(end)\n this.allDay = !start.hasTime()\n this.showCreateEventForm = true\n },\n closeCreateEventForm () {\n this.showCreateEventForm = false\n },\n renderEvent (event) {\n this.cal.fullCalendar('renderEvent', event, true)\n },\n eventClickCallback (calEvent, jsEvent, view) {\n var calType = (calEvent.calendar.domain) ? 'shared' : 'user'\n this.$router.push({\n name: 'EditEvent',\n params: {\n calendar_type: calType,\n calendar_pk: calEvent.calendar.pk,\n pk: calEvent.id\n }\n })\n },\n updateEventDates (calEvent) {\n var data = {\n start: calEvent.start,\n end: calEvent.end\n }\n if (calEvent.allDay) {\n var end = DateTime.fromISO(data.start.format())\n end.plus({ days: 1 })\n data.start.time('00:00:00')\n data.end = end\n data.allDay = calEvent.allDay\n }\n api.patchEvent(calEvent.calendar, calEvent.id, data).then(response => {\n this.$notify({\n group: 'default',\n title: this.$gettext('Success'),\n type: 'success',\n text: this.$gettext('Event updated')\n })\n })\n },\n eventDropCallback (calEvent) {\n this.updateEventDates(calEvent)\n },\n eventResizeCallback (calEvent) {\n this.updateEventDates(calEvent)\n },\n deleteEvent (id) {\n this.cal.fullCalendar('removeEvents', id)\n }\n }\n}\n</script>\n\n<style src=\"fullcalendar/dist/fullcalendar.css\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Calendar.vue?vue&type=template&id=0d92bfb0&\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js&\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"fullcalendar/dist/fullcalendar.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\n\nimport Calendar from '@/components/Calendar.vue'\nimport EventForm from '@/components/EventForm.vue'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'Calendar',\n component: Calendar\n },\n {\n path: '/:calendar_pk([0-9]+)/:calendar_type(shared|user)/events/:pk([A-Za-z0-9\\\\-.@]+)/edit',\n name: 'EditEvent',\n component: EventForm\n }\n ],\n linkActiveClass: 'active'\n})\n","// calendar module mutations\nexport const SET_CALENDARS = 'SET_CALENDARS'\nexport const ADD_CALENDAR = 'ADD_CALENDAR'\nexport const UPDATE_CALENDAR = 'UPDATE_CALENDAR'\nexport const DELETE_CALENDAR = 'DELETE_CALENDAR'\nexport const SET_SHARED_CALENDARS = 'SET_SHARED_CALENDARS'\nexport const ADD_SHARED_CALENDAR = 'ADD_SHARED_CALENDAR'\nexport const UPDATE_SHARED_CALENDAR = 'UPDATE_SHARED_CALENDAR'\nexport const DELETE_SHARED_CALENDAR = 'DELETE_SHARED_CALENDAR'\n\n// event module mutations\nexport const SET_ATTENDEES = 'SET_ATTENDEES'\n","import Vue from 'vue'\nimport * as api from '@/api'\nimport * as types from '../mutation-types'\n\n// initial state\nconst state = {\n calendars: [],\n sharedCalendars: []\n}\n\n// getters\nconst getters = {\n calendars: state => state.calendars,\n sharedCalendars: state => state.sharedCalendars\n}\n\n// actions\nconst actions = {\n getCalendars ({ commit }) {\n return api.getUserCalendars().then(response => {\n commit(types.SET_CALENDARS, { calendars: response.data })\n })\n },\n createCalendar ({ commit }, data) {\n return api.createUserCalendar(data).then(response => {\n commit(types.ADD_CALENDAR, { calendar: response.data })\n })\n },\n updateCalendar ({ commit }, data) {\n return api.updateUserCalendar(data.pk, data).then(response => {\n commit(types.UPDATE_CALENDAR, { calendar: response.data })\n })\n },\n deleteCalendar ({ commit }, pk) {\n return api.deleteUserCalendar(pk).then(response => {\n commit(types.DELETE_CALENDAR, { pk: pk })\n })\n },\n getSharedCalendars ({ commit }) {\n return api.getSharedCalendars().then(response => {\n commit(types.SET_SHARED_CALENDARS, { calendars: response.data })\n })\n },\n createSharedCalendar ({ commit }, data) {\n return api.createSharedCalendar(data).then(response => {\n commit(types.ADD_SHARED_CALENDAR, { calendar: response.data })\n })\n },\n updateSharedCalendar ({ commit }, data) {\n return api.updateSharedCalendar(data.pk, data).then(response => {\n commit(types.UPDATE_SHARED_CALENDAR, { calendar: response.data })\n })\n },\n deleteSharedCalendar ({ commit }, pk) {\n return api.deleteSharedCalendar(pk).then(response => {\n commit(types.DELETE_SHARED_CALENDAR, { pk: pk })\n })\n }\n}\n\n// mutations\nconst mutations = {\n [types.SET_CALENDARS] (state, { calendars }) {\n state.calendars = calendars\n },\n [types.ADD_CALENDAR] (state, { calendar }) {\n state.calendars.push(calendar)\n },\n [types.UPDATE_CALENDAR] (state, { calendar }) {\n state.calendars.filter(function (item, pos) {\n if (item.pk === calendar.pk) {\n Vue.set(state.calendars, pos, calendar)\n }\n })\n },\n [types.DELETE_CALENDAR] (state, { pk }) {\n state.calendars = state.calendars.filter(function (calendar) {\n return calendar.pk !== pk\n })\n },\n [types.SET_SHARED_CALENDARS] (state, { calendars }) {\n state.sharedCalendars = calendars\n },\n [types.ADD_SHARED_CALENDAR] (state, { calendar }) {\n state.sharedCalendars.push(calendar)\n },\n [types.UPDATE_SHARED_CALENDAR] (state, { calendar }) {\n state.sharedCalendars.filter(function (item, pos) {\n if (item.pk === calendar.pk) {\n Vue.set(state.sharedCalendars, pos, calendar)\n }\n })\n },\n [types.DELETE_SHARED_CALENDAR] (state, { pk }) {\n state.sharedCalendars = state.sharedCalendars.filter(function (calendar) {\n return calendar.pk !== pk\n })\n }\n}\n\nexport default {\n state,\n getters,\n actions,\n mutations\n}\n","import * as api from '@/api'\nimport * as types from '../mutation-types'\n\n// initial state\nconst state = {\n attendees: []\n}\n\n// getters\nconst getters = {\n attendees: state => state.attendees\n}\n\n// actions\nconst actions = {\n getAttendees ({ commit }) {\n return api.getAttendees().then(response => {\n commit(types.SET_ATTENDEES, { attendees: response.data })\n })\n }\n}\n\n// mutations\nconst mutations = {\n [types.SET_ATTENDEES] (state, { attendees }) {\n state.attendees = attendees\n }\n}\n\nexport default {\n state,\n getters,\n actions,\n mutations\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nimport calendar from './modules/calendar'\nimport event from './modules/event'\n\nVue.use(Vuex)\n\nconst options = {\n modules: {\n calendar,\n event\n },\n strict: process.env.NODE_ENV !== 'production'\n}\n\nexport default new Vuex.Store(options)\nexport { options }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"modal fade show in background-darken\",attrs:{\"tabindex\":\"-1\",\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-dialog\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_vm._t(\"header\")],2),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"body\")],2),(_vm.showFooter)?_c('div',{staticClass:\"modal-footer\"},[_vm._t(\"footer\")],2):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div ref=\"modal\" class=\"modal fade show in background-darken\" tabindex=\"-1\" role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"modal-body\">\n <slot name=\"body\"></slot>\n </div>\n <div v-if=\"showFooter\" class=\"modal-footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n showFooter: {\n type: Boolean,\n default: false\n }\n }\n}\n</script>\n\n<style scoped>\n .background-darken {\n background: rgba(0, 0, 0, 0.5);\n overflow-y: auto;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=0e32cbfe&scoped=true&\"\nimport script from \"./Modal.vue?vue&type=script&lang=js&\"\nexport * from \"./Modal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=0e32cbfe&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e32cbfe\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport Cookies from 'js-cookie'\nimport moment from 'moment'\n\nimport GetTextPlugin from 'vue-gettext'\nimport Multiselect from 'vue-multiselect'\nimport flatpickr from 'flatpickr'\nimport VueFlatPickr from 'vue-flatpickr-component'\nimport 'flatpickr/dist/flatpickr.css'\nimport VuejsDialog from 'vuejs-dialog'\nimport Notifications from 'vue-notification'\nimport Acl from './tools/permissions'\n\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\nimport translations from './translations.json'\n\nimport Calendar from './components/Calendar.vue'\nimport Modal from './components/Modal.vue'\n\nimport 'vuejs-dialog/dist/vuejs-dialog.min.css'\n\nVue.use(GetTextPlugin, {\n availableLanguages: {\n en: 'English',\n fr: 'Français'\n },\n translations: translations\n})\n/* global userLang */\nVue.config.language = userLang\n\nVue.use(VueRouter)\nVue.use(VuejsDialog)\nVue.use(Notifications)\nVue.use(Acl)\n\n/* Configure flatpick widget */\nif (userLang !== 'en') {\n import(`flatpickr/dist/l10n/${userLang}.js`).then((locale) => {\n flatpickr.localize(locale.default[userLang])\n })\n}\nVue.use(VueFlatPickr)\n\nVue.component('calendar', Calendar)\nVue.component('modal', Modal)\nVue.component('multiselect', Multiselect)\n\nVue.filter('formatDate', (value, format) => {\n if (value) {\n return moment(String(value)).format(format || 'MM/DD/YYYY hh:mm')\n }\n})\n\n/* Global event bus */\nconst EventBus = new Vue()\n\nObject.defineProperties(Vue.prototype, {\n $bus: {\n get: function () {\n return EventBus\n }\n }\n})\n\n/* Deal with django CSRF protection */\nconst csrftoken = Cookies.get('csrftoken')\nVue.http.headers.common['X-CSRFTOKEN'] = csrftoken\n\n// eslint-disable-next-line no-new\nnew Vue({\n el: '#app',\n render: h => h(App),\n router,\n store\n})\n","const Acl = {\n install (Vue, options) {\n Vue.directive('can', {\n bind (el, binding, vnode, oldVnode) {\n var permission = binding.value\n var uprofile = window.userProfile\n if (!uprofile.isSuperUser && uprofile.permissions.indexOf(permission) === -1) {\n el.style.display = 'none'\n }\n }\n })\n\n Vue.prototype.$can = function (permission) {\n var uprofile = window.userProfile\n if (uprofile.isSuperUser || uprofile.permissions.indexOf(permission) !== -1) {\n return true\n }\n return false\n }\n }\n}\n\nmodule.exports = Acl\n","var map = {\n\t\"./af.js\": [\n\t\t\"28a7\",\n\t\t\"chunk-2d0b39b2\"\n\t],\n\t\"./ar-dz.js\": [\n\t\t\"cc66\",\n\t\t\"chunk-2d221c16\"\n\t],\n\t\"./ar-kw.js\": [\n\t\t\"a3bd\",\n\t\t\"chunk-2d2084aa\"\n\t],\n\t\"./ar-ly.js\": [\n\t\t\"c9b0\",\n\t\t\"chunk-2d2183ba\"\n\t],\n\t\"./ar-ma.js\": [\n\t\t\"470b\",\n\t\t\"chunk-2d0c18eb\"\n\t],\n\t\"./ar-sa.js\": [\n\t\t\"5698\",\n\t\t\"chunk-2d0c8a76\"\n\t],\n\t\"./ar-tn.js\": [\n\t\t\"3140\",\n\t\t\"chunk-2d0b8e50\"\n\t],\n\t\"./ar.js\": [\n\t\t\"10ed\",\n\t\t\"chunk-2d0aa7f4\"\n\t],\n\t\"./be.js\": [\n\t\t\"969b\",\n\t\t\"chunk-2d0e5c1c\"\n\t],\n\t\"./bg.js\": [\n\t\t\"fd9c\",\n\t\t\"chunk-2d237d7e\"\n\t],\n\t\"./bs.js\": [\n\t\t\"1312\",\n\t\t\"chunk-2d0aacb9\"\n\t],\n\t\"./ca.js\": [\n\t\t\"fde8\",\n\t\t\"chunk-2d2382a7\"\n\t],\n\t\"./cs.js\": [\n\t\t\"3e09\",\n\t\t\"chunk-2d0c5111\"\n\t],\n\t\"./da.js\": [\n\t\t\"7a79\",\n\t\t\"chunk-2d0e1462\"\n\t],\n\t\"./de-at.js\": [\n\t\t\"0258\",\n\t\t\"chunk-2d0a351b\"\n\t],\n\t\"./de-ch.js\": [\n\t\t\"eeb7\",\n\t\t\"chunk-2d2311ab\"\n\t],\n\t\"./de.js\": [\n\t\t\"a31b\",\n\t\t\"chunk-2d207eb9\"\n\t],\n\t\"./el.js\": [\n\t\t\"29ac\",\n\t\t\"chunk-2d0b3d9f\"\n\t],\n\t\"./en-au.js\": [\n\t\t\"b0a4\",\n\t\t\"chunk-2d20ed77\"\n\t],\n\t\"./en-ca.js\": [\n\t\t\"6e05\",\n\t\t\"chunk-2d0dae2a\"\n\t],\n\t\"./en-gb.js\": [\n\t\t\"67b2\",\n\t\t\"chunk-2d0d0787\"\n\t],\n\t\"./en-ie.js\": [\n\t\t\"3413\",\n\t\t\"chunk-2d0b9939\"\n\t],\n\t\"./en-nz.js\": [\n\t\t\"159b2\",\n\t\t\"chunk-744bf72f\"\n\t],\n\t\"./es-do.js\": [\n\t\t\"bacb\",\n\t\t\"chunk-2d21a5d4\"\n\t],\n\t\"./es-us.js\": [\n\t\t\"cbca\",\n\t\t\"chunk-2d221df3\"\n\t],\n\t\"./es.js\": [\n\t\t\"518c\",\n\t\t\"chunk-2d0c77bd\"\n\t],\n\t\"./et.js\": [\n\t\t\"1db1\",\n\t\t\"chunk-2d0b6a98\"\n\t],\n\t\"./eu.js\": [\n\t\t\"a131\",\n\t\t\"chunk-2d207744\"\n\t],\n\t\"./fa.js\": [\n\t\t\"301f\",\n\t\t\"chunk-2d0b8a68\"\n\t],\n\t\"./fi.js\": [\n\t\t\"1b16\",\n\t\t\"chunk-2d0b5d2c\"\n\t],\n\t\"./fr-ca.js\": [\n\t\t\"d2c6\",\n\t\t\"chunk-2d21ddf7\"\n\t],\n\t\"./fr-ch.js\": [\n\t\t\"b001\",\n\t\t\"chunk-2d20e785\"\n\t],\n\t\"./fr.js\": [\n\t\t\"a3f4\",\n\t\t\"chunk-2d2084f6\"\n\t],\n\t\"./gl.js\": [\n\t\t\"e3f1\",\n\t\t\"chunk-2d22566f\"\n\t],\n\t\"./he.js\": [\n\t\t\"20a0\",\n\t\t\"chunk-2d0b1ba3\"\n\t],\n\t\"./hi.js\": [\n\t\t\"a10a\",\n\t\t\"chunk-2d207717\"\n\t],\n\t\"./hr.js\": [\n\t\t\"3a22\",\n\t\t\"chunk-2d0c4244\"\n\t],\n\t\"./hu.js\": [\n\t\t\"0481\",\n\t\t\"chunk-2d0a3cf3\"\n\t],\n\t\"./id.js\": [\n\t\t\"56af\",\n\t\t\"chunk-2d0c8f7c\"\n\t],\n\t\"./is.js\": [\n\t\t\"9a58\",\n\t\t\"chunk-2d0efce1\"\n\t],\n\t\"./it.js\": [\n\t\t\"9cd2\",\n\t\t\"chunk-2d0f0a0e\"\n\t],\n\t\"./ja.js\": [\n\t\t\"9b50\",\n\t\t\"chunk-2d0f009a\"\n\t],\n\t\"./ka.js\": [\n\t\t\"3ec7\",\n\t\t\"chunk-2d0c573c\"\n\t],\n\t\"./kk.js\": [\n\t\t\"328f\",\n\t\t\"chunk-2d0b92c3\"\n\t],\n\t\"./ko.js\": [\n\t\t\"fa99\",\n\t\t\"chunk-2d237211\"\n\t],\n\t\"./lb.js\": [\n\t\t\"fe54\",\n\t\t\"chunk-2d238094\"\n\t],\n\t\"./lt.js\": [\n\t\t\"0719\",\n\t\t\"chunk-2d0a4765\"\n\t],\n\t\"./lv.js\": [\n\t\t\"6b2d\",\n\t\t\"chunk-2d0da354\"\n\t],\n\t\"./mk.js\": [\n\t\t\"b7df\",\n\t\t\"chunk-2d21084d\"\n\t],\n\t\"./ms-my.js\": [\n\t\t\"154d\",\n\t\t\"chunk-2d0ab4ca\"\n\t],\n\t\"./ms.js\": [\n\t\t\"b3e5\",\n\t\t\"chunk-2d20f937\"\n\t],\n\t\"./nb.js\": [\n\t\t\"dd5b\",\n\t\t\"chunk-2d229443\"\n\t],\n\t\"./nl-be.js\": [\n\t\t\"262f\",\n\t\t\"chunk-2d0b2cae\"\n\t],\n\t\"./nl.js\": [\n\t\t\"5895\",\n\t\t\"chunk-2d0c91f5\"\n\t],\n\t\"./nn.js\": [\n\t\t\"663d\",\n\t\t\"chunk-2d0cfe47\"\n\t],\n\t\"./pl.js\": [\n\t\t\"39cd\",\n\t\t\"chunk-2d0bb23d\"\n\t],\n\t\"./pt-br.js\": [\n\t\t\"5df1\",\n\t\t\"chunk-2d0d3c90\"\n\t],\n\t\"./pt.js\": [\n\t\t\"5684\",\n\t\t\"chunk-2d0c8a53\"\n\t],\n\t\"./ro.js\": [\n\t\t\"89f5\",\n\t\t\"chunk-2d0df846\"\n\t],\n\t\"./ru.js\": [\n\t\t\"fe7d\",\n\t\t\"chunk-2d238102\"\n\t],\n\t\"./sk.js\": [\n\t\t\"40d5\",\n\t\t\"chunk-2d0c04c3\"\n\t],\n\t\"./sl.js\": [\n\t\t\"5e93\",\n\t\t\"chunk-2d0d3ae0\"\n\t],\n\t\"./sq.js\": [\n\t\t\"7823\",\n\t\t\"chunk-2d0d79d8\"\n\t],\n\t\"./sr-cyrl.js\": [\n\t\t\"6d53\",\n\t\t\"chunk-2d0dab02\"\n\t],\n\t\"./sr.js\": [\n\t\t\"56d9\",\n\t\t\"chunk-2d0c8fac\"\n\t],\n\t\"./sv.js\": [\n\t\t\"4fd4\",\n\t\t\"chunk-2d0ccf78\"\n\t],\n\t\"./th.js\": [\n\t\t\"109a\",\n\t\t\"chunk-2d0aa29d\"\n\t],\n\t\"./tr.js\": [\n\t\t\"7420\",\n\t\t\"chunk-2d0d6ad1\"\n\t],\n\t\"./uk.js\": [\n\t\t\"2b23\",\n\t\t\"chunk-2d0bd1a7\"\n\t],\n\t\"./vi.js\": [\n\t\t\"0ab8\",\n\t\t\"chunk-2d0aeafd\"\n\t],\n\t\"./zh-cn.js\": [\n\t\t\"4b31\",\n\t\t\"chunk-2d0cba82\"\n\t],\n\t\"./zh-hk.js\": [\n\t\t\"2620\",\n\t\t\"chunk-2d0b2c78\"\n\t],\n\t\"./zh-tw.js\": [\n\t\t\"94aa\",\n\t\t\"chunk-2d0e5971\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"9c91\";\nmodule.exports = webpackAsyncContext;"],"sourceRoot":""}