Sindbad~EG File Manager
{"version":3,"file":"view_nav.min.js","sources":["../src/view_nav.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle 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// Moodle 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// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Manage the timeline view navigation for the overview block.\n *\n * @copyright 2018 Bas Brands <bas@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(\n[\n 'jquery',\n 'core/custom_interaction_events',\n 'block_myoverview/repository',\n 'block_myoverview/view',\n 'block_myoverview/selectors'\n],\nfunction(\n $,\n CustomEvents,\n Repository,\n View,\n Selectors\n) {\n\n var SELECTORS = {\n FILTERS: '[data-region=\"filter\"]',\n FILTER_OPTION: '[data-filter]',\n DISPLAY_OPTION: '[data-display-option]'\n };\n\n /**\n * Update the user preference for the block.\n *\n * @param {String} filter The type of filter: display/sort/grouping.\n * @param {String} value The current preferred value.\n */\n var updatePreferences = function(filter, value) {\n var type = null;\n if (filter == 'display') {\n type = 'block_myoverview_user_view_preference';\n } else if (filter == 'sort') {\n type = 'block_myoverview_user_sort_preference';\n } else if (filter == 'customfieldvalue') {\n type = 'block_myoverview_user_grouping_customfieldvalue_preference';\n } else {\n type = 'block_myoverview_user_grouping_preference';\n }\n\n Repository.updateUserPreferences({\n preferences: [\n {\n type: type,\n value: value\n }\n ]\n });\n };\n\n /**\n * Event listener for the Display filter (cards, list).\n *\n * @param {object} root The root element for the overview block\n */\n var registerSelector = function(root) {\n\n var Selector = root.find(SELECTORS.FILTERS);\n\n CustomEvents.define(Selector, [CustomEvents.events.activate]);\n Selector.on(\n CustomEvents.events.activate,\n SELECTORS.FILTER_OPTION,\n function(e, data) {\n var option = $(e.target);\n\n if (option.hasClass('active')) {\n // If it's already active then we don't need to do anything.\n return;\n }\n\n var filter = option.attr('data-filter');\n var pref = option.attr('data-pref');\n var customfieldvalue = option.attr('data-customfieldvalue');\n\n root.find(Selectors.courseView.region).attr('data-' + filter, option.attr('data-value'));\n updatePreferences(filter, pref);\n\n if (customfieldvalue) {\n root.find(Selectors.courseView.region).attr('data-customfieldvalue', customfieldvalue);\n updatePreferences('customfieldvalue', customfieldvalue);\n }\n\n // Reset the views.\n View.init(root);\n\n data.originalEvent.preventDefault();\n }\n );\n\n CustomEvents.define(Selector, [CustomEvents.events.activate]);\n Selector.on(\n CustomEvents.events.activate,\n SELECTORS.DISPLAY_OPTION,\n function(e, data) {\n var option = $(e.target);\n\n if (option.hasClass('active')) {\n return;\n }\n\n var filter = option.attr('data-display-option');\n var pref = option.attr('data-pref');\n\n root.find(Selectors.courseView.region).attr('data-display', option.attr('data-value'));\n updatePreferences(filter, pref);\n View.reset(root);\n data.originalEvent.preventDefault();\n }\n );\n };\n\n /**\n * Initialise the timeline view navigation by adding event listeners to\n * the navigation elements.\n *\n * @param {object} root The root element for the myoverview block\n */\n var init = function(root) {\n root = $(root);\n registerSelector(root);\n };\n\n return {\n init: init\n };\n});\n"],"names":["define","$","CustomEvents","Repository","View","Selectors","SELECTORS","updatePreferences","filter","value","type","updateUserPreferences","preferences","init","root","Selector","find","events","activate","on","e","data","option","target","hasClass","attr","pref","customfieldvalue","courseView","region","originalEvent","preventDefault","reset","registerSelector"],"mappings":";;;;;;AAsBAA,mCACA,CACI,SACA,iCACA,8BACA,wBACA,+BAEJ,SACIC,EACAC,aACAC,WACAC,KACAC,eAGIC,kBACS,yBADTA,wBAEe,gBAFfA,yBAGgB,wBAShBC,kBAAoB,SAASC,OAAQC,WACjCC,KAAO,KAEPA,KADU,WAAVF,OACO,wCACU,QAAVA,OACA,wCACU,oBAAVA,OACA,6DAEA,4CAGXL,WAAWQ,sBAAsB,CAC7BC,YAAa,CACT,CACIF,KAAMA,KACND,MAAOA,iBA+EhB,CACHI,KANO,SAASC,OA/DG,SAASA,UAExBC,SAAWD,KAAKE,KAAKV,mBAEzBJ,aAAaF,OAAOe,SAAU,CAACb,aAAae,OAAOC,WACnDH,SAASI,GACLjB,aAAae,OAAOC,SACpBZ,yBACA,SAASc,EAAGC,UACJC,OAASrB,EAAEmB,EAAEG,YAEbD,OAAOE,SAAS,eAKhBhB,OAASc,OAAOG,KAAK,eACrBC,KAAOJ,OAAOG,KAAK,aACnBE,iBAAmBL,OAAOG,KAAK,yBAEnCX,KAAKE,KAAKX,UAAUuB,WAAWC,QAAQJ,KAAK,QAAUjB,OAAQc,OAAOG,KAAK,eAC1ElB,kBAAkBC,OAAQkB,MAEtBC,mBACAb,KAAKE,KAAKX,UAAUuB,WAAWC,QAAQJ,KAAK,wBAAyBE,kBACrEpB,kBAAkB,mBAAoBoB,mBAI1CvB,KAAKS,KAAKC,MAEVO,KAAKS,cAAcC,qBAI3B7B,aAAaF,OAAOe,SAAU,CAACb,aAAae,OAAOC,WACnDH,SAASI,GACLjB,aAAae,OAAOC,SACpBZ,0BACA,SAASc,EAAGC,UACJC,OAASrB,EAAEmB,EAAEG,YAEbD,OAAOE,SAAS,eAIhBhB,OAASc,OAAOG,KAAK,uBACrBC,KAAOJ,OAAOG,KAAK,aAEvBX,KAAKE,KAAKX,UAAUuB,WAAWC,QAAQJ,KAAK,eAAgBH,OAAOG,KAAK,eACxElB,kBAAkBC,OAAQkB,MAC1BtB,KAAK4B,MAAMlB,MACXO,KAAKS,cAAcC,qBAa3BE,CADAnB,KAAOb,EAAEa"}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists