mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 08:22:07 +02:00
MDL-26167 lib/form: Altering Javascript so that "disabledIf" will disable the "Choose" button for a filepicker
This commit is contained in:
parent
91787c37e1
commit
4b72f9eb78
@ -77,13 +77,14 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input {
|
||||
$args->itemid = $draftitemid;
|
||||
$args->maxbytes = $this->_options['maxbytes'];
|
||||
$args->context = $PAGE->context;
|
||||
$args->buttonname = $elname.'choose';
|
||||
|
||||
$html = $this->_getTabs();
|
||||
$fp = new file_picker($args);
|
||||
$options = $fp->options;
|
||||
$options->context = $PAGE->context;
|
||||
$html .= $OUTPUT->render($fp);
|
||||
$html .= '<input type="hidden" name="'.$elname.'" id="'.$id.'" value="'.$draftitemid.'" />';
|
||||
$html .= '<input type="hidden" name="'.$elname.'" id="'.$id.'" value="'.$draftitemid.'" class="filepickerhidden"/>';
|
||||
|
||||
$module = array('name'=>'form_filepicker', 'fullpath'=>'/lib/form/filepicker.js', 'requires'=>array('core_filepicker'));
|
||||
$PAGE->requires->js_init_call('M.form_filepicker.init', array($fp->options), true, $module);
|
||||
|
@ -198,12 +198,25 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
|
||||
*/
|
||||
_disableElement : function(name, disabled) {
|
||||
var els = this.elementsByName(name);
|
||||
var form = this;
|
||||
els.each(function(){
|
||||
if (disabled) {
|
||||
this.setAttribute('disabled', 'disabled');
|
||||
} else {
|
||||
this.removeAttribute('disabled');
|
||||
}
|
||||
|
||||
// Extra code to disable a filepicker
|
||||
if (this.getAttribute('class') == 'filepickerhidden'){
|
||||
var pickerbuttons = form.elementsByName(name + 'choose');
|
||||
pickerbuttons.each(function(){
|
||||
if (disabled){
|
||||
this.setAttribute('disabled','disabled');
|
||||
} else {
|
||||
this.removeAttribute('disabled');
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
|
@ -57,6 +57,7 @@ class file_picker implements renderable {
|
||||
'itemid' => 0,
|
||||
'maxbytes'=>-1,
|
||||
'maxfiles'=>1,
|
||||
'buttonname'=>false,
|
||||
);
|
||||
foreach ($defaults as $key=>$value) {
|
||||
if (empty($options->$key)) {
|
||||
|
@ -1979,13 +1979,18 @@ class core_renderer extends renderer_base {
|
||||
} else {
|
||||
$maxsize = get_string('maxfilesize', 'moodle', display_size($size));
|
||||
}
|
||||
if ($options->buttonname){
|
||||
$buttonname = ' name="' . $options->buttonname . '"';
|
||||
} else {
|
||||
$buttonname = '';
|
||||
}
|
||||
$html = <<<EOD
|
||||
<div class="filemanager-loading mdl-align" id='filepicker-loading-{$client_id}'>
|
||||
$icon_progress
|
||||
</div>
|
||||
<div id="filepicker-wrapper-{$client_id}" class="mdl-left" style="display:none">
|
||||
<div>
|
||||
<input type="button" id="filepicker-button-{$client_id}" value="{$straddfile}" />
|
||||
<input type="button" id="filepicker-button-{$client_id}" value="{$straddfile}"{$buttonname}/>
|
||||
<span> $maxsize </span>
|
||||
</div>
|
||||
EOD;
|
||||
|
Loading…
x
Reference in New Issue
Block a user