Your IP : 192.168.165.1


Current Path : C:/xampp/htdocs/moodle/admin/tool/templatelibrary/amd/build/
Upload File :
Current File : C:/xampp/htdocs/moodle/admin/tool/templatelibrary/amd/build/display.min.js.map

{"version":3,"sources":["../src/display.js"],"names":["define","$","ajax","log","notification","templates","config","str","findDocsSection","templateSource","templateName","marker","i","sections","match","length","section","start","indexOf","offset","substr","templateLoaded","source","originalSource","get_string","done","s","text","fail","exception","docs","example","context","rawJSON","trim","parseJSON","e","debug","render","html","js","replaceNodeContents","loadTemplate","parts","split","component","shift","name","join","promises","call","methodname","args","template","themename","theme","includecomments","when","apply","on","templatename","data","preventDefault"],"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 * This module adds ajax display functions to the template library page.\n *\n * @module     tool_templatelibrary/display\n * @package    tool_templatelibrary\n * @copyright  2015 Damyon Wiese <damyon@moodle.com>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/ajax', 'core/log', 'core/notification', 'core/templates', 'core/config', 'core/str'],\n       function($, ajax, log, notification, templates, config, str) {\n\n    /**\n     * Search through a template for a template docs comment.\n     *\n     * @param {String} templateSource The raw template\n     * @param {String} templateName The name of the template used to search for docs tag\n     * @return {String|boolean} the correct comment or false\n     */\n    var findDocsSection = function(templateSource, templateName) {\n\n        if (!templateSource) {\n            return false;\n        }\n        // Find the comment section marked with @template component/template.\n        var marker = \"@template \" + templateName,\n            i = 0,\n            sections = [];\n\n        sections = templateSource.match(/{{!([\\s\\S]*?)}}/g);\n\n        // If no sections match - show the entire file.\n        if (sections !== null) {\n            for (i = 0; i < sections.length; i++) {\n                var section = sections[i];\n                var start = section.indexOf(marker);\n                if (start !== -1) {\n                    // Remove {{! and }} from start and end.\n                    var offset = start + marker.length + 1;\n                    section = section.substr(offset, section.length - 2 - offset);\n                    return section;\n                }\n            }\n        }\n        // No matching comment.\n        return false;\n    };\n\n    /**\n     * Handle a template loaded response.\n     *\n     * @param {String} templateName The template name\n     * @param {String} source The template source\n     * @param {String} originalSource The original template source (not theme overridden)\n     */\n    var templateLoaded = function(templateName, source, originalSource) {\n        str.get_string('templateselected', 'tool_templatelibrary', templateName).done(function(s) {\n            $('[data-region=\"displaytemplateheader\"]').text(s);\n        }).fail(notification.exception);\n\n        // Find the comment section marked with @template component/template.\n        var docs = findDocsSection(source, templateName);\n\n        if (docs === false) {\n            // Docs was not in theme template, try original.\n            docs = findDocsSection(originalSource, templateName);\n        }\n\n        // If we found a docs section, limit the template library to showing this section.\n        if (docs) {\n            source = docs;\n        }\n\n        $('[data-region=\"displaytemplatesource\"]').text(source);\n\n        // Now search the text for a json example.\n\n        var example = source.match(/Example context \\(json\\):([\\s\\S]*)/);\n        var context = false;\n        if (example) {\n            var rawJSON = example[1].trim();\n            try {\n                context = $.parseJSON(rawJSON);\n            } catch (e) {\n                log.debug('Could not parse json example context for template.');\n                log.debug(e);\n            }\n        }\n        if (context) {\n            templates.render(templateName, context).done(function(html, js) {\n                templates.replaceNodeContents($('[data-region=\"displaytemplateexample\"]'), html, js);\n            }).fail(notification.exception);\n        } else {\n            str.get_string('templatehasnoexample', 'tool_templatelibrary').done(function(s) {\n                $('[data-region=\"displaytemplateexample\"]').text(s);\n            }).fail(notification.exception);\n        }\n    };\n\n    /**\n     * Load the a template source from Moodle.\n     *\n     * @param {String} templateName\n     */\n    var loadTemplate = function(templateName) {\n        var parts = templateName.split('/');\n        var component = parts.shift();\n        var name = parts.join('/');\n\n        var promises = ajax.call([{\n            methodname: 'core_output_load_template',\n            args: {\n                    component: component,\n                    template: name,\n                    themename: config.theme,\n                    includecomments: true\n            }\n        }, {\n            methodname: 'tool_templatelibrary_load_canonical_template',\n            args: {\n                    component: component,\n                    template: name\n            }\n        }], true, false);\n\n        // When returns a new promise that is resolved when all the passed in promises are resolved.\n        // The arguments to the done become the values of each resolved promise.\n        $.when.apply($, promises)\n            .done(function(source, originalSource) {\n              templateLoaded(templateName, source, originalSource);\n            })\n            .fail(notification.exception);\n    };\n\n    // Add the event listeners.\n    $('[data-region=\"list-templates\"]').on('click', '[data-templatename]', function(e) {\n        var templatename = $(this).data('templatename');\n        e.preventDefault();\n        loadTemplate(templatename);\n    });\n\n    // This module does not expose anything.\n    return {};\n});\n"],"file":"display.min.js"}