Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
{"version":3,"file":"filtercontent.min.js","sources":["../src/filtercontent.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 * Tiny H5P Content configuration.\n *\n * @module      tiny_h5p/filtercontent\n * @copyright   2022 Andrew Lyons <andrew@nicols.co.uk>\n * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport {registerPlaceholderSelectors} from 'editor_tiny/options';\n\nexport const setup = async(editor) => {\n    const className = 'h5p-placeholder';\n    const classSelector = `.${className}`;\n    // Register the H5P Formatter to the placeholder selector list.\n    registerPlaceholderSelectors(editor, [classSelector]);\n    // Register the H5P Formatter for use in all buttons.\n    editor.on('PreInit', () => {\n        editor.formatter.register('h5p', {\n            inline: 'div',\n            classes: className,\n        });\n    });\n\n    editor.on('SetContent', () => {\n        // Listen to the SetContent event on the editor and update any h5p-placeholder to not be editable.\n        // Doing this means that the inner content of the placeholder cannot be changed without using the dialogue.\n        // The SetContent event is called whenever content is changed by actions such as initial load, paste, undo, etc.\n        editor.getBody().querySelectorAll(`${classSelector}:not([contenteditable])`).forEach((node) => {\n            node.contentEditable = false;\n        });\n    });\n};\n"],"names":["async","classSelector","editor","on","formatter","register","inline","classes","getBody","querySelectorAll","forEach","node","contentEditable"],"mappings":"4LAyBqBA,MAAAA,eAEXC,yBADY,6DAGWC,OAAQ,CAACD,gBAEtCC,OAAOC,GAAG,WAAW,KACjBD,OAAOE,UAAUC,SAAS,MAAO,CAC7BC,OAAQ,MACRC,QARU,uBAYlBL,OAAOC,GAAG,cAAc,KAIpBD,OAAOM,UAAUC,2BAAoBR,0CAAwCS,SAASC,OAClFA,KAAKC,iBAAkB"}