Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.51
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle.backup.39 /
lib /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
adapter.js
195.35
KB
-rw-rw-r--
addblockmodal.js
2.56
KB
-rw-rw-r--
ajax.js
7.69
KB
-rw-rw-r--
auto_rows.js
3.35
KB
-rw-rw-r--
backoff_timer.js
5.12
KB
-rw-rw-r--
chart_axis.js
7.43
KB
-rw-rw-r--
chart_bar.js
3.13
KB
-rw-rw-r--
chart_base.js
10.63
KB
-rw-rw-r--
chart_builder.js
1.67
KB
-rw-rw-r--
chart_line.js
2.13
KB
-rw-rw-r--
chart_output.js
1.1
KB
-rw-rw-r--
chart_output_base.js
2.09
KB
-rw-rw-r--
chart_output_chartjs.js
10.79
KB
-rw-rw-r--
chart_output_htmltable.js
3.36
KB
-rw-rw-r--
chart_pie.js
3.09
KB
-rw-rw-r--
chart_series.js
7.88
KB
-rw-rw-r--
chartjs-lazy.js
670.93
KB
-rw-rw-r--
chartjs.js
933
B
-rw-rw-r--
config.js
1.05
KB
-rw-rw-r--
custom_interaction_events.js
16.56
KB
-rw-rw-r--
event.js
3.03
KB
-rw-rw-r--
first.js
1.38
KB
-rw-rw-r--
form-autocomplete.js
40.7
KB
-rw-rw-r--
form-cohort-selector.js
2.56
KB
-rw-rw-r--
form-course-selector.js
3.75
KB
-rw-rw-r--
fragment.js
4.72
KB
-rw-rw-r--
icon_system.js
2.52
KB
-rw-rw-r--
icon_system_fontawesome.js
3.59
KB
-rw-rw-r--
icon_system_standard.js
2.14
KB
-rw-rw-r--
inplace_editable.js
13.18
KB
-rw-rw-r--
key_codes.js
1.32
KB
-rw-rw-r--
localstorage.js
2.1
KB
-rw-rw-r--
log.js
1.76
KB
-rw-rw-r--
loglevel.js
8.99
KB
-rw-rw-r--
modal.js
23.49
KB
-rw-rw-r--
modal_backdrop.js
3.86
KB
-rw-rw-r--
modal_cancel.js
2.57
KB
-rw-rw-r--
modal_confirm.js
1.78
KB
-rw-rw-r--
modal_events.js
1.49
KB
-rw-rw-r--
modal_factory.js
7.64
KB
-rw-rw-r--
modal_registry.js
2.29
KB
-rw-rw-r--
modal_save_cancel.js
3.74
KB
-rw-rw-r--
mustache.js
22.86
KB
-rw-rw-r--
notification.js
9.2
KB
-rw-rw-r--
paged_content_events.js
998
B
-rw-rw-r--
paged_content_factory.js
9.6
KB
-rw-rw-r--
paged_content_pages.js
10.26
KB
-rw-rw-r--
paged_content_paging_bar.js
6.83
KB
-rw-rw-r--
paged_content_paging_dropdown....
7.18
KB
-rw-rw-r--
permissionmanager.js
9.61
KB
-rw-rw-r--
popover_region_controller.js
12.58
KB
-rw-rw-r--
popper.js
79.2
KB
-rw-rw-r--
search-input.js
3.24
KB
-rw-rw-r--
sessionstorage.js
2.24
KB
-rw-rw-r--
storagewrapper.js
5.17
KB
-rw-rw-r--
str.js
7.37
KB
-rw-rw-r--
tag.js
18.12
KB
-rw-rw-r--
templates.js
31.41
KB
-rw-rw-r--
tooltip.js
4.1
KB
-rw-rw-r--
tree.js
17.58
KB
-rw-rw-r--
truncate.js
6.65
KB
-rw-rw-r--
url.js
3.69
KB
-rw-rw-r--
user_date.js
7.47
KB
-rw-rw-r--
yui.js
1.15
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : chart_output_chartjs.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 output for chart.js. * * @package core * @copyright 2016 Frédéric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @module core/chart_output_chartjs */ define([ 'jquery', 'core/chartjs', 'core/chart_axis', 'core/chart_bar', 'core/chart_output_base', 'core/chart_line', 'core/chart_pie', 'core/chart_series' ], function($, Chartjs, Axis, Bar, Base, Line, Pie, Series) { /** * Makes an axis ID. * * @param {String} xy Accepts 'x' and 'y'. * @param {Number} index The axis index. * @return {String} */ var makeAxisId = function(xy, index) { return 'axis-' + xy + '-' + index; }; /** * Chart output for Chart.js. * * @class * @alias module:core/chart_output_chartjs * @extends {module:core/chart_output_base} */ function Output() { Base.prototype.constructor.apply(this, arguments); // Make sure that we've got a canvas tag. this._canvas = this._node; if (this._canvas.prop('tagName') != 'CANVAS') { this._canvas = $('<canvas>'); this._node.append(this._canvas); } this._build(); } Output.prototype = Object.create(Base.prototype); /** * Reference to the chart config object. * * @type {Object} * @protected */ Output.prototype._config = null; /** * Reference to the instance of chart.js. * * @type {Object} * @protected */ Output.prototype._chartjs = null; /** * Reference to the canvas node. * * @type {Jquery} * @protected */ Output.prototype._canvas = null; /** * Builds the config and the chart. * * @protected */ Output.prototype._build = function() { this._config = this._makeConfig(); this._chartjs = new Chartjs(this._canvas[0], this._config); }; /** * Clean data. * * @param {(String|String[])} data A single string or an array of strings. * @returns {(String|String[])} * @protected */ Output.prototype._cleanData = function(data) { if (data instanceof Array) { return data.map(function(value) { return $('<span>').html(value).text(); }); } else { return $('<span>').html(data).text(); } }; /** * Get the chart type and handles the Chart.js specific chart types. * * By default returns the current chart TYPE value. Also does the handling of specific chart types, for example * check if the bar chart should be horizontal and the pie chart should be displayed as a doughnut. * * @method getChartType * @returns {String} the chart type. * @protected */ Output.prototype._getChartType = function() { var type = this._chart.getType(); // Bars can be displayed vertically and horizontally, defining horizontalBar type. if (this._chart.getType() === Bar.prototype.TYPE && this._chart.getHorizontal() === true) { type = 'horizontalBar'; } else if (this._chart.getType() === Pie.prototype.TYPE && this._chart.getDoughnut() === true) { // Pie chart can be displayed as doughnut. type = 'doughnut'; } return type; }; /** * Make the axis config. * * @protected * @param {module:core/chart_axis} axis The axis. * @param {String} xy Accepts 'x' or 'y'. * @param {Number} index The axis index. * @return {Object} The axis config. */ Output.prototype._makeAxisConfig = function(axis, xy, index) { var scaleData = { id: makeAxisId(xy, index) }; if (axis.getPosition() !== Axis.prototype.POS_DEFAULT) { scaleData.position = axis.getPosition(); } if (axis.getLabel() !== null) { scaleData.scaleLabel = { display: true, labelString: this._cleanData(axis.getLabel()) }; } if (axis.getStepSize() !== null) { scaleData.ticks = scaleData.ticks || {}; scaleData.ticks.stepSize = axis.getStepSize(); } if (axis.getMax() !== null) { scaleData.ticks = scaleData.ticks || {}; scaleData.ticks.max = axis.getMax(); } if (axis.getMin() !== null) { scaleData.ticks = scaleData.ticks || {}; scaleData.ticks.min = axis.getMin(); } return scaleData; }; /** * Make the config config. * * @protected * @param {module:core/chart_axis} axis The axis. * @return {Object} The axis config. */ Output.prototype._makeConfig = function() { var config = { type: this._getChartType(), data: { labels: this._cleanData(this._chart.getLabels()), datasets: this._makeDatasetsConfig() }, options: { title: { display: this._chart.getTitle() !== null, text: this._cleanData(this._chart.getTitle()) } } }; this._chart.getXAxes().forEach(function(axis, i) { var axisLabels = axis.getLabels(); config.options.scales = config.options.scales || {}; config.options.scales.xAxes = config.options.scales.xAxes || []; config.options.scales.xAxes[i] = this._makeAxisConfig(axis, 'x', i); if (axisLabels !== null) { config.options.scales.xAxes[i].ticks.callback = function(value, index) { return axisLabels[index] || ''; }; } config.options.scales.xAxes[i].stacked = this._isStacked(); }.bind(this)); this._chart.getYAxes().forEach(function(axis, i) { var axisLabels = axis.getLabels(); config.options.scales = config.options.scales || {}; config.options.scales.yAxes = config.options.scales.yAxes || []; config.options.scales.yAxes[i] = this._makeAxisConfig(axis, 'y', i); if (axisLabels !== null) { config.options.scales.yAxes[i].ticks.callback = function(value) { return axisLabels[parseInt(value, 10)] || ''; }; } config.options.scales.yAxes[i].stacked = this._isStacked(); }.bind(this)); config.options.tooltips = { callbacks: { label: this._makeTooltip.bind(this) } }; return config; }; /** * Get the datasets configurations. * * @protected * @return {Object[]} */ Output.prototype._makeDatasetsConfig = function() { var sets = this._chart.getSeries().map(function(series) { var colors = series.hasColoredValues() ? series.getColors() : series.getColor(); var dataset = { label: this._cleanData(series.getLabel()), data: series.getValues(), type: series.getType(), fill: false, backgroundColor: colors, // Pie charts look better without borders. borderColor: this._chart.getType() == Pie.prototype.TYPE ? '#fff' : colors, lineTension: this._isSmooth(series) ? 0.3 : 0 }; if (series.getXAxis() !== null) { dataset.xAxisID = makeAxisId('x', series.getXAxis()); } if (series.getYAxis() !== null) { dataset.yAxisID = makeAxisId('y', series.getYAxis()); } return dataset; }.bind(this)); return sets; }; /** * Get the chart data, add labels and rebuild the tooltip. * * @param {Object[]} tooltipItem The tooltip item data. * @param {Object[]} data The chart data. * @returns {String} * @protected */ Output.prototype._makeTooltip = function(tooltipItem, data) { // Get series and chart data to rebuild the tooltip and add labels. var series = this._chart.getSeries()[tooltipItem.datasetIndex]; var serieLabel = series.getLabel(); var serieLabels = series.getLabels(); var chartData = data.datasets[tooltipItem.datasetIndex].data; var tooltipData = chartData[tooltipItem.index]; // Build default tooltip. var tooltip = []; // Pie and doughnut charts does not have axis. if (tooltipItem.xLabel == '' && tooltipItem.yLabel == '') { var chartLabels = this._cleanData(this._chart.getLabels()); tooltip.push(chartLabels[tooltipItem.index]); } // Add series labels to the tooltip if any. if (serieLabels !== null) { tooltip.push(this._cleanData(serieLabels[tooltipItem.index])); } else { tooltip.push(this._cleanData(serieLabel) + ': ' + tooltipData); } return tooltip; }; /** * Verify if the chart line is smooth or not. * * @protected * @param {module:core/chart_series} series The series. * @returns {Bool} */ Output.prototype._isSmooth = function(series) { var smooth = false; if (this._chart.getType() === Line.prototype.TYPE) { smooth = series.getSmooth(); if (smooth === null) { smooth = this._chart.getSmooth(); } } else if (series.getType() === Series.prototype.TYPE_LINE) { smooth = series.getSmooth(); } return smooth; }; /** * Verify if the bar chart is stacked or not. * * @protected * @returns {Bool} */ Output.prototype._isStacked = function() { var stacked = false; // Stacking is (currently) only supported for bar charts. if (this._chart.getType() === Bar.prototype.TYPE) { stacked = this._chart.getStacked(); } return stacked; }; /** @override */ Output.prototype.update = function() { $.extend(true, this._config, this._makeConfig()); this._chartjs.update(); }; return Output; });
Close