MDL-37012 fix wrong css + add final . to comment lines + do not use attributid parameter (duplicate of hiddeninputid)
This commit is contained in:
@@ -140,7 +140,7 @@ class community_hub_search_form extends moodleform {
|
||||
$smalllogohtml = '';
|
||||
if (array_key_exists('id', $hub)) {
|
||||
|
||||
// Retrieve hub logo + generate small logo
|
||||
// Retrieve hub logo + generate small logo.
|
||||
$params = array('hubid' => $hub['id'],
|
||||
'filetype' => HUB_HUBSCREENSHOT_FILE_TYPE);
|
||||
$imgurl = new moodle_url(HUB_HUBDIRECTORYURL .
|
||||
@@ -194,7 +194,7 @@ class community_hub_search_form extends moodleform {
|
||||
array('class' => '', 'href' => $hub['url']));
|
||||
}
|
||||
|
||||
// Add hub to the hub items
|
||||
// Add hub to the hub items.
|
||||
$hubinfo = new stdClass();
|
||||
$hubinfo->mainhtml = $hubfulldesc;
|
||||
$hubinfo->rowhtml = html_writer::tag('div', $smalllogohtml ,
|
||||
@@ -202,7 +202,7 @@ class community_hub_search_form extends moodleform {
|
||||
$hubitems[$hub['url']] = $hubinfo;
|
||||
}
|
||||
|
||||
// Hub listing form element
|
||||
// Hub listing form element.
|
||||
$mform->addElement('listing','huburl', '', '', array('items' => $hubitems,
|
||||
'showall' => get_string('showall', 'block_community'),
|
||||
'hideall' => get_string('hideall', 'block_community')));
|
||||
@@ -326,4 +326,4 @@ class community_hub_search_form extends moodleform {
|
||||
return $errors;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+11
-13
@@ -15,9 +15,9 @@
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Listing form element
|
||||
* Listing form element.
|
||||
*
|
||||
* Contains HTML class for a listing form element
|
||||
* Contains HTML class for a listing form element.
|
||||
*
|
||||
* @package core_form
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
@@ -27,7 +27,6 @@
|
||||
require_once("HTML/QuickForm/button.php");
|
||||
|
||||
/**
|
||||
* What is it:
|
||||
* The listing element is a simple customizable "select" without the input type=select.
|
||||
* One main div contains the "large" html of an item.
|
||||
* A show/hide div shows a hidden div containing the list of all items.
|
||||
@@ -51,7 +50,7 @@ require_once("HTML/QuickForm/button.php");
|
||||
class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
|
||||
/** @var array items to display */
|
||||
protected $items = array();
|
||||
protected $items = array();
|
||||
|
||||
/** @var string language string for Show All */
|
||||
protected $showall;
|
||||
@@ -60,7 +59,7 @@ class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
protected $hideall;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $elementName (optional) name of the listing
|
||||
* @param string $elementLabel (optional) listing label
|
||||
@@ -90,7 +89,7 @@ class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
/**
|
||||
* Returns HTML for listing form element.
|
||||
*
|
||||
* @return string
|
||||
* @return string the HTML
|
||||
*/
|
||||
function toHtml() {
|
||||
global $CFG, $PAGE;
|
||||
@@ -98,18 +97,18 @@ class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
$mainhtml = html_writer::tag('div', $this->items[$this->getValue()]->mainhtml,
|
||||
array('id' => $this->getName().'_items_main', 'class' => 'formlistingmain'));
|
||||
|
||||
// Add the main div containing the selected item (+ the caption: "More items")
|
||||
// Add the main div containing the selected item (+ the caption: "More items").
|
||||
$html = html_writer::tag('div', $mainhtml .
|
||||
html_writer::tag('div', $this->showall,
|
||||
array('id' => $this->getName().'_items_caption', 'class' => 'formlistingmore')),
|
||||
array('id'=>$this->getName().'_items', 'class' => 'formlisting hide'));
|
||||
|
||||
// Add collapsible region: all the items
|
||||
// Add collapsible region: all the items.
|
||||
$itemrows = '';
|
||||
$html .= html_writer::tag('div', $itemrows,
|
||||
array('id' => $this->getName().'_items_all', 'class' => 'formlistingall'));
|
||||
|
||||
// Add radio buttons for non javascript support
|
||||
// Add radio buttons for non javascript support.
|
||||
$radiobuttons = '';
|
||||
foreach($this->items as $itemid => $item) {
|
||||
$radioparams = array('name' => $this->getName(), 'value' => $itemid,
|
||||
@@ -123,7 +122,7 @@ class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
;
|
||||
}
|
||||
|
||||
// Container for the hidden hidden input which will contain the selected item
|
||||
// Container for the hidden hidden input which will contain the selected item.
|
||||
$html .= html_writer::tag('div', $radiobuttons,
|
||||
array('id' => 'formlistinginputcontainer', 'class' => 'formlistinginputcontainer'));
|
||||
|
||||
@@ -131,16 +130,15 @@ class MoodleQuickForm_listing extends HTML_QuickForm_input {
|
||||
'requires'=>array('node', 'event', 'transition'));
|
||||
|
||||
$PAGE->requires->js_init_call('M.form_listing.init',
|
||||
array(array('hiddeninputid' => $this->getAttribute('id'),
|
||||
array(array(
|
||||
'elementid' => $this->getName().'_items',
|
||||
'hideall' => $this->hideall,
|
||||
'showall' => $this->showall,
|
||||
'hiddeninputid' => $this->getAttribute('id'),
|
||||
'items' => $this->items,
|
||||
'attributid' => $this->getAttribute('id'),
|
||||
'inputname' => $this->getName(),
|
||||
'currentvalue' => $this->getValue())), true, $module);
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+44
-14
@@ -1,37 +1,67 @@
|
||||
// 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/>.
|
||||
|
||||
/**
|
||||
* Form listing Javascript.
|
||||
*
|
||||
* It mainly handles loading the main content div when cliking on a tab/row.
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
M.form_listing = {};
|
||||
M.form_listing.Y = null;
|
||||
M.form_listing.instances = [];
|
||||
|
||||
/**
|
||||
* This fucntion is called for each listing on page.
|
||||
* This function is called for each listing form on page.
|
||||
*
|
||||
* @param {Array} params : {int} hiddeninputid - the id of the hidden input element
|
||||
* {int} elementid - the id of the full form element
|
||||
* {Array} items - items has for key the value return by the form, and for content an array with two attributs: mainhtml and rowhtml.
|
||||
* {string} hideall - button label to hide all tabs(rows).
|
||||
* {string} showall - button label to show all tabs(rows).
|
||||
* {string} inputname - the name of the input element
|
||||
* {string} currentvalue - the currently selected tab(row)
|
||||
*/
|
||||
M.form_listing.init = function(Y, params) {
|
||||
if (params && params.hiddeninputid && params.elementid) {
|
||||
|
||||
// Enable element that were hidden/displau for support of no-javascript
|
||||
// Display the form
|
||||
// Enable element that were hidden/displau for support of no-javascript.
|
||||
// Display the form.
|
||||
Y.one('#'+params.elementid).removeClass('hide');
|
||||
// Replace the radio buttons by a hidden input
|
||||
Y.one('#formlistinginputcontainer').setHTML('<input name='+params.inputname+' type=hidden id='+params.attributid+' value='+params.currentvalue+' />');
|
||||
// Replace the radio buttons by a hidden input.
|
||||
Y.one('#formlistinginputcontainer').setHTML('<input name='+params.inputname+' type=hidden id='+params.hiddeninputid+' value='+params.currentvalue+' />');
|
||||
|
||||
var caption = Y.one('#'+params.elementid+'_caption');
|
||||
var allitems = Y.one('#'+params.elementid+'_all');
|
||||
var selecteditem = Y.one('#'+params.elementid+'_main');
|
||||
var hiddeninput = Y.one('#'+params.hiddeninputid);
|
||||
|
||||
// Do not display the listing by default
|
||||
// Do not display the listing by default.
|
||||
var show = 0;
|
||||
allitems.hide();
|
||||
|
||||
// Refresh the main item + set the hidden input to its value
|
||||
// Refresh the main item + set the hidden input to its value.
|
||||
var selectItem = function(e) {
|
||||
var index = this.get('id').replace(params.elementid+'_all_',"");;
|
||||
hiddeninput.set('value', items[index]);
|
||||
selecteditem.setHTML(params.items[items[index]].mainhtml)
|
||||
}
|
||||
|
||||
// caption Onlick event to display/hide the listing
|
||||
// Caption Onlick event to display/hide the listing.
|
||||
var onClick = function(e) {
|
||||
if (!show) {
|
||||
allitems.show(true);
|
||||
@@ -46,18 +76,18 @@ M.form_listing.init = function(Y, params) {
|
||||
|
||||
caption.on('click', onClick);
|
||||
|
||||
// Fill the item rows with html + add event
|
||||
// PS: we need to save the items into a temporary "items[]" array because params.items keys could be
|
||||
// url. This temporary items[] avoid not working calls like Y.one('#myitems_http:www.google.com').
|
||||
// Fill the item rows with html + add event.
|
||||
// PS: we need to save the items into a temporary "items[]" array because params.items keys could be url.
|
||||
// This temporary items[] avoid not working calls like Y.one('#myitems_http:www.google.com').
|
||||
var items = [];
|
||||
var itemindex = 0;
|
||||
for (itemid in params.items) {
|
||||
items[itemindex] = itemid;
|
||||
|
||||
// Add the row
|
||||
|
||||
// Add the row.
|
||||
allitems.append("<div id="+params.elementid+'_all_'+itemindex+" class='formlistingrow'>" + params.items[itemid].rowhtml + "</div>");
|
||||
|
||||
// Add click event to the row
|
||||
// Add click event to the row.
|
||||
Y.one('#'+params.elementid+'_all_'+itemindex).on('click', selectItem);
|
||||
|
||||
itemindex = itemindex + 1;
|
||||
|
||||
@@ -95,7 +95,7 @@ M.util.CollapsibleRegion = function(Y, id, userpref, strtooltip) {
|
||||
|
||||
// Get the caption for the collapsible region
|
||||
var caption = this.div.one('#'+id + '_caption');
|
||||
console.log('#'+id + '_caption');
|
||||
|
||||
// Create a link
|
||||
var a = Y.Node.create('<a href="#"></a>');
|
||||
a.setAttribute('title', strtooltip);
|
||||
|
||||
@@ -1118,8 +1118,6 @@ table.flexible .r1, table.generaltable .r1 {background-color: #FAFAFA;}
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
/*background-color: #F7F7F9;
|
||||
borde*/r: 1px solid #E1E1E8;
|
||||
}
|
||||
|
||||
.formlistingrow {
|
||||
@@ -1141,4 +1139,4 @@ table.flexible .r1, table.generaltable .r1 {background-color: #FAFAFA;}
|
||||
|
||||
body.jsenabled .formlistingradio {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user