summaryrefslogtreecommitdiff
path: root/public/assets/js/chart.js/Plugin.Subtitle.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/chart.js/Plugin.Subtitle.js')
-rw-r--r--public/assets/js/chart.js/Plugin.Subtitle.js221
1 files changed, 0 insertions, 221 deletions
diff --git a/public/assets/js/chart.js/Plugin.Subtitle.js b/public/assets/js/chart.js/Plugin.Subtitle.js
deleted file mode 100644
index 5487f7c..0000000
--- a/public/assets/js/chart.js/Plugin.Subtitle.js
+++ /dev/null
@@ -1,221 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :
- typeof define === 'function' && define.amd ? define(['chart.js'], factory) :
- (global.PluginSubtitle = factory(global.Chart));
-}(this, (function (Chart) { 'use strict';
-
-Chart = Chart && Chart.hasOwnProperty('default') ? Chart['default'] : Chart;
-
-var defaultOptions = {
- /**
- * is the title shown
- * @member {boolean} display
- * @default false
- */
- display: false,
-
- /**
- * Font size
- * Expects either a string with `pt` or `px`, or a number of px
- * @member {Number}
- * @default 12
- */
- fontSize: 12,
-
- /**
- * Font family for the title text.
- * @member {String} fontFamily
- * @default "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"
- */
- fontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
-
- /**
- * Font color
- * @member {String} fontColor
- * @default '#888'
- */
- fontColor: '#888',
-
- /**
- * Font style
- * @member {String} fontStyle
- * @enum 'normal' | 'bold' | 'italic' | 'italic bold'
- * @default 'normal'
- */
- fontStyle: 'normal',
-
- /**
- * Padding between the title and the subtitle
- * @member {Number}
- * @default 4
- */
- paddingTop: 4,
-
- /**
- * Subtitle text to display
- * @member {String}
- * @default ''
- */
- text: ''
-};
-
-var SubtitlePlugin = {
- id: 'chartJsPluginSubtitle',
-
- resolveStyle: function resolveStyle(options) {
- if (!(typeof options.fontStyle === 'string' || options.fontStyle instanceof String)) {
- return '';
- }
- switch (options.fontStyle.toLowerCase()) {
- case 'normal':
- return '';
- default:
- // allow any string
- return options.fontStyle;
- }
- },
- resolveSize: function resolveSize(options) {
- var fontSize = options.fontSize;
-
- if (typeof fontSize === 'string' || fontSize instanceof String) {
- return fontSize;
- }
- if (typeof fontSize === 'number') {
- return fontSize + 'px';
- }
- return '12px';
- },
- resolveFont: function resolveFont(options) {
- return this.resolveStyle(options) + ' ' + this.resolveSize(options) + ' ' + options.fontFamily;
- },
-
-
- /**
- * Draw the subtitle on the top position
- * @param {Chart} chart
- * @param {Object} options
- */
- drawTop: function drawTop(chart, options) {
- var text = options.text;
- var ctx = chart.ctx,
- width = chart.width;
-
- // this value accounts for multiple lines in title
-
- var titleOffset = chart.titleBlock.height - chart.options.title.padding;
-
- var textX = Math.round((width - ctx.measureText(text).width) / 2);
- var textY = titleOffset + options.paddingTop + 3;
- ctx.fillText(text, textX, textY);
- },
-
-
- /**
- * Draw the subtitle on the left position
- * @param {Chart} chart
- * @param {Object} options
- */
- drawLeft: function drawLeft(chart, options) {
- var text = options.text;
- var ctx = chart.ctx,
- height = chart.height;
-
- // this value accounts for multiple lines in title
-
- var titleOffset = chart.titleBlock.width - chart.options.title.padding;
-
- ctx.save();
- ctx.translate(0, 0);
- ctx.rotate(-Math.PI / 2);
-
- var textX = Math.round((height + ctx.measureText(text).width) / 2);
- var textY = titleOffset + options.paddingTop + 3;
-
- ctx.fillText(text, -textX, textY);
- ctx.restore();
- },
-
-
- /**
- * Draw the subtitle on the right position
- * @param {Chart} chart
- * @param {Object} options
- */
- drawRight: function drawRight(chart, options) {
- var text = options.text;
- var ctx = chart.ctx,
- height = chart.height,
- width = chart.width;
-
- // this value accounts for multiple lines in title
-
- var titleOffset = chart.titleBlock.width - chart.options.title.padding;
-
- ctx.save();
- ctx.translate(0, 0);
- ctx.rotate(Math.PI / 2);
-
- var textX = Math.round((height - ctx.measureText(text).width) / 2);
- var textY = titleOffset + options.paddingTop - width;
-
- ctx.fillText(text, textX, textY);
- ctx.restore();
- },
-
-
- /**
- * Draw the subtitle on the bottom position
- * @param {Chart} chart
- * @param {Object} options
- */
- drawBottom: function drawBottom(chart, options) {
- var text = options.text;
- var ctx = chart.ctx,
- height = chart.height,
- width = chart.width;
-
-
- var textX = Math.round((width - ctx.measureText(text).width) / 2);
- var textY = height - chart.options.title.padding * 2 + (options.paddingTop + 11);
- ctx.fillText(text, textX, textY);
- },
-
-
- /**
- * Plugin hook to draw the sub title
- * @param chart chartjs instance
- * @param easingValue animation function
- * @param options plugin options
- */
- beforeDraw: function beforeDraw(chart, easingValue, rawOptions) {
- var options = Object.assign({}, defaultOptions, rawOptions);
- if (options.display) {
- var ctx = chart.chart.ctx;
-
- ctx.restore();
- ctx.font = this.resolveFont(options);
- ctx.textBaseline = 'middle';
- ctx.fillStyle = options.fontColor;
- switch (chart.options.title.position) {
- default:
- this.drawTop(chart.chart, options);
- break;
- case 'left':
- this.drawLeft(chart.chart, options);
- break;
- case 'right':
- this.drawRight(chart.chart, options);
- break;
- case 'bottom':
- this.drawBottom(chart.chart, options);
- break;
- }
- }
- }
-};
-
-Chart.pluginService.register(SubtitlePlugin);
-
-return SubtitlePlugin;
-
-}))); \ No newline at end of file