Current Path : /home/ncdcgo/ele.ncdc.go.ug/question/templates/ |
Current File : /home/ncdcgo/ele.ncdc.go.ug/question/templates/tag_condition.mustache |
{{! 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/>. }} {{! @template core_question/tag_condition An auto-complete select box containing a list of available tags to filter the quesiton bank questions by. Classes required for JS: * none Data attributes required for JS: * none Context variables required for this template: * tagoptions A list of available tags Example context (json): { "tagoptions": [ { "id": 1, "name": "foo", "selected": true }, { "id": 2, "name": "bar", "selected": false } ] } }} <div class="tag-condition-container" data-region="tag-condition-container-{{uniqid}}"> <div class="form-group"> <select multiple name="qtagids[]" class="form-control invisible" size="3" data-region="tag-select"> {{#tagoptions}} <option {{#selected}}selected{{/selected}} value="{{id}}">{{name}}</option> {{/tagoptions}} </select> {{< core/overlay_loading }} {{$hiddenclass}}{{/hiddenclass}} {{/ core/overlay_loading }} </div> </div> {{#js}} require( [ 'jquery', 'core/form-autocomplete' ], function( $, AutoComplete ) { var root = $('[data-region="tag-condition-container-{{uniqid}}"]'); var selectElement = root.find('[data-region="tag-select"]'); var loadingContainer = root.find('[data-region="overlay-icon-container"]'); var placeholderText = {{#quote}}{{#str}} filterbytags, core_question {{/str}}{{/quote}}; var noSelectionText = {{#quote}}{{#str}} notagfiltersapplied, core_question {{/str}}{{/quote}}; AutoComplete.enhance( selectElement, // Element to enhance. false, // Don't allow support for creating new tags. false, // Don't allow AMD module to handle loading new tags. placeholderText, // Placeholder text. false, // Make search case insensitive. true, // Show suggestions for tags. noSelectionText // Text when no tags are selected. ).always(function() { // Hide the loading icon once the autocomplete has initialised. loadingContainer.addClass('hidden'); }); // We need to trigger a form submission because of how the question bank // page handles reloading the questions when an option changes. selectElement.on('change', function() { selectElement.closest('form').submit(); }); }); {{/js}}