Sindbad~EG File Manager

Current Path : /var/www/html/ceade.tocsa.com.py/lib/amd/build/
Upload File :
Current File : /var/www/html/ceade.tocsa.com.py/lib/amd/build/paged_content_factory.min.js.map

{"version":3,"file":"paged_content_factory.min.js","sources":["../src/paged_content_factory.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 * Factory to create a paged content widget.\n *\n * @module     core/paged_content_factory\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/templates',\n    'core/notification',\n    'core/paged_content',\n    'core/paged_content_events',\n    'core/pubsub',\n    'core/ajax'\n],\nfunction(\n    $,\n    Templates,\n    Notification,\n    PagedContent,\n    PagedContentEvents,\n    PubSub,\n    Ajax\n) {\n    var TEMPLATES = {\n        PAGED_CONTENT: 'core/paged_content'\n    };\n\n    var DEFAULT = {\n        ITEMS_PER_PAGE_SINGLE: 25,\n        ITEMS_PER_PAGE_ARRAY: [25, 50, 100, 0],\n        MAX_PAGES: 3\n    };\n\n    /**\n     * Get the default context to render the paged content mustache\n     * template.\n     *\n     * @return {object}\n     */\n    var getDefaultTemplateContext = function() {\n        return {\n            pagingbar: false,\n            pagingdropdown: false,\n            skipjs: true,\n            ignorecontrolwhileloading: true,\n            controlplacementbottom: false\n        };\n    };\n\n    /**\n     * Get the default context to render the paging bar mustache template.\n     *\n     * @return {object}\n     */\n    var getDefaultPagingBarTemplateContext = function() {\n        return {\n            showitemsperpageselector: false,\n            itemsperpage: 35,\n            previous: true,\n            next: true,\n            activepagenumber: 1,\n            hidecontrolonsinglepage: true,\n            pages: []\n        };\n    };\n\n    /**\n     * Calculate the number of pages required for the given number of items and\n     * how many of each item should appear on a page.\n     *\n     * @param  {Number} numberOfItems How many items in total.\n     * @param  {Number} itemsPerPage  How many items will be shown per page.\n     * @return {Number} The number of pages required.\n     */\n    var calculateNumberOfPages = function(numberOfItems, itemsPerPage) {\n        var numberOfPages = 1;\n\n        if (numberOfItems > 0) {\n            var partial = numberOfItems % itemsPerPage;\n\n            if (partial) {\n                numberOfItems -= partial;\n                numberOfPages = (numberOfItems / itemsPerPage) + 1;\n            } else {\n                numberOfPages = numberOfItems / itemsPerPage;\n            }\n        }\n\n        return numberOfPages;\n    };\n\n    /**\n     * Build the context for the paging bar template when we have a known number\n     * of items.\n     *\n     * @param {Number} numberOfItems How many items in total.\n     * @param {Number} itemsPerPage  How many items will be shown per page.\n     * @return {object} Mustache template\n     */\n    var buildPagingBarTemplateContextKnownLength = function(numberOfItems, itemsPerPage) {\n        if (itemsPerPage === null) {\n            itemsPerPage = DEFAULT.ITEMS_PER_PAGE_SINGLE;\n        }\n\n        if ($.isArray(itemsPerPage)) {\n            // If we're given a total number of pages then we don't support a variable\n            // set of items per page so just use the first one.\n            itemsPerPage = itemsPerPage[0];\n        }\n\n        var context = getDefaultPagingBarTemplateContext();\n        context.itemsperpage = itemsPerPage;\n        var numberOfPages = calculateNumberOfPages(numberOfItems, itemsPerPage);\n\n        for (var i = 1; i <= numberOfPages; i++) {\n            var page = {\n                number: i,\n                page: \"\" + i,\n            };\n\n            // Make the first page active by default.\n            if (i === 1) {\n                page.active = true;\n            }\n\n            context.pages.push(page);\n        }\n\n        context.barsize = 10;\n        return context;\n    };\n\n    /**\n     * Convert the itemsPerPage value into a format applicable for the mustache template.\n     * The given value can be either a single integer or an array of integers / objects.\n     *\n     * E.g.\n     * In: [5, 10]\n     * out: [{value: 5, active: true}, {value: 10, active: false}]\n     *\n     * In: [5, {value: 10, active: true}]\n     * Out: [{value: 5, active: false}, {value: 10, active: true}]\n     *\n     * In: [{value: 5, active: false}, {value: 10, active: true}]\n     * Out: [{value: 5, active: false}, {value: 10, active: true}]\n     *\n     * @param {int|int[]} itemsPerPage Options for number of items per page.\n     * @return {int|array}\n     */\n    var buildItemsPerPagePagingBarContext = function(itemsPerPage) {\n        var context = [];\n\n        if ($.isArray(itemsPerPage)) {\n            // Convert the array into a format accepted by the template.\n            context = itemsPerPage.map(function(num) {\n                if (typeof num === 'number') {\n                    // If the item is just a plain number then convert it into\n                    // an object with value and active keys.\n                    return {\n                        value: num,\n                        active: false\n                    };\n                } else {\n                    // Otherwise we assume the caller has specified things correctly.\n                    return num;\n                }\n            });\n\n            var activeItems = context.filter(function(item) {\n                return item.active;\n            });\n\n            // Default the first item to active if one hasn't been specified.\n            if (!activeItems.length) {\n                context[0].active = true;\n            }\n        } else {\n            // Convert the integer into a format accepted by the template.\n            context = [{value: itemsPerPage, active: true}];\n        }\n\n        return context;\n    };\n\n    /**\n     * Build the context for the paging bar template when we have an unknown\n     * number of items.\n     *\n     * @param {Number} itemsPerPage  How many items will be shown per page.\n     * @return {object} Mustache template\n     */\n    var buildPagingBarTemplateContextUnknownLength = function(itemsPerPage) {\n        if (itemsPerPage === null) {\n            itemsPerPage = DEFAULT.ITEMS_PER_PAGE_ARRAY;\n        }\n\n        var context = getDefaultPagingBarTemplateContext();\n        context.itemsperpage = buildItemsPerPagePagingBarContext(itemsPerPage);\n        // Only display the items per page selector if there is more than one to choose from.\n        context.showitemsperpageselector = $.isArray(itemsPerPage) && itemsPerPage.length > 1;\n\n        return context;\n    };\n\n    /**\n     * Build the context to render the paging bar template with based on the number\n     * of pages to show.\n     *\n     * @param  {int|null} numberOfItems How many items are there total.\n     * @param  {int|null} itemsPerPage  How many items will be shown per page.\n     * @return {object} The template context.\n     */\n    var buildPagingBarTemplateContext = function(numberOfItems, itemsPerPage) {\n        if (numberOfItems) {\n            return buildPagingBarTemplateContextKnownLength(numberOfItems, itemsPerPage);\n        } else {\n            return buildPagingBarTemplateContextUnknownLength(itemsPerPage);\n        }\n    };\n\n    /**\n     * Build the context to render the paging dropdown template based on the number\n     * of pages to show and items per page.\n     *\n     * This control is rendered with a gradual increase of the items per page to\n     * limit the number of pages in the dropdown. Each page will show twice as much\n     * as the previous page (except for the first two pages).\n     *\n     * By default there will only be 4 pages shown (including the \"All\" option) unless\n     * a different number of pages is defined using the maxPages config value.\n     *\n     * For example:\n     * Items per page = 25\n     * Would render a dropdown will 4 options:\n     * 25\n     * 50\n     * 100\n     * All\n     *\n     * @param  {Number} itemsPerPage  How many items will be shown per page.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {object} The template context.\n     */\n    var buildPagingDropdownTemplateContext = function(itemsPerPage, config) {\n        if (itemsPerPage === null) {\n            itemsPerPage = DEFAULT.ITEMS_PER_PAGE_SINGLE;\n        }\n\n        if ($.isArray(itemsPerPage)) {\n            // If we're given an array for the items per page, rather than a number,\n            // then just use that as the options for the dropdown.\n            return {\n                options: itemsPerPage\n            };\n        }\n\n        var context = {\n            options: []\n        };\n\n        var totalItems = 0;\n        var lastIncrease = 0;\n        var maxPages = DEFAULT.MAX_PAGES;\n\n        if (config.hasOwnProperty('maxPages')) {\n            maxPages = config.maxPages;\n        }\n\n        for (var i = 1; i <= maxPages; i++) {\n            var itemCount = 0;\n\n            if (i <= 2) {\n                itemCount = itemsPerPage;\n                lastIncrease = itemsPerPage;\n            } else {\n                lastIncrease = lastIncrease * 2;\n                itemCount = lastIncrease;\n            }\n\n            totalItems += itemCount;\n            var option = {\n                itemcount: itemCount,\n                content: totalItems\n            };\n\n            // Make the first option active by default.\n            if (i === 1) {\n                option.active = true;\n            }\n\n            context.options.push(option);\n        }\n\n        return context;\n    };\n\n    /**\n     * Build the context to render the paged content template with based on the number\n     * of pages to show, items per page, and configuration option.\n     *\n     * By default the code will render a paging bar for the paging controls unless\n     * otherwise specified in the provided config.\n     *\n     * @param  {int|null} numberOfItems Total number of items.\n     * @param  {int|null|array} itemsPerPage  How many items will be shown per page.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {object} The template context.\n     */\n    var buildTemplateContext = function(numberOfItems, itemsPerPage, config) {\n        var context = getDefaultTemplateContext();\n\n        if (config.hasOwnProperty('ignoreControlWhileLoading')) {\n            context.ignorecontrolwhileloading = config.ignoreControlWhileLoading;\n        }\n\n        if (config.hasOwnProperty('controlPlacementBottom')) {\n            context.controlplacementbottom = config.controlPlacementBottom;\n        }\n\n        if (config.hasOwnProperty('hideControlOnSinglePage')) {\n            context.hidecontrolonsinglepage = config.hideControlOnSinglePage;\n        }\n\n        if (config.hasOwnProperty('ariaLabels')) {\n            context.arialabels = config.ariaLabels;\n        }\n\n        if (config.hasOwnProperty('dropdown') && config.dropdown) {\n            context.pagingdropdown = buildPagingDropdownTemplateContext(itemsPerPage, config);\n        } else {\n            context.pagingbar = buildPagingBarTemplateContext(numberOfItems, itemsPerPage);\n        }\n\n        return context;\n    };\n\n    /**\n     * Create a paged content widget where the complete list of items is not loaded\n     * up front but will instead be loaded by an ajax request (or similar).\n     *\n     * The client code must provide a callback function which loads and renders the\n     * items for each page. See PagedContent.init for more details.\n     *\n     * The function will return a deferred that is resolved with a jQuery object\n     * for the HTML content and a string for the JavaScript.\n     *\n     * The current list of configuration options available are:\n     *      dropdown {bool} True to render the page control as a dropdown (paging bar is default).\n     *      maxPages {Number} The maximum number of pages to show in the dropdown (only works with dropdown option)\n     *      ignoreControlWhileLoading {bool} Disable the pagination controls while loading a page (default to true)\n     *      controlPlacementBottom {bool} Render controls under paged content (default to false)\n     *\n     * @param  {function} renderPagesContentCallback  Callback for loading and rendering the items.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {promise} Resolved with jQuery HTML and string JS.\n     */\n    var create = function(renderPagesContentCallback, config) {\n        return createWithTotalAndLimit(null, null, renderPagesContentCallback, config);\n    };\n\n    /**\n     * Create a paged content widget where the complete list of items is not loaded\n     * up front but will instead be loaded by an ajax request (or similar).\n     *\n     * The client code must provide a callback function which loads and renders the\n     * items for each page. See PagedContent.init for more details.\n     *\n     * The function will return a deferred that is resolved with a jQuery object\n     * for the HTML content and a string for the JavaScript.\n     *\n     * The current list of configuration options available are:\n     *      dropdown {bool} True to render the page control as a dropdown (paging bar is default).\n     *      maxPages {Number} The maximum number of pages to show in the dropdown (only works with dropdown option)\n     *      ignoreControlWhileLoading {bool} Disable the pagination controls while loading a page (default to true)\n     *      controlPlacementBottom {bool} Render controls under paged content (default to false)\n     *\n     * @param  {int|array|null} itemsPerPage  How many items will be shown per page.\n     * @param  {function} renderPagesContentCallback  Callback for loading and rendering the items.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {promise} Resolved with jQuery HTML and string JS.\n     */\n    var createWithLimit = function(itemsPerPage, renderPagesContentCallback, config) {\n        return createWithTotalAndLimit(null, itemsPerPage, renderPagesContentCallback, config);\n    };\n\n    /**\n     * Create a paged content widget where the complete list of items is not loaded\n     * up front but will instead be loaded by an ajax request (or similar).\n     *\n     * The client code must provide a callback function which loads and renders the\n     * items for each page. See PagedContent.init for more details.\n     *\n     * The function will return a deferred that is resolved with a jQuery object\n     * for the HTML content and a string for the JavaScript.\n     *\n     * The current list of configuration options available are:\n     *      dropdown {bool} True to render the page control as a dropdown (paging bar is default).\n     *      maxPages {Number} The maximum number of pages to show in the dropdown (only works with dropdown option)\n     *      ignoreControlWhileLoading {bool} Disable the pagination controls while loading a page (default to true)\n     *      controlPlacementBottom {bool} Render controls under paged content (default to false)\n     *\n     * @param  {int|null} numberOfItems How many items are there in total.\n     * @param  {int|array|null} itemsPerPage  How many items will be shown per page.\n     * @param  {function} renderPagesContentCallback  Callback for loading and rendering the items.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {promise} Resolved with jQuery HTML and string JS.\n     */\n    var createWithTotalAndLimit = function(numberOfItems, itemsPerPage, renderPagesContentCallback, config) {\n        config = config || {};\n\n        var deferred = $.Deferred();\n        var templateContext = buildTemplateContext(numberOfItems, itemsPerPage, config);\n\n        Templates.render(TEMPLATES.PAGED_CONTENT, templateContext)\n            .then(function(html, js) {\n                html = $(html);\n                var id = html.attr('id');\n\n                // Set the id to the custom namespace provided\n                if (config.hasOwnProperty('eventNamespace')) {\n                    id = config.eventNamespace;\n                }\n\n                var container = html;\n\n                PagedContent.init(container, renderPagesContentCallback, id);\n\n                registerEvents(id, config);\n\n                deferred.resolve(html, js);\n                return;\n            })\n            .fail(function(exception) {\n                deferred.reject(exception);\n            })\n            .fail(Notification.exception);\n\n        return deferred.promise();\n    };\n\n    /**\n     * Create a paged content widget where the complete list of items is loaded\n     * up front.\n     *\n     * The client code must provide a callback function which renders the\n     * items for each page. The callback will be provided with an array where each\n     * value in the array is a the list of items to render for the page.\n     *\n     * The function will return a deferred that is resolved with a jQuery object\n     * for the HTML content and a string for the JavaScript.\n     *\n     * The current list of configuration options available are:\n     *      dropdown {bool} True to render the page control as a dropdown (paging bar is default).\n     *      maxPages {Number} The maximum number of pages to show in the dropdown (only works with dropdown option)\n     *      ignoreControlWhileLoading {bool} Disable the pagination controls while loading a page (default to true)\n     *      controlPlacementBottom {bool} Render controls under paged content (default to false)\n     *\n     * @param  {array} contentItems The list of items to paginate.\n     * @param  {Number} itemsPerPage  How many items will be shown per page.\n     * @param  {function} renderContentCallback  Callback for rendering the items for the page.\n     * @param  {object} config  Configuration options provided by the client.\n     * @return {promise} Resolved with jQuery HTML and string JS.\n     */\n    var createFromStaticList = function(contentItems, itemsPerPage, renderContentCallback, config) {\n        if (typeof config == 'undefined') {\n            config = {};\n        }\n\n        var numberOfItems = contentItems.length;\n        return createWithTotalAndLimit(numberOfItems, itemsPerPage, function(pagesData) {\n            var contentToRender = [];\n            pagesData.forEach(function(pageData) {\n                var begin = pageData.offset;\n                var end = pageData.limit ? begin + pageData.limit : numberOfItems;\n                var items = contentItems.slice(begin, end);\n                contentToRender.push(items);\n            });\n\n            return renderContentCallback(contentToRender);\n        }, config);\n    };\n\n    /**\n     * Reset the last page number for the generated paged-content\n     * This is used when we need a way to update the last page number outside of the getters callback\n     *\n     * @param {String} id ID of the paged content container\n     * @param {Int} lastPageNumber The last page number\n     */\n    var resetLastPageNumber = function(id, lastPageNumber) {\n        PubSub.publish(id + PagedContentEvents.ALL_ITEMS_LOADED, lastPageNumber);\n    };\n\n    /**\n     * Generate the callback handler for the page limit persistence functionality\n     *\n     * @param {String} persistentLimitKey\n     * @return {callback}\n     */\n    var generateLimitHandler = function(persistentLimitKey) {\n        var callback = function(limit) {\n            var args = {\n                preferences: [\n                    {\n                        type: persistentLimitKey,\n                        value: limit\n                    }\n                ]\n            };\n\n            var request = {\n                methodname: 'core_user_update_user_preferences',\n                args: args\n            };\n\n            Ajax.call([request]);\n        };\n\n        return callback;\n    };\n\n    /**\n     * Set up any events based on config key values\n     *\n     * @param {string} namespace The namespace for this component\n     * @param {object} config Config options passed to the factory\n     */\n    var registerEvents = function(namespace, config) {\n        if (config.hasOwnProperty('persistentLimitKey')) {\n            PubSub.subscribe(namespace + PagedContentEvents.SET_ITEMS_PER_PAGE_LIMIT,\n                generateLimitHandler(config.persistentLimitKey));\n        }\n    };\n\n    return {\n        create: create,\n        createWithLimit: createWithLimit,\n        createWithTotalAndLimit: createWithTotalAndLimit,\n        createFromStaticList: createFromStaticList,\n        // Backwards compatibility just in case anyone was using this.\n        createFromAjax: createWithTotalAndLimit,\n        resetLastPageNumber: resetLastPageNumber\n    };\n});\n"],"names":["define","$","Templates","Notification","PagedContent","PagedContentEvents","PubSub","Ajax","TEMPLATES","DEFAULT","buildPagingBarTemplateContextUnknownLength","itemsPerPage","context","showitemsperpageselector","itemsperpage","previous","next","activepagenumber","hidecontrolonsinglepage","pages","isArray","map","num","value","active","filter","item","length","buildItemsPerPagePagingBarContext","buildPagingBarTemplateContext","numberOfItems","numberOfPages","partial","calculateNumberOfPages","i","page","number","push","barsize","buildPagingBarTemplateContextKnownLength","buildTemplateContext","config","pagingbar","pagingdropdown","skipjs","ignorecontrolwhileloading","controlplacementbottom","hasOwnProperty","ignoreControlWhileLoading","controlPlacementBottom","hideControlOnSinglePage","arialabels","ariaLabels","dropdown","options","totalItems","lastIncrease","maxPages","itemCount","option","itemcount","content","buildPagingDropdownTemplateContext","createWithTotalAndLimit","renderPagesContentCallback","deferred","Deferred","templateContext","render","then","html","js","id","attr","eventNamespace","container","init","registerEvents","resolve","fail","exception","reject","promise","namespace","persistentLimitKey","subscribe","SET_ITEMS_PER_PAGE_LIMIT","limit","request","methodname","args","preferences","type","call","create","createWithLimit","createFromStaticList","contentItems","renderContentCallback","pagesData","contentToRender","forEach","pageData","begin","offset","end","items","slice","createFromAjax","resetLastPageNumber","lastPageNumber","publish","ALL_ITEMS_LOADED"],"mappings":"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"}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists