Current Path : C:/xampp/htdocs/moodle/admin/tool/templatelibrary/amd/build/ |
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"}