Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
{"version":3,"file":"comment.min.js","sources":["../src/comment.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 * Column selector js.\n *\n * @module    qbank_comment/comment\n * @copyright 2021 Catalyst IT Australia Pty Ltd\n * @author    Safat Shahin <safatshahin@catalyst-au.net>\n * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport Fragment from 'core/fragment';\nimport {get_string as getString} from 'core/str';\nimport ModalEvents from 'core/modal_events';\nimport SaveCancelModal from 'core/modal_save_cancel';\n\n/**\n * Event listeners for the module.\n *\n * @method clickEvent\n * @param {Number} questionId\n * @param {Number} courseID\n * @param {Number} contextId\n */\nconst commentEvent = async(questionId, courseID, contextId) => {\n    const args = {\n        questionid: questionId,\n        courseid: courseID\n    };\n    const modal = await SaveCancelModal.create({\n        title: getString('commentheader', 'qbank_comment'),\n        body: Fragment.loadFragment('qbank_comment', 'question_comment', contextId, args),\n        large: true,\n        show: true,\n        buttons: {\n            save: getString('addcomment', 'qbank_comment'),\n            cancel: getString('close', 'qbank_comment'),\n        },\n        removeOnClose: true,\n    });\n    const root = modal.getRoot();\n\n    // Don't display the default add comment link in the modal.\n    root.on(ModalEvents.bodyRendered, function() {\n        const submitlink = document.querySelectorAll(\"div.comment-area a\")[0];\n        submitlink.style.display = 'none';\n    });\n\n    // Version selection event.\n    root.on('change', '#question_comment_version_dropdown', (e) =>{\n        args.questionid = e.target.value;\n        modal.setBody(Fragment.loadFragment('qbank_comment', 'question_comment', contextId, args));\n    });\n\n    // Reload the page when the modal is closed.\n    root.on(ModalEvents.hidden, () => location.reload());\n\n    // Handle adding the comment when the button in the modal is clicked.\n    root.on(ModalEvents.save, function(e) {\n        e.preventDefault();\n        const submitlink = document.querySelectorAll(\"div.comment-area a\")[0];\n        const textarea = document.querySelectorAll(\"div.comment-area textarea\")[0];\n\n        // Check there is a valid comment to add, and trigger adding if there is.\n        if (textarea.value != textarea.getAttribute('aria-label') && textarea.value != '') {\n            submitlink.click();\n        }\n\n    });\n};\n\n/**\n * Entrypoint of the js.\n *\n * @method init\n */\nexport const init = () => {\n    const target = document.querySelector('#categoryquestions');\n    if (target !== null) {\n        target.addEventListener('click', (e) => {\n            if (e.target.dataset.target && e.target.dataset.target.includes('questioncommentpreview')) {\n                // Call for the event listener to listed for clicks in any comment count row.\n                commentEvent(e.target.dataset.questionid, e.target.dataset.courseid, e.target.dataset.contextid);\n            }\n        });\n    }\n};\n"],"names":["target","document","querySelector","addEventListener","e","dataset","includes","async","questionId","courseID","contextId","args","questionid","courseid","modal","SaveCancelModal","create","title","body","Fragment","loadFragment","large","show","buttons","save","cancel","removeOnClose","root","getRoot","on","ModalEvents","bodyRendered","querySelectorAll","style","display","value","setBody","hidden","location","reload","preventDefault","submitlink","textarea","getAttribute","click","commentEvent","contextid"],"mappings":";;;;;;;;8PAyFoB,WACVA,OAASC,SAASC,cAAc,sBACvB,OAAXF,QACAA,OAAOG,iBAAiB,SAAUC,IAC1BA,EAAEJ,OAAOK,QAAQL,QAAUI,EAAEJ,OAAOK,QAAQL,OAAOM,SAAS,2BAxDvDC,OAAMC,WAAYC,SAAUC,mBACvCC,KAAO,CACTC,WAAYJ,WACZK,SAAUJ,UAERK,YAAcC,2BAAgBC,OAAO,CACvCC,OAAO,mBAAU,gBAAiB,iBAClCC,KAAMC,kBAASC,aAAa,gBAAiB,mBAAoBV,UAAWC,MAC5EU,OAAO,EACPC,MAAM,EACNC,QAAS,CACLC,MAAM,mBAAU,aAAc,iBAC9BC,QAAQ,mBAAU,QAAS,kBAE/BC,eAAe,IAEbC,KAAOb,MAAMc,UAGnBD,KAAKE,GAAGC,sBAAYC,cAAc,WACX9B,SAAS+B,iBAAiB,sBAAsB,GACxDC,MAAMC,QAAU,UAI/BP,KAAKE,GAAG,SAAU,sCAAuCzB,IACrDO,KAAKC,WAAaR,EAAEJ,OAAOmC,MAC3BrB,MAAMsB,QAAQjB,kBAASC,aAAa,gBAAiB,mBAAoBV,UAAWC,UAIxFgB,KAAKE,GAAGC,sBAAYO,QAAQ,IAAMC,SAASC,WAG3CZ,KAAKE,GAAGC,sBAAYN,MAAM,SAASpB,GAC/BA,EAAEoC,uBACIC,WAAaxC,SAAS+B,iBAAiB,sBAAsB,GAC7DU,SAAWzC,SAAS+B,iBAAiB,6BAA6B,GAGpEU,SAASP,OAASO,SAASC,aAAa,eAAmC,IAAlBD,SAASP,OAClEM,WAAWG,YAiBPC,CAAazC,EAAEJ,OAAOK,QAAQO,WAAYR,EAAEJ,OAAOK,QAAQQ,SAAUT,EAAEJ,OAAOK,QAAQyC"}