/* * default-chart-settings.js * Copyright (c) 2023 james@firefly-iii.org * * This file is part of Firefly III (https://github.com/firefly-iii). * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ import formatMoney from "../util/format-money.js"; function getDefaultChartSettings(type) { if ('sankey' === type) { return { type: 'sankey', data: { datasets: [], }, } } if ('pie' === type) { return { type: 'pie', data: { datasets: [], } } } if ('column' === type) { return { type: 'bar', data: { labels: [], datasets: [], }, options: { plugins: { tooltip: { callbacks: { label: function (tooltipItem) { // console.log(tooltipItem); let currency = tooltipItem.dataset.currency_code; return formatMoney(tooltipItem.raw, currency); }, }, }, }, maintainAspectRatio: false, scales: {} }, }; } if ('line' === type) { return { options: { plugins: { tooltip: { callbacks: { label: function (tooltipItem) { // console.log(tooltipItem); let currency = tooltipItem.dataset.currency_code; return formatMoney(tooltipItem.raw, currency); }, }, }, }, maintainAspectRatio: false, scales: { x: { // The axis for this scale is determined from the first letter of the id as `'x'` // It is recommended to specify `position` and / or `axis` explicitly. type: 'time', time: { tooltipFormat: 'PP', } }, }, }, type: 'line', data: { labels: [], datasets: [] }, }; } return {}; } export {getDefaultChartSettings};