%PDF- %PDF-
| Direktori : /opt/bitnami/apps/moodle/htdocs.backup/message/amd/build/ |
| Current File : /opt/bitnami/apps/moodle/htdocs.backup/message/amd/build/message_drawer_lazy_load_list.min.js.map |
{"version":3,"sources":["../src/message_drawer_lazy_load_list.js"],"names":["define","$","CustomEvents","SELECTORS","ROOT","LOADING_ICON_CONTAINER","CONTENT_CONTAINER","EMPTY_MESSAGE","PLACEHOLDER","startLoading","root","attr","stopLoading","isLoading","getUserId","getContentContainer","find","showLoadingIcon","removeClass","hideLoadingIcon","addClass","showEmptyMessage","showPlaceholder","hidePlaceholder","showContent","hideContent","hasLoadedAll","setLoadedAll","value","canLoadMore","loadAndRender","loadCallback","renderCallback","userId","then","items","length","contentContainer","catch","initialLoadAndRender","empty","registerEventListeners","events","scrollBottom","on","show","getRoot","containerElement","hideEmptyMessage"],"mappings":"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","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 * Lazy loaded list of items.\n *\n * @module core_message/message_drawer_lazy_load_list\n * @package message\n * @copyright 2018 Ryan Wyllie <ryan@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(\n[\n 'jquery',\n 'core/custom_interaction_events'\n],\nfunction(\n $,\n CustomEvents\n) {\n\n var SELECTORS = {\n ROOT: '[data-region=\"lazy-load-list\"]',\n LOADING_ICON_CONTAINER: '[data-region=\"loading-icon-container\"]',\n CONTENT_CONTAINER: '[data-region=\"content-container\"]',\n EMPTY_MESSAGE: '[data-region=\"empty-message-container\"]',\n PLACEHOLDER: '[data-region=\"placeholder-container\"]'\n };\n\n /**\n * Flag element as loading.\n *\n * @param {Object} root The section container element.\n */\n var startLoading = function(root) {\n root.attr('data-loading', true);\n };\n\n /**\n * Flag element as not loading.\n *\n * @param {Object} root The section container element.\n */\n var stopLoading = function(root) {\n root.attr('data-loading', false);\n };\n\n /**\n * Check if the element is loading.\n *\n * @param {Object} root The section container element.\n * @return {Bool}\n */\n var isLoading = function(root) {\n return root.attr('data-loading') === 'true';\n };\n\n /**\n * Get user id\n *\n * @param {Object} root The section container element.\n * @return {Number} Logged in user id.\n */\n var getUserId = function(root) {\n return root.attr('data-user-id');\n };\n\n /**\n * Get the section content container element.\n *\n * @param {Object} root The section container element.\n * @return {Object} The section content container element.\n */\n var getContentContainer = function(root) {\n return root.find(SELECTORS.CONTENT_CONTAINER);\n };\n\n /**\n * Get the root element.\n *\n * @param {Object} containerElement The container element to search in.\n * @return {Object} The list root element.\n */\n var getRoot = function(containerElement) {\n return containerElement.find(SELECTORS.ROOT);\n };\n\n /**\n * Show the loading icon.\n *\n * @param {Object} root The section container element.\n */\n var showLoadingIcon = function(root) {\n root.find(SELECTORS.LOADING_ICON_CONTAINER).removeClass('hidden');\n };\n\n /**\n * Hide the loading icon.\n *\n * @param {Object} root The section container element.\n */\n var hideLoadingIcon = function(root) {\n root.find(SELECTORS.LOADING_ICON_CONTAINER).addClass('hidden');\n };\n\n /**\n * Show the empty message.\n *\n * @param {Object} root The section container element.\n */\n var showEmptyMessage = function(root) {\n root.find(SELECTORS.EMPTY_MESSAGE).removeClass('hidden');\n };\n\n /**\n * Hide the empty message.\n *\n * @param {Object} root The section container element.\n */\n var hideEmptyMessage = function(root) {\n root.find(SELECTORS.EMPTY_MESSAGE).addClass('hidden');\n };\n\n /**\n * Show the placeholder element.\n *\n * @param {Object} root The section container element.\n */\n var showPlaceholder = function(root) {\n root.find(SELECTORS.PLACEHOLDER).removeClass('hidden');\n };\n\n /**\n * Hide the placeholder element.\n *\n * @param {Object} root The section container element.\n */\n var hidePlaceholder = function(root) {\n root.find(SELECTORS.PLACEHOLDER).addClass('hidden');\n };\n\n /**\n * Show the section content container.\n *\n * @param {Object} root The section container element.\n */\n var showContent = function(root) {\n getContentContainer(root).removeClass('hidden');\n };\n\n /**\n * Hide the section content container.\n *\n * @param {Object} root The section container element.\n */\n var hideContent = function(root) {\n getContentContainer(root).addClass('hidden');\n };\n\n /**\n * If the section has loaded all content.\n *\n * @param {Object} root The section container element.\n * @return {Bool}\n */\n var hasLoadedAll = function(root) {\n return root.attr('data-loaded-all') == 'true';\n };\n\n /**\n * If the section has loaded all content.\n *\n * @param {Object} root The section container element.\n * @param {Bool} value If all items have been loaded.\n */\n var setLoadedAll = function(root, value) {\n root.attr('data-loaded-all', value);\n };\n\n /**\n * If the section can load more items.\n *\n * @param {Object} root The section container element.\n * @return {Bool}\n */\n var canLoadMore = function(root) {\n return !hasLoadedAll(root) && !isLoading(root);\n };\n\n /**\n * Load all items in this container from callback and render them.\n *\n * @param {Object} root The section container element.\n * @param {Function} loadCallback The callback to load items.\n * @param {Function} renderCallback The callback to render the results.\n * @return {Object} jQuery promise\n */\n var loadAndRender = function(root, loadCallback, renderCallback) {\n var userId = getUserId(root);\n startLoading(root);\n\n return loadCallback(root, userId)\n .then(function(items) {\n if (items.length > 0) {\n var contentContainer = getContentContainer(root);\n return renderCallback(contentContainer, items, userId)\n .then(function() {\n return items;\n });\n } else {\n return items;\n }\n })\n .then(function(items) {\n stopLoading(root);\n root.attr('data-seen', true);\n\n if (!items.length) {\n setLoadedAll(root, true);\n }\n\n return items;\n })\n .catch(function() {\n stopLoading(root);\n root.attr('data-seen', true);\n return;\n });\n };\n\n /**\n * First load of this section.\n *\n * @param {Object} root The section container element.\n * @param {Function} loadCallback The callback to load items.\n * @param {Function} renderCallback The callback to render the results.\n * @return {Object} promise\n */\n var initialLoadAndRender = function(root, loadCallback, renderCallback) {\n getContentContainer(root).empty();\n showPlaceholder(root);\n hideContent(root);\n return loadAndRender(root, loadCallback, renderCallback)\n .then(function(items) {\n hidePlaceholder(root);\n\n if (!items.length) {\n showEmptyMessage(root);\n } else {\n showContent(root);\n }\n\n return;\n })\n .catch(function() {\n hidePlaceholder(root);\n showContent(root);\n return;\n });\n };\n\n /**\n * Listen to, and handle events in this section.\n *\n * @param {Object} root The section container element.\n * @param {Function} loadCallback The callback to load items.\n * @param {Function} renderCallback The callback to render the results.\n */\n var registerEventListeners = function(root, loadCallback, renderCallback) {\n CustomEvents.define(root, [\n CustomEvents.events.scrollBottom\n ]);\n\n root.on(CustomEvents.events.scrollBottom, function() {\n if (canLoadMore(root)) {\n showLoadingIcon(root);\n loadAndRender(root, loadCallback, renderCallback)\n .then(function() {\n return hideLoadingIcon(root);\n })\n .catch(function() {\n return hideLoadingIcon(root);\n });\n }\n });\n };\n\n /**\n * Setup the section.\n *\n * @param {Object} root The section container element.\n * @param {Function} loadCallback The callback to load items.\n * @param {Function} renderCallback The callback to render the results.\n */\n var show = function(root, loadCallback, renderCallback) {\n root = $(root);\n\n if (!root.attr('data-init')) {\n registerEventListeners(root, loadCallback, renderCallback);\n initialLoadAndRender(root, loadCallback, renderCallback);\n root.attr('data-init', true);\n }\n };\n\n return {\n show: show,\n getContentContainer: getContentContainer,\n getRoot: getRoot,\n setLoadedAll: setLoadedAll,\n showEmptyMessage: showEmptyMessage,\n hideEmptyMessage: hideEmptyMessage,\n showContent: showContent,\n hideContent: hideContent\n };\n});\n"],"file":"message_drawer_lazy_load_list.min.js"}