Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
{"version":3,"file":"modform.min.js","sources":["../src/modform.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 * Additional javascript for the Workshop module form.\n *\n * @module      mod_workshop/modform\n * @copyright   The Open University 2018\n * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery'], function($) {\n\n    var submissionTypes = {\n        text: {\n            available: null,\n            required: null,\n            requiredHidden: null\n        },\n        file: {\n            available: null,\n            required: null,\n            requiredHidden: null\n        }\n    };\n\n    /**\n     * Determine whether one of the submission types has been marked as not available.\n     *\n     * If it has been marked not available, clear and disable its required checkbox.  Then determine if the other submission\n     * type is available, and if it is, check and disable its required checkbox.\n     *\n     * @param {Object} checkUnavailable\n     * @param {Object} checkAvailable\n     */\n    function checkAvailability(checkUnavailable, checkAvailable) {\n        if (!checkUnavailable.available.prop('checked')) {\n            checkUnavailable.required.prop('disabled', true);\n            checkUnavailable.required.prop('checked', false);\n            if (checkAvailable.available.prop('checked')) {\n                checkAvailable.required.prop('disabled', true);\n                checkAvailable.required.prop('checked', true);\n                // Also set the checkbox's hidden field to 1 so a 'required' value is submitted for the submission type.\n                checkAvailable.requiredHidden.val(1);\n            }\n        }\n    }\n\n    /**\n     * Enable the submission type's required checkbox and uncheck it.\n     *\n     * @param {Object} submissionType\n     */\n    function enableRequired(submissionType) {\n        submissionType.required.prop('disabled', false);\n        submissionType.required.prop('checked', false);\n        submissionType.requiredHidden.val(0);\n    }\n\n    /**\n     * Check which submission types have been marked as available, and disable required checkboxes as necessary.\n     */\n    function submissionTypeChanged() {\n        checkAvailability(submissionTypes.file, submissionTypes.text);\n        checkAvailability(submissionTypes.text, submissionTypes.file);\n        if (submissionTypes.text.available.prop('checked') && submissionTypes.file.available.prop('checked')) {\n            enableRequired(submissionTypes.text);\n            enableRequired(submissionTypes.file);\n        }\n    }\n\n    return /** @alias module:mod_workshop/modform */ {\n        /**\n         * Find all the required fields, set up event listeners, and set the initial state of required checkboxes.\n         */\n        init: function() {\n            submissionTypes.text.available = $('#id_submissiontypetextavailable');\n            submissionTypes.text.required = $('#id_submissiontypetextrequired');\n            submissionTypes.text.requiredHidden = $('input[name=\"submissiontypetextrequired\"][type=\"hidden\"]');\n            submissionTypes.file.available = $('#id_submissiontypefileavailable');\n            submissionTypes.file.required = $('#id_submissiontypefilerequired');\n            submissionTypes.file.requiredHidden = $('input[name=\"submissiontypefilerequired\"][type=\"hidden\"]');\n            submissionTypes.text.available.on('change', submissionTypeChanged);\n            submissionTypes.file.available.on('change', submissionTypeChanged);\n            submissionTypeChanged();\n        }\n    };\n});\n"],"names":["define","$","submissionTypes","text","available","required","requiredHidden","file","checkAvailability","checkUnavailable","checkAvailable","prop","val","enableRequired","submissionType","submissionTypeChanged","init","on"],"mappings":";;;;;;;AAsBAA,8BAAO,CAAC,WAAW,SAASC,OAEpBC,gBAAkB,CAClBC,KAAM,CACFC,UAAW,KACXC,SAAU,KACVC,eAAgB,MAEpBC,KAAM,CACFH,UAAW,KACXC,SAAU,KACVC,eAAgB,gBAafE,kBAAkBC,iBAAkBC,gBACpCD,iBAAiBL,UAAUO,KAAK,aACjCF,iBAAiBJ,SAASM,KAAK,YAAY,GAC3CF,iBAAiBJ,SAASM,KAAK,WAAW,GACtCD,eAAeN,UAAUO,KAAK,aAC9BD,eAAeL,SAASM,KAAK,YAAY,GACzCD,eAAeL,SAASM,KAAK,WAAW,GAExCD,eAAeJ,eAAeM,IAAI,cAUrCC,eAAeC,gBACpBA,eAAeT,SAASM,KAAK,YAAY,GACzCG,eAAeT,SAASM,KAAK,WAAW,GACxCG,eAAeR,eAAeM,IAAI,YAM7BG,wBACLP,kBAAkBN,gBAAgBK,KAAML,gBAAgBC,MACxDK,kBAAkBN,gBAAgBC,KAAMD,gBAAgBK,MACpDL,gBAAgBC,KAAKC,UAAUO,KAAK,YAAcT,gBAAgBK,KAAKH,UAAUO,KAAK,aACtFE,eAAeX,gBAAgBC,MAC/BU,eAAeX,gBAAgBK,aAIU,CAI7CS,KAAM,WACFd,gBAAgBC,KAAKC,UAAYH,EAAE,mCACnCC,gBAAgBC,KAAKE,SAAWJ,EAAE,kCAClCC,gBAAgBC,KAAKG,eAAiBL,EAAE,2DACxCC,gBAAgBK,KAAKH,UAAYH,EAAE,mCACnCC,gBAAgBK,KAAKF,SAAWJ,EAAE,kCAClCC,gBAAgBK,KAAKD,eAAiBL,EAAE,2DACxCC,gBAAgBC,KAAKC,UAAUa,GAAG,SAAUF,uBAC5Cb,gBAAgBK,KAAKH,UAAUa,GAAG,SAAUF,uBAC5CA"}