Sindbad~EG File Manager
{"version":3,"file":"view_dates.min.js","sources":["../src/view_dates.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 dates view for the timeline block.\n *\n * @copyright 2018 Ryan Wyllie <ryan@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(\n[\n 'jquery',\n 'core/str',\n 'block_timeline/event_list',\n 'core/pubsub',\n 'core/paged_content_events'\n],\nfunction(\n $,\n Str,\n EventList,\n PubSub,\n PagedContentEvents\n) {\n\n var SELECTORS = {\n EVENT_LIST_CONTAINER: '[data-region=\"event-list-container\"]',\n };\n\n var DEFAULT_PAGE_LIMIT = [5, 10, 25];\n\n /**\n * Generate a paged content array of limits taking into account user preferences\n *\n * @param {object} root The root element for the timeline dates view.\n * @return {array} Array of limit objects\n */\n var getPagingLimits = function(root) {\n var limitPref = parseInt(root.data('limit'), 10);\n var isDefaultSet = false;\n var limits = DEFAULT_PAGE_LIMIT.map(function(value) {\n if (limitPref == value) {\n isDefaultSet = true;\n }\n\n return {\n value: value,\n active: limitPref == value\n };\n });\n\n if (!isDefaultSet) {\n limits[0].active = true;\n }\n\n return limits;\n };\n\n /**\n * Setup the listeners for the timeline block\n *\n * @param {string} root view dates container\n * @param {string} namespace The namespace for the paged content\n */\n var registerEventListeners = function(root, namespace) {\n var event = namespace + PagedContentEvents.SET_ITEMS_PER_PAGE_LIMIT;\n PubSub.subscribe(event, function(limit) {\n $(root).data('limit', limit);\n });\n };\n\n /**\n * Initialise the event list and being loading the events.\n *\n * @param {object} root The root element for the timeline dates view.\n */\n var load = function(root) {\n var eventListContainer = root.find(SELECTORS.EVENT_LIST_CONTAINER);\n var namespace = $(eventListContainer).attr('id') + \"user_block_timeline\" + Math.random();\n registerEventListeners(root, namespace);\n\n var limits = getPagingLimits(root);\n var config = {\n persistentLimitKey: \"block_timeline_user_limit_preference\",\n eventNamespace: namespace\n };\n Str.get_string('ariaeventlistpaginationnavdates', 'block_timeline')\n .then(function(string) {\n EventList.init(eventListContainer, limits, {}, string, config);\n return string;\n })\n .catch(function() {\n // Ignore if we can't load the string. Still init the event list.\n EventList.init(eventListContainer, limits, {}, \"\", config);\n });\n };\n\n /**\n * Initialise the timeline dates view. Begin loading the events\n * if this view is active.\n *\n * @param {object} root The root element for the timeline courses view.\n */\n var init = function(root) {\n root = $(root);\n if (root.hasClass('active')) {\n load(root);\n root.attr('data-seen', true);\n }\n };\n\n /**\n * Reset the view back to it's initial state. If this view is active then\n * beging loading the events.\n *\n * @param {object} root The root element for the timeline courses view.\n */\n var reset = function(root) {\n root.removeAttr('data-seen');\n if (root.hasClass('active')) {\n load(root);\n root.attr('data-seen', true);\n }\n };\n\n /**\n * Load the events if this is the first time the view is displayed.\n *\n * @param {object} root The root element for the timeline courses view.\n */\n var shown = function(root) {\n if (!root.attr('data-seen')) {\n load(root);\n root.attr('data-seen', true);\n }\n };\n\n return {\n init: init,\n reset: reset,\n shown: shown\n };\n});\n"],"names":["define","$","Str","EventList","PubSub","PagedContentEvents","SELECTORS","DEFAULT_PAGE_LIMIT","load","root","eventListContainer","find","namespace","attr","Math","random","event","SET_ITEMS_PER_PAGE_LIMIT","subscribe","limit","data","registerEventListeners","limits","limitPref","parseInt","isDefaultSet","map","value","active","getPagingLimits","config","persistentLimitKey","eventNamespace","get_string","then","string","init","catch","hasClass","reset","removeAttr","shown"],"mappings":";;;;;;AAsBAA,mCACA,CACI,SACA,WACA,4BACA,cACA,8BAEJ,SACIC,EACAC,IACAC,UACAC,OACAC,wBAGIC,+BACsB,uCAGtBC,mBAAqB,CAAC,EAAG,GAAI,IA+C7BC,KAAO,SAASC,UACZC,mBAAqBD,KAAKE,KAAKL,gCAC/BM,UAAYX,EAAES,oBAAoBG,KAAK,MAAQ,sBAAwBC,KAAKC,UAdvD,SAASN,KAAMG,eACpCI,MAAQJ,UAAYP,mBAAmBY,yBAC3Cb,OAAOc,UAAUF,OAAO,SAASG,OAC7BlB,EAAEQ,MAAMW,KAAK,QAASD,UAY1BE,CAAuBZ,KAAMG,eAEzBU,OA5Cc,SAASb,UACvBc,UAAYC,SAASf,KAAKW,KAAK,SAAU,IACzCK,cAAe,EACfH,OAASf,mBAAmBmB,KAAI,SAASC,cACrCJ,WAAaI,QACbF,cAAe,GAGZ,CACHE,MAAOA,MACPC,OAAQL,WAAaI,iBAIxBF,eACDH,OAAO,GAAGM,QAAS,GAGhBN,OA0BMO,CAAgBpB,MACzBqB,OAAS,CACTC,mBAAoB,uCACpBC,eAAgBpB,WAEpBV,IAAI+B,WAAW,kCAAmC,kBAC7CC,MAAK,SAASC,eACXhC,UAAUiC,KAAK1B,mBAAoBY,OAAQ,GAAIa,OAAQL,QAChDK,UAEVE,OAAM,WAEHlC,UAAUiC,KAAK1B,mBAAoBY,OAAQ,GAAI,GAAIQ,kBA4CxD,CACHM,KAnCO,SAAS3B,OAChBA,KAAOR,EAAEQ,OACA6B,SAAS,YACd9B,KAAKC,MACLA,KAAKI,KAAK,aAAa,KAgC3B0B,MAtBQ,SAAS9B,MACjBA,KAAK+B,WAAW,aACZ/B,KAAK6B,SAAS,YACd9B,KAAKC,MACLA,KAAKI,KAAK,aAAa,KAmB3B4B,MAVQ,SAAShC,MACZA,KAAKI,KAAK,eACXL,KAAKC,MACLA,KAAKI,KAAK,aAAa"}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists