X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/lib/amd/src
home
/
cbholdings
/
pasukulu
/
lib
/
amd
/
src
/
π
..
π
adapter.js
(123.08 KB)
π
addblockmodal.js
(4.4 KB)
π
ajax.js
(11.97 KB)
π
aria.js
(1011 B)
π
auto_rows.js
(3.46 KB)
π
autoscroll.js
(6.49 KB)
π
backoff_timer.js
(4.98 KB)
π
chart_axis.js
(7.39 KB)
π
chart_bar.js
(3.08 KB)
π
chart_base.js
(11.36 KB)
π
chart_builder.js
(1.65 KB)
π
chart_line.js
(2.08 KB)
π
chart_output.js
(1.08 KB)
π
chart_output_base.js
(2.03 KB)
π
chart_output_chartjs.js
(10.86 KB)
π
chart_output_htmltable.js
(3.3 KB)
π
chart_pie.js
(3.03 KB)
π
chart_series.js
(8.35 KB)
π
chartjs-lazy.js
(488.32 KB)
π
chartjs.js
(913 B)
π
checkbox-toggleall.js
(12.78 KB)
π
config.js
(1002 B)
π
copy_to_clipboard.js
(7.39 KB)
π
custom_interaction_events.js
(22.18 KB)
π
datafilter
π
datafilter.js
(15.28 KB)
π
dragdrop.js
(12.92 KB)
π
drawer.js
(3.49 KB)
π
drawer_events.js
(967 B)
π
dynamic_tabs.js
(6.68 KB)
π
edit_switch.js
(3.45 KB)
π
emoji
π
event.js
(3.11 KB)
π
event_dispatcher.js
(2.79 KB)
π
first.js
(1.36 KB)
π
form-autocomplete.js
(51.21 KB)
π
form-cohort-selector.js
(2.46 KB)
π
form-course-selector.js
(3.77 KB)
π
fragment.js
(5.03 KB)
π
fullscreen.js
(1.62 KB)
π
icon_system.js
(2.56 KB)
π
icon_system_fontawesome.js
(4.01 KB)
π
icon_system_standard.js
(2.3 KB)
π
inplace_editable.js
(17.25 KB)
π
key_codes.js
(1.34 KB)
π
loadingicon.js
(3.88 KB)
π
local
π
localstorage.js
(2.08 KB)
π
log.js
(1.74 KB)
π
loglevel.js
(10.63 KB)
π
menu_navigation.js
(9.2 KB)
π
modal.js
(31.18 KB)
π
modal_backdrop.js
(4.46 KB)
π
modal_cancel.js
(1.49 KB)
π
modal_copy_to_clipboard.js
(3.82 KB)
π
modal_delete_cancel.js
(2.22 KB)
π
modal_events.js
(1.35 KB)
π
modal_factory.js
(8.97 KB)
π
modal_registry.js
(2.38 KB)
π
modal_save_cancel.js
(2.21 KB)
π
moodlenet
π
moremenu.js
(10.3 KB)
π
mustache.js
(28.75 KB)
π
network.js
(9.66 KB)
π
normalise.js
(1.9 KB)
π
notification.js
(11.8 KB)
π
page_global.js
(5.38 KB)
π
paged_content.js
(2.87 KB)
π
paged_content_events.js
(1.17 KB)
π
paged_content_factory.js
(20.93 KB)
π
paged_content_pages.js
(11.75 KB)
π
paged_content_paging_bar.js
(20.36 KB)
π
paged_content_paging_bar_limit_selector.js
(2.36 KB)
π
paged_content_paging_dropdown.js
(7.36 KB)
π
pending.js
(4.48 KB)
π
permissionmanager.js
(9.77 KB)
π
popover_region_controller.js
(13.04 KB)
π
popper.js
(79.2 KB)
π
prefetch.js
(5.85 KB)
π
process_monitor.js
(3.55 KB)
π
pubsub.js
(2.17 KB)
π
reactive.js
(1.38 KB)
π
scroll_manager.js
(5.5 KB)
π
sessionstorage.js
(2.22 KB)
π
showhidesettings.js
(11.82 KB)
π
sortable_list.js
(29.51 KB)
π
sticky-footer.js
(2.58 KB)
π
storagewrapper.js
(5.21 KB)
π
str.js
(7.84 KB)
π
tag.js
(19.84 KB)
π
templates.js
(51.36 KB)
π
toast.js
(3.32 KB)
π
tooltip.js
(4.09 KB)
π
tree.js
(18.39 KB)
π
truncate.js
(6.56 KB)
π
url.js
(3.65 KB)
π
user_date.js
(9.32 KB)
π
userfeedback.js
(2.91 KB)
π
usermenu.js
(5.13 KB)
π
utility.js
(6.15 KB)
π
utils.js
(2.73 KB)
π
yui.js
(1.13 KB)
Editing: chart_base.js
// 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/>. /** * Chart base. * * @copyright 2016 FrΓ©dΓ©ric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @module core/chart_base */ define(['core/chart_series', 'core/chart_axis'], function(Series, Axis) { /** * Chart base. * * The constructor of a chart must never take any argument. * * {@link module:core/chart_base#_setDefault} to set the defaults on instantiation. * * @class */ function Base() { this._series = []; this._labels = []; this._xaxes = []; this._yaxes = []; this._setDefaults(); } /** * The series constituting this chart. * * @protected * @type {module:core/chart_series[]} */ Base.prototype._series = null; /** * The labels of the X axis when categorised. * * @protected * @type {String[]} */ Base.prototype._labels = null; /** * Options for chart legend display. * * @protected * @type {Object} */ Base.prototype._legendOptions = null; /** * The title of the chart. * * @protected * @type {String} */ Base.prototype._title = null; /** * The X axes. * * @protected * @type {module:core/chart_axis[]} */ Base.prototype._xaxes = null; /** * The Y axes. * * @protected * @type {module:core/chart_axis[]} */ Base.prototype._yaxes = null; /** * Colours to pick from when automatically assigning them. * * @const * @type {String[]} */ Base.prototype.COLORSET = ['#f3c300', '#875692', '#f38400', '#a1caf1', '#be0032', '#c2b280', '#7f180d', '#008856', '#e68fac', '#0067a5']; /** * Set of colours defined by setting $CFG->chart_colorset to be picked when automatically assigning them. * * @type {String[]} * @protected */ Base.prototype._configColorSet = null; /** * The type of chart. * * @abstract * @type {String} * @const */ Base.prototype.TYPE = null; /** * Add a series to the chart. * * This will automatically assign a color to the series if it does not have one. * * @param {module:core/chart_series} series The series to add. */ Base.prototype.addSeries = function(series) { this._validateSeries(series); this._series.push(series); // Give a default color from the set. if (series.getColor() === null) { var configColorSet = this.getConfigColorSet() || Base.prototype.COLORSET; series.setColor(configColorSet[this._series.length % configColorSet.length]); } }; /** * Create a new instance of a chart from serialised data. * * the serialised attributes they offer and support. * * @static * @method create * @param {module:core/chart_base} Klass The class oject representing the type of chart to instantiate. * @param {Object} data The data of the chart. * @return {module:core/chart_base} */ Base.prototype.create = function(Klass, data) { // TODO Not convinced about the usage of Klass here but I can't figure out a way // to have a reference to the class in the sub classes, in PHP I'd do new self(). var Chart = new Klass(); Chart.setConfigColorSet(data.config_colorset); Chart.setLabels(data.labels); Chart.setTitle(data.title); if (data.legend_options) { Chart.setLegendOptions(data.legend_options); } data.series.forEach(function(seriesData) { Chart.addSeries(Series.prototype.create(seriesData)); }); data.axes.x.forEach(function(axisData, i) { Chart.setXAxis(Axis.prototype.create(axisData), i); }); data.axes.y.forEach(function(axisData, i) { Chart.setYAxis(Axis.prototype.create(axisData), i); }); return Chart; }; /** * Get an axis. * * @private * @param {String} xy Accepts the values 'x' or 'y'. * @param {Number} [index=0] The index of the axis of its type. * @param {Bool} [createIfNotExists=false] When true, create an instance if it does not exist. * @return {module:core/chart_axis} */ Base.prototype.__getAxis = function(xy, index, createIfNotExists) { var axes = xy === 'x' ? this._xaxes : this._yaxes, setAxis = (xy === 'x' ? this.setXAxis : this.setYAxis).bind(this), axis; index = typeof index === 'undefined' ? 0 : index; createIfNotExists = typeof createIfNotExists === 'undefined' ? false : createIfNotExists; axis = axes[index]; if (typeof axis === 'undefined') { if (!createIfNotExists) { throw new Error('Unknown axis.'); } axis = new Axis(); setAxis(axis, index); } return axis; }; /** * Get colours defined by setting. * * @return {String[]} */ Base.prototype.getConfigColorSet = function() { return this._configColorSet; }; /** * Get the labels of the X axis. * * @return {String[]} */ Base.prototype.getLabels = function() { return this._labels; }; /** * Get whether to display the chart legend. * * @return {Bool} */ Base.prototype.getLegendOptions = function() { return this._legendOptions; }; /** * Get the series. * * @return {module:core/chart_series[]} */ Base.prototype.getSeries = function() { return this._series; }; /** * Get the title of the chart. * * @return {String} */ Base.prototype.getTitle = function() { return this._title; }; /** * Get the type of chart. * * @see module:core/chart_base#TYPE * @return {String} */ Base.prototype.getType = function() { if (!this.TYPE) { throw new Error('The TYPE property has not been set.'); } return this.TYPE; }; /** * Get the X axes. * * @return {module:core/chart_axis[]} */ Base.prototype.getXAxes = function() { return this._xaxes; }; /** * Get an X axis. * * @param {Number} [index=0] The index of the axis. * @param {Bool} [createIfNotExists=false] Create the instance of it does not exist at index. * @return {module:core/chart_axis} */ Base.prototype.getXAxis = function(index, createIfNotExists) { return this.__getAxis('x', index, createIfNotExists); }; /** * Get the Y axes. * * @return {module:core/chart_axis[]} */ Base.prototype.getYAxes = function() { return this._yaxes; }; /** * Get an Y axis. * * @param {Number} [index=0] The index of the axis. * @param {Bool} [createIfNotExists=false] Create the instance of it does not exist at index. * @return {module:core/chart_axis} */ Base.prototype.getYAxis = function(index, createIfNotExists) { return this.__getAxis('y', index, createIfNotExists); }; /** * Set colours defined by setting. * * @param {String[]} colorset An array of css colours. * @protected */ Base.prototype.setConfigColorSet = function(colorset) { this._configColorSet = colorset; }; /** * Set the defaults for this chart type. * * Child classes can extend this to set defaults values on instantiation. * * emphasize and self-document the defaults values set by the chart type. * * @protected */ Base.prototype._setDefaults = function() { // For the children to extend. }; /** * Set the labels of the X axis. * * This requires for each series to contain strictly as many values as there * are labels. * * @param {String[]} labels The labels. */ Base.prototype.setLabels = function(labels) { if (labels.length && this._series.length && this._series[0].length != labels.length) { throw new Error('Series must match label values.'); } this._labels = labels; }; /** * Set options for chart legend display. * * @param {Object} legendOptions */ Base.prototype.setLegendOptions = function(legendOptions) { if (typeof legendOptions !== 'object') { throw new Error('Setting legend with non-object value:' + legendOptions); } this._legendOptions = legendOptions; }; /** * Set the title of the chart. * * @param {String} title The title. */ Base.prototype.setTitle = function(title) { this._title = title; }; /** * Set an X axis. * * Note that this will override any predefined axis without warning. * * @param {module:core/chart_axis} axis The axis. * @param {Number} [index=0] The index of the axis. */ Base.prototype.setXAxis = function(axis, index) { index = typeof index === 'undefined' ? 0 : index; this._validateAxis('x', axis, index); this._xaxes[index] = axis; }; /** * Set a Y axis. * * Note that this will override any predefined axis without warning. * * @param {module:core/chart_axis} axis The axis. * @param {Number} [index=0] The index of the axis. */ Base.prototype.setYAxis = function(axis, index) { index = typeof index === 'undefined' ? 0 : index; this._validateAxis('y', axis, index); this._yaxes[index] = axis; }; /** * Validate an axis. * * @protected * @param {String} xy X or Y axis. * @param {module:core/chart_axis} axis The axis to validate. * @param {Number} [index=0] The index of the axis. */ Base.prototype._validateAxis = function(xy, axis, index) { index = typeof index === 'undefined' ? 0 : index; if (index > 0) { var axes = xy == 'x' ? this._xaxes : this._yaxes; if (typeof axes[index - 1] === 'undefined') { throw new Error('Missing ' + xy + ' axis at index lower than ' + index); } } }; /** * Validate a series. * * @protected * @param {module:core/chart_series} series The series to validate. */ Base.prototype._validateSeries = function(series) { if (this._series.length && this._series[0].getCount() != series.getCount()) { throw new Error('Series do not have an equal number of values.'); } else if (this._labels.length && this._labels.length != series.getCount()) { throw new Error('Series must match label values.'); } }; return Base; });
Upload File
Create Folder