diff --git a/NMP 3.0 Moodle Pluggin/fliplearning/amd/assignments.min.js.map b/NMP 3.0 Moodle Pluggin/fliplearning/amd/assignments.min.js.map
new file mode 100644
index 0000000000000000000000000000000000000000..cfa4ee5464b1e2660020ade58df15bf53066637b
--- /dev/null
+++ b/NMP 3.0 Moodle Pluggin/fliplearning/amd/assignments.min.js.map	
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/assignments.js"],"names":["define","Vue","Vuetify","Axios","Moment","Pagination","ChartDynamic","PageHeader","EmailForm","HelpDialog","init","content","use","component","vue","delimiters","el","vuetify","data","dialog","selected_users","modulename","moduleid","strings","groups","userid","courseid","timezone","render_has","profile_render","loading","errors","pages","submissions","email_strings","access","assigns_submissions_colors","access_content_colors","access_chart_categories","access_chart_series","access_chart_users","help_dialog","help_contents","beforeMount","generate_access_content_data","mounted","document","querySelector","style","display","methods","get_help_content","contents","title","section_help_title","description","section_help_description","update_interactions","week","action","weekcode","profile","method","url","M","cfg","wwwroot","params","then","response","status","ok","error_messages","push","error_network","catch","api_error_network","finally","build_assigns_submissions_chart","chart","type","backgroundColor","fontFamily","text","colors","xAxis","categories","crosshair","yAxis","min","assignsubs_chart_yaxis","allowDecimals","tooltip","formatter","label","x","split","serie_name","series","name","value","y","students_label","students_text","send_mail","student_text","plotOptions","cursor","point","events","click","category","subject","subject_prefix","column","colorIndex","users","modules","build_access_content_chart","access_chart_yaxis_label","labels","overflow","bar","dataLabels","enabled","get_users","module","get_moduletype","id","update_dialog","usersIds","forEach","user","selected_types_labels","types","item","show","selected_modules","includes","modules_users","access_users_data","no_access_users_data","access_users","no_access_users","filter","length","no_access","ids","mod","open_chart_help","assigns_submissions_help_title","assigns_submissions_help_description_p1","assigns_submissions_help_description_p2","access_content_help_title","access_content_help_description_p1","access_content_help_description_p2","update_help_dialog","get_timezone","information","ss_change_timezone"],"mappings":"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","sourcesContent":["define([\"local_fliplearning/vue\",\r\n        \"local_fliplearning/vuetify\",\r\n        \"local_fliplearning/axios\",\r\n        \"local_fliplearning/moment\",\r\n        \"local_fliplearning/pagination\",\r\n        \"local_fliplearning/chartdynamic\",\r\n        \"local_fliplearning/pageheader\",\r\n        \"local_fliplearning/emailform\",\r\n        \"local_fliplearning/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify)\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#submissions\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        dialog : false,\r\n                        selected_users : [],\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n                        submissions: content.submissions,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        access: content.access,\r\n                        assigns_submissions_colors: content.assigns_submissions_colors,\r\n                        access_content_colors: content.access_content_colors,\r\n                        access_chart_categories: [],\r\n                        access_chart_series: [],\r\n                        access_chart_users: [],\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    this.generate_access_content_data();\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#submissions\").style.display = \"block\";\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    update_interactions(week){\r\n                        this.loading = true;\r\n                        this.errors = [];\r\n                        let data = {\r\n                            action : \"assignments\",\r\n                            userid : this.userid,\r\n                            courseid : this.courseid,\r\n                            weekcode : week.weekcode,\r\n                            profile : this.render_has,\r\n                        }\r\n                        Axios({\r\n                            method:'get',\r\n                            url: M.cfg.wwwroot + \"/local/fliplearning/ajax.php\",\r\n                            params : data,\r\n                        }).then((response) => {\r\n                            if (response.status == 200 && response.data.ok) {\r\n                                this.submissions = response.data.data.submissions;\r\n                                this.access = response.data.data.access;\r\n                                this.generate_access_content_data();\r\n                            } else {\r\n                                this.error_messages.push(this.strings.error_network);\r\n                            }\r\n                        }).catch((e) => {\r\n                            this.errors.push(this.strings.api_error_network);\r\n                        }).finally(() => {\r\n                            this.loading = false;\r\n                        });\r\n                        return this.data;\r\n                    },\r\n\r\n                    build_assigns_submissions_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.assigns_submissions_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.submissions.categories,\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.assignsubs_chart_yaxis\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x.split('</b>');\r\n                                label = label[0] || '';\r\n                                label = label.split('<b>');\r\n                                label = label[1] || '';\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                            value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category.split('</b>');\r\n                                            serie_name = serie_name[0] || '';\r\n                                            serie_name = serie_name.split('<b>');\r\n                                            serie_name = serie_name[1] || '';\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            vue.dialog = true;\r\n                                            vue.selected_users = vue.submissions.users[x][column];\r\n                                            vue.moduleid = vue.submissions.modules[x];\r\n                                            vue.modulename = \"assign\";\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.submissions.data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_access_content_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.access_content_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.access_chart_categories,\r\n                            title: { text: null },\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.access_chart_yaxis_label,\r\n                            },\r\n                            labels: {\r\n                                overflow: 'justify'\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x;\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                    value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            bar: {\r\n                                dataLabels: {\r\n                                    enabled: false\r\n                                }\r\n                            },\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category;\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            let users = vue.get_users(vue.access_chart_users[x][column]);\r\n                                            vue.selected_users = users;\r\n                                            let module = vue.get_moduletype(this.category);\r\n                                            vue.modulename = module.type;\r\n                                            vue.moduleid = module.id;\r\n                                            vue.dialog = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.access_chart_series;\r\n                        return chart;\r\n                    },\r\n\r\n                    update_dialog (value) {\r\n                        this.dialog = value;\r\n                    },\r\n\r\n                    generate_access_content_data() {\r\n                        let usersIds = [];\r\n                        this.access.users.forEach(user => {\r\n                            usersIds.push(Number(user.id));\r\n                        });\r\n                        let selected_types_labels = [];\r\n                        this.access.types.forEach(item => {\r\n                            if (item.show) {\r\n                                selected_types_labels.push(item.type);\r\n                            }\r\n                        });\r\n                        let selected_modules = [];\r\n                        this.access.modules.forEach(module => {\r\n                            if (selected_types_labels.includes(module.type)) {\r\n                                selected_modules.push(module);\r\n                            }\r\n                        });\r\n                        let categories = [];\r\n                        let modules_users = [];\r\n                        let access_users_data = [];\r\n                        let no_access_users_data = [];\r\n                        selected_modules.forEach(module => {\r\n                            categories.push(module.name);\r\n                            let access_users = module.users;\r\n                            let no_access_users = usersIds.filter(x => !access_users.includes(x));\r\n                            access_users_data.push(access_users.length);\r\n                            no_access_users_data.push(no_access_users.length);\r\n                            modules_users.push([access_users, no_access_users]);\r\n                        });\r\n                        let series = [\r\n                            { name: this.strings.access, data: access_users_data },\r\n                            { name: this.strings.no_access, data: no_access_users_data },\r\n                        ];\r\n                        this.access_chart_categories = categories;\r\n                        this.access_chart_series = series;\r\n                        this.access_chart_users = modules_users;\r\n                    },\r\n\r\n                    get_users(ids) {\r\n                        let users = [];\r\n                        this.access.users.forEach(user => {\r\n                            let userid = Number(user.id);\r\n                            if (ids.includes(userid)) {\r\n                                users.push(user);\r\n                            }\r\n                        });\r\n                        return users;\r\n                    },\r\n\r\n                    get_moduletype(modulename) {\r\n                        let mod;\r\n                        this.access.modules.forEach(module => {\r\n                            if (module.name === modulename) {\r\n                                mod = module;\r\n                            }\r\n                        });\r\n                        return mod;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"assigns_submissions\") {\r\n                            contents.push({\r\n                                title: this.strings.assigns_submissions_help_title,\r\n                                description: this.strings.assigns_submissions_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.assigns_submissions_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"access_content\") {\r\n                            contents.push({\r\n                                title: this.strings.access_content_help_title,\r\n                                description: this.strings.access_content_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.access_content_help_description_p2,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"],"file":"assignments.min.js"}
\ No newline at end of file