diff --git a/osis_async/static/osis_async/osis-async.umd.min.js b/osis_async/static/osis_async/osis-async.umd.min.js index 5638910..fb5db8a 100644 --- a/osis_async/static/osis_async/osis-async.umd.min.js +++ b/osis_async/static/osis_async/osis-async.umd.min.js @@ -1,2 +1,2 @@ -(function(n,t){typeof exports=="object"&&typeof module<"u"?t(require("@vue/runtime-dom"),require("vue"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["@vue/runtime-dom","vue","vue-i18n"],t):(n=typeof globalThis<"u"?globalThis:n||self,t(n.Vue,n.Vue,n.VueI18n))})(this,function(n,t,l){"use strict";const d=t.defineComponent({name:"AsyncTask",props:{uuid:{type:String,required:!0},name:{type:String,required:!0},description:{type:String,required:!0},progression:{type:Number,required:!0},state:{type:String,required:!0},createdAt:{type:String,required:!0},startedAt:{type:String,default:null},completedAt:{type:String,default:null}},computed:{isProcessing:function(){return this.state==="PROCESSING"},isDone:function(){return this.state==="DONE"},isInError:function(){return this.state==="ERROR"},computedProgression:function(){return this.isInError?100:this.progression},asyncDate:function(){return this.completedAt?`${this.$t("async_task.completed_at")} : ${this.completedAt}`:this.startedAt?`${this.$t("async_task.started_at")} : ${this.startedAt}`:`${this.$t("async_task.created_at")} : ${this.createdAt}`}}}),R="",c=(e,s)=>{const o=e.__vccOpts||e;for(const[a,i]of s)o[a]=i;return o},m={class:"async-task-dropdown-item container"},p={class:"row"},u={class:"col-md-12 text-left"},_={class:"async-task-date pull-right"},h={class:"col-md-12 text-left"},y=["innerHTML"],g={class:"col-md-12"},k={class:"progress"},f=["aria-valuenow"];function w(e,s,o,a,i,F){return t.openBlock(),t.createElementBlock("li",m,[t.createElementVNode("div",p,[t.createElementVNode("div",u,[t.createElementVNode("span",{class:t.normalizeClass({"font-bold":!e.isDone})},t.toDisplayString(e.name),3),t.createElementVNode("span",_,[t.createElementVNode("em",null,t.toDisplayString(e.asyncDate),1)])]),t.createElementVNode("div",h,[t.createElementVNode("span",{class:"async-task-text",innerHTML:e.description},null,8,y)]),t.createElementVNode("div",g,[t.createElementVNode("div",k,[t.createElementVNode("div",{class:t.normalizeClass(["progress-bar progress-bar-striped",{active:e.isProcessing,"progress-bar-success":e.isDone,"progress-bar-danger":e.isInError}]),role:"progressbar","aria-valuenow":e.computedProgression,"aria-valuemin":"0","aria-valuemax":"100",style:t.normalizeStyle({width:e.computedProgression+"%"})},[e.isInError?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(t.toDisplayString(e.$t("async_task.error_task")),1)],64)):t.createCommentVNode("",!0),e.isInError?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(e.computedProgression)+"% ",1)],64))],14,f)])])])])}const $=c(d,[["render",w]]),z=t.defineComponent({name:"AsyncTasksViewer",components:{AsyncTask:$},props:{url:{type:String,required:!0},interval:{type:Number,default:300},limit:{type:Number,default:15}},data(){return{asyncTasks:[],hasNextPage:!1,pageSize:this.limit,error:"",loading:!0,pendingAsyncTasksCount:0,timer:0}},unmounted(){window.clearTimeout(this.timer)},mounted(){this.fetchAsyncTasks(),window.jQuery(document).on("click.bs.dropdown.data-api",".async-tasks-dropdown",e=>e.stopPropagation()),window.jQuery(document).on("AsyncTasksViewer:fetchAsyncTasks",()=>void this.fetchAsyncTasks())},methods:{refreshTimer:function(){let e=this.interval;this.pendingAsyncTasksCount>0&&(e=5),window.clearTimeout(this.timer),this.timer=window.setTimeout(()=>{this.fetchAsyncTasks()},e*1e3)},fetchAsyncTasks:async function(){try{const e=await fetch(`${this.url}?limit=${this.pageSize}`);if(e.status>=200&&e.status<300){const s=await e.json();this.asyncTasks=s.results,this.hasNextPage=!!s.next,this.pendingAsyncTasksCount=s.pending_count,this.refreshTimer()}else this.error=`${this.$t("async_tasks_viewer.error_fetch_async_tasks")} ( ${e.statusText} )`}catch(e){this.error=`${this.$t("async_tasks_viewer.error_fetch_async_tasks")} ( ${e.message} )`}finally{this.loading=!1}},loadMore:async function(e){e.stopPropagation(),this.loading=!0,this.pageSize+=this.limit,await this.fetchAsyncTasks()}}}),H="",E={class:"dropdown-toggle","data-toggle":"dropdown",role:"button","aria-haspopup":"true","aria-expanded":"false"},N=["data-count"],A=[t.createElementVNode("span",{class:"fas fa-tasks"},null,-1)],V={class:"dropdown-menu async-tasks-dropdown"},T={key:0},S={class:"alert alert-warning",role:"alert"},b={key:1},B={key:2,class:"progress"},C={class:"progress-bar progress-bar-striped active",role:"progressbar","aria-valuenow":"100","aria-valuemin":"0","aria-valuemax":"100",style:{width:"100%"}},D={class:"sr-only"},P={key:3,class:"text-center"};function q(e,s,o,a,i,F){const O=t.resolveComponent("AsyncTask");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("a",E,[t.createElementVNode("div",{class:t.normalizeClass(["download",{"show-count":e.pendingAsyncTasksCount}]),"data-count":e.pendingAsyncTasksCount},A,10,N)]),t.createElementVNode("ul",V,[e.error?(t.openBlock(),t.createElementBlock("li",T,[t.createElementVNode("div",S,t.toDisplayString(e.error),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.asyncTasks,r=>(t.openBlock(),t.createBlock(O,{key:r.uuid,uuid:r.uuid,name:r.name,description:r.description,progression:r.progression,state:r.state,"created-at":r.created_at,"started-at":r.started_at,"completed-at":r.completed_at},null,8,["uuid","name","description","progression","state","created-at","started-at","completed-at"]))),128)),!e.loading&&!e.asyncTasks.length?(t.openBlock(),t.createElementBlock("li",b,t.toDisplayString(e.$t("async_tasks_viewer.no_results")),1)):t.createCommentVNode("",!0),e.loading?(t.openBlock(),t.createElementBlock("li",B,[t.createElementVNode("div",C,[t.createElementVNode("span",D,t.toDisplayString(e.$t("async_tasks_viewer.load_more")),1)])])):e.hasNextPage?(t.openBlock(),t.createElementBlock("li",P,[t.createElementVNode("button",{type:"button",class:"btn btn-link",onClick:s[0]||(s[0]=(...r)=>e.loadMore&&e.loadMore(...r))},t.toDisplayString(e.$t("async_tasks_viewer.load_more")),1)])):t.createCommentVNode("",!0)])],64)}const I=c(z,[["render",q]]),L={async_tasks_viewer:{error_fetch_async_tasks:e=>{const{normalize:s}=e;return s(["Une erreur s'est produite lors de la récupération des tâches, veuillez réessayer plus tard."])},load_more:e=>{const{normalize:s}=e;return s(["Afficher plus"])},loading:e=>{const{normalize:s}=e;return s(["Chargement"])},no_results:e=>{const{normalize:s}=e;return s(["Aucune tâche en cours."])}},async_task:{created_at:e=>{const{normalize:s}=e;return s(["demandée le"])},started_at:e=>{const{normalize:s}=e;return s(["débutée le"])},completed_at:e=>{const{normalize:s}=e;return s(["terminée le"])},error_task:e=>{const{normalize:s}=e;return s(["Une erreur s'est produite lors de l'exécution de la tâche."])}}},M={async_tasks_viewer:{error_fetch_async_tasks:e=>{const{normalize:s}=e;return s(["An error occurred while fetching tasks, please try again later."])},load_more:e=>{const{normalize:s}=e;return s(["Load more"])},loading:e=>{const{normalize:s}=e;return s(["Loading"])},no_results:e=>{const{normalize:s}=e;return s(["No current tasks."])}},async_task:{created_at:e=>{const{normalize:s}=e;return s(["created at"])},started_at:e=>{const{normalize:s}=e;return s(["started at"])},completed_at:e=>{const{normalize:s}=e;return s(["completed at"])},error_task:e=>{const{normalize:s}=e;return s(["An error occurred while running task"])}}},j=l.createI18n({locale:document.documentElement.lang||"en",messages:{en:M,fr:L}});document.querySelectorAll("#async-tasks-viewer").forEach(e=>{const s={url:"",...e.dataset};typeof e.dataset.interval<"u"&&(s.interval=Number.parseInt(e.dataset.interval)),typeof e.dataset.limit<"u"&&(s.limit=Number.parseInt(e.dataset.limit)),n.createApp(I,s).use(j).mount(e)})}); +(function(n,t){typeof exports=="object"&&typeof module<"u"?t(require("@vue/runtime-dom"),require("vue"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["@vue/runtime-dom","vue","vue-i18n"],t):(n=typeof globalThis<"u"?globalThis:n||self,t(n.Vue,n.Vue,n.VueI18n))})(this,function(n,t,l){"use strict";const d=t.defineComponent({name:"AsyncTask",props:{uuid:{type:String,required:!0},name:{type:String,required:!0},description:{type:String,required:!0},progression:{type:Number,required:!0},state:{type:String,required:!0},createdAt:{type:String,required:!0},startedAt:{type:String,default:null},completedAt:{type:String,default:null}},computed:{isProcessing:function(){return this.state==="PROCESSING"},isDone:function(){return this.state==="DONE"},isInError:function(){return this.state==="ERROR"},computedProgression:function(){return this.isInError?100:this.progression},asyncDate:function(){return this.completedAt?`${this.$t("async_task.completed_at")} : ${this.completedAt}`:this.startedAt?`${this.$t("async_task.started_at")} : ${this.startedAt}`:`${this.$t("async_task.created_at")} : ${this.createdAt}`}}}),R="",c=(e,s)=>{const o=e.__vccOpts||e;for(const[a,i]of s)o[a]=i;return o},m={class:"async-task-dropdown-item container"},p={class:"row"},u={class:"col-12 text-left text-start"},_={class:"async-task-date pull-right float-end"},h={class:"col-12 text-left text-start"},y=["innerHTML"],g={class:"col-12"},k={class:"progress"},f=["aria-valuenow"];function w(e,s,o,a,i,F){return t.openBlock(),t.createElementBlock("li",m,[t.createElementVNode("div",p,[t.createElementVNode("div",u,[t.createElementVNode("span",{class:t.normalizeClass({"font-bold":!e.isDone})},t.toDisplayString(e.name),3),t.createElementVNode("span",_,[t.createElementVNode("em",null,t.toDisplayString(e.asyncDate),1)])]),t.createElementVNode("div",h,[t.createElementVNode("span",{class:"async-task-text",innerHTML:e.description},null,8,y)]),t.createElementVNode("div",g,[t.createElementVNode("div",k,[t.createElementVNode("div",{class:t.normalizeClass(["progress-bar progress-bar-striped",{active:e.isProcessing,"progress-bar-success bg-success":e.isDone,"progress-bar-danger bg-danger":e.isInError}]),role:"progressbar","aria-valuenow":e.computedProgression,"aria-valuemin":"0","aria-valuemax":"100",style:t.normalizeStyle({width:e.computedProgression+"%"})},[e.isInError?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(t.toDisplayString(e.$t("async_task.error_task")),1)],64)):t.createCommentVNode("",!0),e.isInError?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(e.computedProgression)+"% ",1)],64))],14,f)])])])])}const $=c(d,[["render",w]]),z=t.defineComponent({name:"AsyncTasksViewer",components:{AsyncTask:$},props:{url:{type:String,required:!0},interval:{type:Number,default:300},limit:{type:Number,default:15}},data(){return{asyncTasks:[],hasNextPage:!1,pageSize:this.limit,error:"",loading:!0,pendingAsyncTasksCount:0,timer:0}},unmounted(){window.clearTimeout(this.timer)},mounted(){this.fetchAsyncTasks(),window.jQuery(document).on("click.bs.dropdown.data-api",".async-tasks-dropdown",e=>e.stopPropagation()),window.jQuery(document).on("AsyncTasksViewer:fetchAsyncTasks",()=>void this.fetchAsyncTasks())},methods:{refreshTimer:function(){let e=this.interval;this.pendingAsyncTasksCount>0&&(e=5),window.clearTimeout(this.timer),this.timer=window.setTimeout(()=>{this.fetchAsyncTasks()},e*1e3)},fetchAsyncTasks:async function(){try{const e=await fetch(`${this.url}?limit=${this.pageSize}`);if(e.status>=200&&e.status<300){const s=await e.json();this.asyncTasks=s.results,this.hasNextPage=!!s.next,this.pendingAsyncTasksCount=s.pending_count,this.refreshTimer()}else this.error=`${this.$t("async_tasks_viewer.error_fetch_async_tasks")} ( ${e.statusText} )`}catch(e){this.error=`${this.$t("async_tasks_viewer.error_fetch_async_tasks")} ( ${e.message} )`}finally{this.loading=!1}},loadMore:async function(e){e.stopPropagation(),this.loading=!0,this.pageSize+=this.limit,await this.fetchAsyncTasks()}}}),H="",E={class:"dropdown-toggle nav-link","data-toggle":"dropdown","data-bs-toggle":"dropdown","data-bs-auto-close":"outside",href:"#",role:"button","aria-haspopup":"true","aria-expanded":"false"},N=["data-count"],A=[t.createElementVNode("span",{class:"fas fa-tasks"},null,-1)],V={class:"dropdown-menu async-tasks-dropdown dropdown-menu-end w-md-container w-xl-container"},T={key:0},b={class:"alert alert-warning",role:"alert"},S={key:1},B={key:2,class:"progress"},C={class:"progress-bar progress-bar-striped active",role:"progressbar","aria-valuenow":"100","aria-valuemin":"0","aria-valuemax":"100",style:{width:"100%"}},D={class:"sr-only"},P={key:3,class:"text-center"};function q(e,s,o,a,i,F){const O=t.resolveComponent("AsyncTask");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("a",E,[t.createElementVNode("div",{class:t.normalizeClass(["download",{"show-count":e.pendingAsyncTasksCount}]),"data-count":e.pendingAsyncTasksCount},A,10,N)]),t.createElementVNode("ul",V,[e.error?(t.openBlock(),t.createElementBlock("li",T,[t.createElementVNode("div",b,t.toDisplayString(e.error),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.asyncTasks,r=>(t.openBlock(),t.createBlock(O,{key:r.uuid,uuid:r.uuid,name:r.name,description:r.description,progression:r.progression,state:r.state,"created-at":r.created_at,"started-at":r.started_at,"completed-at":r.completed_at},null,8,["uuid","name","description","progression","state","created-at","started-at","completed-at"]))),128)),!e.loading&&!e.asyncTasks.length?(t.openBlock(),t.createElementBlock("li",S,t.toDisplayString(e.$t("async_tasks_viewer.no_results")),1)):t.createCommentVNode("",!0),e.loading?(t.openBlock(),t.createElementBlock("li",B,[t.createElementVNode("div",C,[t.createElementVNode("span",D,t.toDisplayString(e.$t("async_tasks_viewer.load_more")),1)])])):e.hasNextPage?(t.openBlock(),t.createElementBlock("li",P,[t.createElementVNode("button",{type:"button",class:"btn btn-link",onClick:s[0]||(s[0]=(...r)=>e.loadMore&&e.loadMore(...r))},t.toDisplayString(e.$t("async_tasks_viewer.load_more")),1)])):t.createCommentVNode("",!0)])],64)}const I=c(z,[["render",q]]),L={async_tasks_viewer:{error_fetch_async_tasks:e=>{const{normalize:s}=e;return s(["Une erreur s'est produite lors de la récupération des tâches, veuillez réessayer plus tard."])},load_more:e=>{const{normalize:s}=e;return s(["Afficher plus"])},loading:e=>{const{normalize:s}=e;return s(["Chargement"])},no_results:e=>{const{normalize:s}=e;return s(["Aucune tâche en cours."])}},async_task:{created_at:e=>{const{normalize:s}=e;return s(["demandée le"])},started_at:e=>{const{normalize:s}=e;return s(["débutée le"])},completed_at:e=>{const{normalize:s}=e;return s(["terminée le"])},error_task:e=>{const{normalize:s}=e;return s(["Une erreur s'est produite lors de l'exécution de la tâche."])}}},M={async_tasks_viewer:{error_fetch_async_tasks:e=>{const{normalize:s}=e;return s(["An error occurred while fetching tasks, please try again later."])},load_more:e=>{const{normalize:s}=e;return s(["Load more"])},loading:e=>{const{normalize:s}=e;return s(["Loading"])},no_results:e=>{const{normalize:s}=e;return s(["No current tasks."])}},async_task:{created_at:e=>{const{normalize:s}=e;return s(["created at"])},started_at:e=>{const{normalize:s}=e;return s(["started at"])},completed_at:e=>{const{normalize:s}=e;return s(["completed at"])},error_task:e=>{const{normalize:s}=e;return s(["An error occurred while running task"])}}},j=l.createI18n({locale:document.documentElement.lang||"en",messages:{en:M,fr:L}});document.querySelectorAll("#async-tasks-viewer").forEach(e=>{const s={url:"",...e.dataset};typeof e.dataset.interval<"u"&&(s.interval=Number.parseInt(e.dataset.interval)),typeof e.dataset.limit<"u"&&(s.limit=Number.parseInt(e.dataset.limit)),n.createApp(I,s).use(j).mount(e)})}); //# sourceMappingURL=osis-async.umd.min.js.map diff --git a/osis_async/static/osis_async/osis-async.umd.min.js.map b/osis_async/static/osis_async/osis-async.umd.min.js.map index 1fa3765..1236e4f 100644 --- a/osis_async/static/osis_async/osis-async.umd.min.js.map +++ b/osis_async/static/osis_async/osis-async.umd.min.js.map @@ -1 +1 @@ -{"version":3,"file":"osis-async.umd.min.js","sources":["../../../frontend/components/AsyncTask.vue","../../../frontend/components/AsyncTask.vue","../../../frontend/AsyncTasksViewer.vue","../../../frontend/AsyncTasksViewer.vue","../../../frontend/i18n.ts","../../../frontend/main.ts"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n *\r\n * OSIS stands for Open Student Information System. It's an application\r\n * designed to manage the core business of higher education institutions,\r\n * such as universities, faculties, institutes and professional schools.\r\n * The core business involves the administration of students, teachers,\r\n * courses, programs and so on.\r\n *\r\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * A copy of this license - GNU General Public License - is available\r\n * at the root of the source code of this program. If not,\r\n * see http://www.gnu.org/licenses/.\r\n *\r\n */\r\n\r\nimport {createI18n} from 'vue-i18n';\r\nimport fr from \"./locales/fr\";\r\nimport en from \"./locales/en\";\r\n\r\nexport const i18n = createI18n({\r\n locale: document.documentElement.lang || 'en',\r\n messages: {\r\n en,\r\n fr,\r\n },\r\n});\r\n","/*\r\n *\r\n * OSIS stands for Open Student Information System. It's an application\r\n * designed to manage the core business of higher education institutions,\r\n * such as universities, faculties, institutes and professional schools.\r\n * The core business involves the administration of students, teachers,\r\n * courses, programs and so on.\r\n *\r\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * A copy of this license - GNU General Public License - is available\r\n * at the root of the source code of this program. If not,\r\n * see http://www.gnu.org/licenses/.\r\n *\r\n */\r\n\r\n/* eslint-disable vue/prefer-import-from-vue */\r\nimport {createApp} from '@vue/runtime-dom'; // so that it can be spied on\r\nimport AsyncTasksViewer from './AsyncTasksViewer.vue';\r\nimport {i18n} from './i18n';\r\n\r\ninterface Props extends Record {\r\n url: string,\r\n interval?: number,\r\n limit?: number,\r\n}\r\n\r\ndocument.querySelectorAll('#async-tasks-viewer').forEach((elem) => {\r\n const props: Props = {url: \"\", ...elem.dataset};\r\n if (typeof elem.dataset.interval !== 'undefined') {\r\n props.interval = Number.parseInt(elem.dataset.interval);\r\n }\r\n if (typeof elem.dataset.limit !== 'undefined') {\r\n props.limit = Number.parseInt(elem.dataset.limit);\r\n }\r\n createApp(AsyncTasksViewer, props).use(i18n).mount(elem);\r\n});\r\n"],"names":["_sfc_main$1","defineComponent","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_6","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_normalizeClass","_toDisplayString","_hoisted_4","_hoisted_7","_hoisted_8","_normalizeStyle","_createCommentVNode","_Fragment","_sfc_main","AsyncTask","interval","response","newAsyncTasks","_hoisted_9","_hoisted_10","_hoisted_12","_renderList","asyncTask","_createBlock","_component_AsyncTask","i18n","createI18n","en","fr","elem","props","createApp","AsyncTasksViewer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"osis-async.umd.min.js","sources":["../../../frontend/components/AsyncTask.vue","../../../frontend/AsyncTasksViewer.vue","../../../frontend/i18n.ts","../../../frontend/main.ts"],"sourcesContent":["\n\n\n\n\n\n","\n\n\n\n\n\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n\nimport {createI18n} from 'vue-i18n';\nimport fr from \"./locales/fr\";\nimport en from \"./locales/en\";\n\nexport const i18n = createI18n({\n locale: document.documentElement.lang || 'en',\n messages: {\n en,\n fr,\n },\n});\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n\n/* eslint-disable vue/prefer-import-from-vue */\nimport {createApp} from '@vue/runtime-dom'; // so that it can be spied on\nimport AsyncTasksViewer from './AsyncTasksViewer.vue';\nimport {i18n} from './i18n';\n\ninterface Props extends Record {\n url: string,\n interval?: number,\n limit?: number,\n}\n\ndocument.querySelectorAll('#async-tasks-viewer').forEach((elem) => {\n const props: Props = {url: \"\", ...elem.dataset};\n if (typeof elem.dataset.interval !== 'undefined') {\n props.interval = Number.parseInt(elem.dataset.interval);\n }\n if (typeof elem.dataset.limit !== 'undefined') {\n props.limit = Number.parseInt(elem.dataset.limit);\n }\n createApp(AsyncTasksViewer, props).use(i18n).mount(elem);\n});\n"],"names":["_sfc_main$1","defineComponent","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_6","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_normalizeClass","_toDisplayString","_hoisted_4","_hoisted_7","_hoisted_8","_normalizeStyle","_createCommentVNode","_Fragment","_sfc_main","AsyncTask","interval","response","newAsyncTasks","_hoisted_9","_hoisted_10","_hoisted_12","_renderList","asyncTask","_createBlock","_component_AsyncTask","i18n","createI18n","en","fr","elem","props","createApp","AsyncTasksViewer"],"mappings":"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"} \ No newline at end of file