__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
// 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/>.
/**
* A module that enables the setting of form field values on the client side.
*
* @module mod_lti/form-field
* @copyright 2016 Jun Pataleta <jun@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since 3.2
*/
define(['jquery'],
function($) {
/**
* Form field class.
*
* @param {string} name Field name.
* @param {number} type The field type.
* @param {boolean} resetIfUndefined Flag to reset the field to the default value if undefined in the return data.
* @param {string|number|boolean} defaultValue The default value to use for the field.
* @constructor
*/
var FormField = function(name, type, resetIfUndefined, defaultValue) {
this.name = name;
this.id = 'id_' + this.name;
this.selector = '#' + this.id;
this.type = type;
this.resetIfUndefined = resetIfUndefined;
this.defaultValue = defaultValue;
};
/**
* Form field types.
*
* @type {{TEXT: number, SELECT: number, CHECKBOX: number, EDITOR: number}}
*/
FormField.TYPES = {
TEXT: 1,
SELECT: 2,
CHECKBOX: 3,
EDITOR: 4
};
/**
* Sets the values for a form field.
*
* @param {string|boolean|number} value The value to be set into the field.
*/
FormField.prototype.setFieldValue = function(value) {
if (value === null) {
if (this.resetIfUndefined) {
value = this.defaultValue;
} else {
// No need set the field value if value is null and there's no need to reset the field.
return;
}
}
switch (this.type) {
case FormField.TYPES.CHECKBOX:
if (value) {
$(this.selector).prop('checked', true);
} else {
$(this.selector).prop('checked', false);
}
break;
case FormField.TYPES.EDITOR:
if (typeof value.text !== 'undefined') {
/* global tinyMCE:false */
// Set text in editor's editable content, if applicable.
// Check if it is an Atto editor.
var attoEditor = $(this.selector + 'editable');
if (attoEditor.length) {
attoEditor.html(value.text);
} else if (typeof tinyMCE !== 'undefined') {
// If the editor is not Atto, try to fallback to TinyMCE.
if (tinyMCE.majorVersion == "3") {
// Tiny 3.
tinyMCE.execInstanceCommand(this.id, 'mceInsertContent', false, value.text);
} else {
// Tiny 4+.
tinyMCE.get(this.id).setContent(value.text);
}
}
// Set text to actual editor text area.
$(this.selector).val(value.text);
}
break;
default:
$(this.selector).val(value);
break;
}
};
return FormField;
}
);
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| cartridge_registration_form.js | File | 6.5 KB | 0777 |
|
| contentitem.js | File | 10.78 KB | 0777 |
|
| contentitem_return.js | File | 1.57 KB | 0777 |
|
| course_tools_list.js | File | 4.12 KB | 0777 |
|
| coursecategory.js | File | 4.48 KB | 0777 |
|
| events.js | File | 1.54 KB | 0777 |
|
| external_registration.js | File | 21.92 KB | 0777 |
|
| external_registration_return.js | File | 2.05 KB | 0777 |
|
| form-field.js | File | 4.16 KB | 0777 |
|
| keys.js | File | 1.05 KB | 0777 |
|
| mod_form.js | File | 2.99 KB | 0777 |
|
| repository.js | File | 1.39 KB | 0777 |
|
| tool_card_controller.js | File | 22.95 KB | 0777 |
|
| tool_configure_controller.js | File | 16.22 KB | 0777 |
|
| tool_proxy.js | File | 2.88 KB | 0777 |
|
| tool_proxy_card_controller.js | File | 9.09 KB | 0777 |
|
| tool_type.js | File | 4.68 KB | 0777 |
|
| tool_types_and_proxies.js | File | 2.02 KB | 0777 |
|