+
@@ -20,30 +25,28 @@
-
-
-
+
diff --git a/src/components/Charts/BarChart.js b/src/components/Charts/BarChart.js
index c45092c..e6f338f 100644
--- a/src/components/Charts/BarChart.js
+++ b/src/components/Charts/BarChart.js
@@ -1,24 +1,24 @@
-import { Bar, mixins } from 'vue-chartjs';
+import { Bar, mixins } from "vue-chartjs";
import globalOptionsMixin from "@/components/Charts/globalOptionsMixin";
export default {
- name: 'bar-chart',
+ name: "bar-chart",
extends: Bar,
mixins: [mixins.reactiveProp, globalOptionsMixin],
props: {
extraOptions: {
type: Object,
- default: () => ({})
- }
+ default: () => ({}),
+ },
},
data() {
return {
- ctx: null
+ ctx: null,
};
},
mounted() {
this.$watch(
- 'chartData',
+ "chartData",
(newVal, oldVal) => {
if (!oldVal) {
this.renderChart(this.chartData, this.extraOptions);
@@ -26,5 +26,5 @@ export default {
},
{ immediate: true }
);
- }
+ },
};
diff --git a/src/components/Charts/LineChart.js b/src/components/Charts/LineChart.js
index fffb855..2c484d8 100644
--- a/src/components/Charts/LineChart.js
+++ b/src/components/Charts/LineChart.js
@@ -1,23 +1,23 @@
-import { Line, mixins } from 'vue-chartjs';
+import { Line, mixins } from "vue-chartjs";
import globalOptionsMixin from "@/components/Charts/globalOptionsMixin";
export default {
- name: 'line-chart',
+ name: "line-chart",
extends: Line,
mixins: [mixins.reactiveProp, globalOptionsMixin],
props: {
extraOptions: {
type: Object,
- default: () => ({})
- }
+ default: () => ({}),
+ },
},
data() {
return {
- ctx: null
+ ctx: null,
};
},
mounted() {
this.$watch(
- 'chartData',
+ "chartData",
(newVal, oldVal) => {
if (!oldVal) {
this.renderChart(this.chartData, this.extraOptions);
@@ -25,5 +25,5 @@ export default {
},
{ immediate: true }
);
- }
+ },
};
diff --git a/src/components/Charts/config.js b/src/components/Charts/config.js
index c3add69..27e6d56 100644
--- a/src/components/Charts/config.js
+++ b/src/components/Charts/config.js
@@ -1,36 +1,36 @@
import { parseOptions } from "@/components/Charts/optionHelpers";
-import Chart from 'chart.js'
+import Chart from "chart.js";
export const Charts = {
- mode: 'light',//(themeMode) ? themeMode : 'light';
+ mode: "light", //(themeMode) ? themeMode : 'light';
fonts: {
- base: 'Open Sans'
+ base: "Open Sans",
},
colors: {
gray: {
- 100: '#f6f9fc',
- 200: '#e9ecef',
- 300: '#dee2e6',
- 400: '#ced4da',
- 500: '#adb5bd',
- 600: '#8898aa',
- 700: '#525f7f',
- 800: '#32325d',
- 900: '#212529'
+ 100: "#f6f9fc",
+ 200: "#e9ecef",
+ 300: "#dee2e6",
+ 400: "#ced4da",
+ 500: "#adb5bd",
+ 600: "#8898aa",
+ 700: "#525f7f",
+ 800: "#32325d",
+ 900: "#212529",
},
theme: {
- 'default': '#172b4d',
- 'primary': '#5e72e4',
- 'secondary': '#f4f5f7',
- 'info': '#11cdef',
- 'success': '#2dce89',
- 'danger': '#f5365c',
- 'warning': '#fb6340'
+ default: "#172b4d",
+ primary: "#5e72e4",
+ secondary: "#f4f5f7",
+ info: "#11cdef",
+ success: "#2dce89",
+ danger: "#f5365c",
+ warning: "#fb6340",
},
- black: '#12263F',
- white: '#FFFFFF',
- transparent: 'transparent',
- }
+ black: "#12263F",
+ white: "#FFFFFF",
+ transparent: "transparent",
+ },
};
function chartOptions() {
@@ -41,103 +41,106 @@ function chartOptions() {
global: {
responsive: true,
maintainAspectRatio: false,
- defaultColor: (mode === 'dark') ? colors.gray[700] : colors.gray[600],
- defaultFontColor: (mode === 'dark') ? colors.gray[700] : colors.gray[600],
+ defaultColor: mode === "dark" ? colors.gray[700] : colors.gray[600],
+ defaultFontColor: mode === "dark" ? colors.gray[700] : colors.gray[600],
defaultFontFamily: fonts.base,
defaultFontSize: 13,
layout: {
- padding: 0
+ padding: 0,
},
legend: {
display: false,
- position: 'bottom',
+ position: "bottom",
labels: {
usePointStyle: true,
- padding: 16
- }
+ padding: 16,
+ },
},
elements: {
point: {
radius: 0,
- backgroundColor: colors.theme['primary']
+ backgroundColor: colors.theme["primary"],
},
line: {
- tension: .4,
+ tension: 0.4,
borderWidth: 4,
- borderColor: colors.theme['primary'],
+ borderColor: colors.theme["primary"],
backgroundColor: colors.transparent,
- borderCapStyle: 'rounded'
+ borderCapStyle: "rounded",
},
rectangle: {
- backgroundColor: colors.theme['warning']
+ backgroundColor: colors.theme["warning"],
},
arc: {
- backgroundColor: colors.theme['primary'],
- borderColor: (mode == 'dark') ? colors.gray[800] : colors.white,
- borderWidth: 4
- }
+ backgroundColor: colors.theme["primary"],
+ borderColor: mode == "dark" ? colors.gray[800] : colors.white,
+ borderWidth: 4,
+ },
},
tooltips: {
enabled: true,
- mode: 'index',
+ mode: "index",
intersect: false,
- }
+ },
},
pie: {
tooltips: {
- mode: 'point'
- }
+ mode: "point",
+ },
},
doughnut: {
tooltips: {
- mode: 'point'
+ mode: "point",
},
cutoutPercentage: 83,
legendCallback: function (chart) {
let data = chart.data;
- let content = '';
+ let content = "";
data.labels.forEach(function (label, index) {
let bgColor = data.datasets[0].backgroundColor[index];
content += '
';
- content += ' ';
+ content +=
+ ' ';
content += label;
- content += ' ';
+ content += "";
});
return content;
- }
- }
- }
+ },
+ },
+ },
};
// yAxes
- Chart.scaleService.updateScaleDefaults('linear', {
+ Chart.scaleService.updateScaleDefaults("linear", {
gridLines: {
borderDash: [2],
borderDashOffset: [2],
- color: (mode === 'dark') ? colors.gray[900] : colors.gray[200],
+ color: mode === "dark" ? colors.gray[900] : colors.gray[200],
drawBorder: false,
drawTicks: true,
zeroLineWidth: 1,
- zeroLineColor: (mode === 'dark') ? colors.gray[900] : colors.gray[200],
+ zeroLineColor: mode === "dark" ? colors.gray[900] : colors.gray[200],
zeroLineBorderDash: [2],
- zeroLineBorderDashOffset: [2]
+ zeroLineBorderDashOffset: [2],
},
ticks: {
beginAtZero: true,
padding: 10,
callback: function (value) {
if (!(value % 10)) {
- return value
+ return value;
}
- }
- }
+ },
+ },
});
// xAxes
- Chart.scaleService.updateScaleDefaults('category', {
+ Chart.scaleService.updateScaleDefaults("category", {
gridLines: {
drawBorder: false,
drawOnChartArea: false,
@@ -146,86 +149,89 @@ function chartOptions() {
zeroLineWidth: 1,
},
ticks: {
- padding: 20
+ padding: 20,
},
- maxBarThickness: 10
});
return options;
-};
+}
-let initialized = false
+let initialized = false;
export function initGlobalOptions() {
if (initialized) {
- return
+ return;
}
parseOptions(Chart, chartOptions());
- initialized = true
+ initialized = true;
}
export const basicOptions = {
maintainAspectRatio: false,
legend: {
- display: false
+ display: false,
},
- responsive: true
+ responsive: true,
};
export let blueChartOptions = {
- scales: {
- yAxes: [{
- gridLines: {
- color: Charts.colors.gray[700],
- zeroLineColor: Charts.colors.gray[700]
- }
- }]
- }
+ dataset: {
+ dataset: [
+ {
+ gridLines: {
+ color: Charts.colors.gray[700],
+ zeroLineColor: Charts.colors.gray[700],
+ },
+ },
+ ],
+ },
};
export let lineChartOptionsBlue = {
...basicOptions,
tooltips: {
- backgroundColor: '#f5f5f5',
- titleFontColor: '#333',
- bodyFontColor: '#666',
+ backgroundColor: "#f5f5f5",
+ titleFontColor: "#333",
+ bodyFontColor: "#666",
bodySpacing: 4,
xPadding: 12,
- mode: 'nearest',
+ mode: "nearest",
intersect: 0,
- position: 'nearest'
+ position: "nearest",
},
responsive: true,
scales: {
- yAxes: [
+ dataset: [
{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
- color: 'rgba(29,140,248,0.0)',
- zeroLineColor: 'transparent'
+ color: "rgba(29,140,248,0.0)",
+ zeroLineColor: "transparent",
},
ticks: {
suggestedMin: 60,
suggestedMax: 125,
padding: 20,
- fontColor: '#9e9e9e'
- }
- }
+ fontColor: "#9e9e9e",
+ },
+ },
],
- xAxes: [
+ // eslint-disable-next-line no-dupe-keys
+ dataset: [
{
+ maxBarThickness: 10,
barPercentage: 1.6,
gridLines: {
drawBorder: false,
- color: 'rgba(29,140,248,0.1)',
- zeroLineColor: 'transparent'
+ color: "rgba(29,140,248,0.1)",
+ zeroLineColor: "transparent",
},
ticks: {
padding: 20,
- fontColor: '#9e9e9e'
- }
- }
- ]
- }
+ fontColor: "#9e9e9e",
+ },
+ },
+ ],
+ },
};
diff --git a/src/components/Charts/globalOptionsMixin.js b/src/components/Charts/globalOptionsMixin.js
index eebaaca..5d11747 100644
--- a/src/components/Charts/globalOptionsMixin.js
+++ b/src/components/Charts/globalOptionsMixin.js
@@ -1,7 +1,7 @@
import { initGlobalOptions } from "@/components/Charts/config";
-import './roundedCornersExtension'
+import "./roundedCornersExtension";
export default {
mounted() {
initGlobalOptions();
- }
-}
+ },
+};
diff --git a/src/components/Charts/optionHelpers.js b/src/components/Charts/optionHelpers.js
index 227b229..fb8f7c7 100644
--- a/src/components/Charts/optionHelpers.js
+++ b/src/components/Charts/optionHelpers.js
@@ -1,7 +1,7 @@
// Parse global options
export function parseOptions(parent, options) {
for (let item in options) {
- if (typeof options[item] !== 'object') {
+ if (typeof options[item] !== "object") {
parent[item] = options[item];
} else {
parseOptions(parent[item], options[item]);
diff --git a/src/components/Charts/roundedCornersExtension.js b/src/components/Charts/roundedCornersExtension.js
index b1a9164..30e269b 100644
--- a/src/components/Charts/roundedCornersExtension.js
+++ b/src/components/Charts/roundedCornersExtension.js
@@ -1,10 +1,10 @@
+/* eslint-disable no-unused-vars */
//
// Chart extension for making the bars rounded
// Code from: https://codepen.io/jedtrow/full/ygRYgo
//
-import Chart from 'chart.js'
-Chart.elements.Rectangle.prototype.draw = function() {
-
+import Chart from "chart.js";
+Chart.elements.Rectangle.prototype.draw = function () {
let ctx = this._chart.ctx;
let vm = this._view;
let left, right, top, bottom, signX, signY, borderSkipped, radius;
@@ -21,7 +21,7 @@ Chart.elements.Rectangle.prototype.draw = function() {
bottom = vm.base;
signX = 1;
signY = bottom > top ? 1 : -1;
- borderSkipped = vm.borderSkipped || 'bottom';
+ borderSkipped = vm.borderSkipped || "bottom";
} else {
// horizontal bar
left = vm.base;
@@ -30,7 +30,7 @@ Chart.elements.Rectangle.prototype.draw = function() {
bottom = vm.y + vm.height / 2;
signX = right > left ? 1 : -1;
signY = 1;
- borderSkipped = vm.borderSkipped || 'left';
+ borderSkipped = vm.borderSkipped || "left";
}
// Canvas doesn't allow us to stroke inside the width so we can
@@ -41,10 +41,12 @@ Chart.elements.Rectangle.prototype.draw = function() {
borderWidth = borderWidth > barSize ? barSize : borderWidth;
let halfStroke = borderWidth / 2;
// Adjust borderWidth when bar top position is near vm.base(zero).
- let borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);
- let borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);
- let borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);
- let borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);
+ let borderLeft = left + (borderSkipped !== "left" ? halfStroke * signX : 0);
+ let borderRight =
+ right + (borderSkipped !== "right" ? -halfStroke * signX : 0);
+ let borderTop = top + (borderSkipped !== "top" ? halfStroke * signY : 0);
+ let borderBottom =
+ bottom + (borderSkipped !== "bottom" ? -halfStroke * signY : 0);
// not become a vertical line?
if (borderLeft !== borderRight) {
top = borderTop;
@@ -69,11 +71,11 @@ Chart.elements.Rectangle.prototype.draw = function() {
[left, bottom],
[left, top],
[right, top],
- [right, bottom]
+ [right, bottom],
];
// Find first (starting) corner with fallback to 'bottom'
- let borders = ['bottom', 'left', 'top', 'right'];
+ let borders = ["bottom", "left", "top", "right"];
let startCorner = borders.indexOf(borderSkipped, 0);
if (startCorner === -1) {
startCorner = 0;
@@ -91,7 +93,7 @@ Chart.elements.Rectangle.prototype.draw = function() {
corner = cornerAt(i);
let nextCornerId = i + 1;
if (nextCornerId == 4) {
- nextCornerId = 0
+ nextCornerId = 0;
}
let nextCorner = cornerAt(nextCornerId);
@@ -120,7 +122,6 @@ Chart.elements.Rectangle.prototype.draw = function() {
ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
ctx.lineTo(x, y + radius);
ctx.quadraticCurveTo(x, y, x + radius, y);
-
}
ctx.fill();
diff --git a/src/components/CloseButton.vue b/src/components/CloseButton.vue
index 756c8b6..00c3022 100755
--- a/src/components/CloseButton.vue
+++ b/src/components/CloseButton.vue
@@ -14,22 +14,22 @@
diff --git a/src/components/Collapse/Collapse.vue b/src/components/Collapse/Collapse.vue
index a6cf813..ba4993e 100644
--- a/src/components/Collapse/Collapse.vue
+++ b/src/components/Collapse/Collapse.vue
@@ -11,23 +11,24 @@
diff --git a/src/components/Collapse/CollapseItem.vue b/src/components/Collapse/CollapseItem.vue
index acb49c1..4516794 100644
--- a/src/components/Collapse/CollapseItem.vue
+++ b/src/components/Collapse/CollapseItem.vue
@@ -26,46 +26,46 @@
diff --git a/src/components/Inputs/BaseCheckbox.vue b/src/components/Inputs/BaseCheckbox.vue
index dd39f21..2f52281 100755
--- a/src/components/Inputs/BaseCheckbox.vue
+++ b/src/components/Inputs/BaseCheckbox.vue
@@ -1,14 +1,20 @@
-
-
+
+
@@ -17,61 +23,60 @@
diff --git a/src/components/Inputs/BaseInput.vue b/src/components/Inputs/BaseInput.vue
index 31c075c..16b349c 100644
--- a/src/components/Inputs/BaseInput.vue
+++ b/src/components/Inputs/BaseInput.vue
@@ -1,24 +1,31 @@
-
+
- {{label}}
+ {{ label }}
-
+
- {{successMessage}}
+ {{ successMessage }}
-
+
{{ errors[0] }}
@@ -54,123 +66,123 @@
-
+
diff --git a/src/components/Inputs/BaseRadio.vue b/src/components/Inputs/BaseRadio.vue
index d0d7fd5..427d6f0 100755
--- a/src/components/Inputs/BaseRadio.vue
+++ b/src/components/Inputs/BaseRadio.vue
@@ -1,7 +1,8 @@
+ :class="[inlineClass, { disabled: disabled }]"
+ >
diff --git a/src/components/LoadingPanel.vue b/src/components/LoadingPanel.vue
index 41fe2cf..f3cd275 100644
--- a/src/components/LoadingPanel.vue
+++ b/src/components/LoadingPanel.vue
@@ -2,8 +2,8 @@
diff --git a/src/components/Navbar/BaseNav.vue b/src/components/Navbar/BaseNav.vue
index 81400f6..883e690 100644
--- a/src/components/Navbar/BaseNav.vue
+++ b/src/components/Navbar/BaseNav.vue
@@ -18,9 +18,7 @@
-
+
+ v-click-outside="closeMenu"
+ >
@@ -37,66 +36,66 @@
diff --git a/src/components/Navbar/NavbarToggleButton.vue b/src/components/Navbar/NavbarToggleButton.vue
index 7c63c10..dcfa17f 100644
--- a/src/components/Navbar/NavbarToggleButton.vue
+++ b/src/components/Navbar/NavbarToggleButton.vue
@@ -15,7 +15,7 @@
diff --git a/src/components/NavbarToggleButton.vue b/src/components/NavbarToggleButton.vue
index 78b0396..9f960ed 100755
--- a/src/components/NavbarToggleButton.vue
+++ b/src/components/NavbarToggleButton.vue
@@ -10,7 +10,7 @@
>
-
+
@@ -19,14 +19,14 @@ export default {
props: {
target: {
type: [String, Number],
- description: 'Button target element'
+ description: "Button target element",
},
toggled: {
type: Boolean,
default: false,
- description: 'Whether button is toggled'
- }
- }
+ description: "Whether button is toggled",
+ },
+ },
};
diff --git a/src/components/NotificationPlugin/Notification.vue b/src/components/NotificationPlugin/Notification.vue
index 6338fa9..c852d29 100644
--- a/src/components/NotificationPlugin/Notification.vue
+++ b/src/components/NotificationPlugin/Notification.vue
@@ -7,7 +7,7 @@
{ 'alert-with-icon': icon },
verticalAlign,
horizontalAlign,
- alertType
+ alertType,
]"
role="alert"
:style="customPosition"
@@ -15,16 +15,15 @@
>
-
-
-
+
+
+
-
- {{ title }}
+ {{ title }}
-
+
×
diff --git a/src/components/NotificationPlugin/Notifications.vue b/src/components/NotificationPlugin/Notifications.vue
index 2689cc9..708915c 100644
--- a/src/components/NotificationPlugin/Notifications.vue
+++ b/src/components/NotificationPlugin/Notifications.vue
@@ -1,8 +1,6 @@
-
+
diff --git a/src/components/NotificationPlugin/index.js b/src/components/NotificationPlugin/index.js
index e871fb6..4c920de 100644
--- a/src/components/NotificationPlugin/index.js
+++ b/src/components/NotificationPlugin/index.js
@@ -1,27 +1,29 @@
-import Notifications from './Notifications.vue';
+import Notifications from "./Notifications.vue";
const NotificationStore = {
state: [], // here the notifications will be added
settings: {
overlap: false,
- verticalAlign: 'top',
- horizontalAlign: 'right',
- type: 'info',
+ verticalAlign: "top",
+ horizontalAlign: "right",
+ type: "info",
timeout: 5000,
closeOnClick: true,
- showClose: true
+ showClose: true,
},
setOptions(options) {
this.settings = Object.assign(this.settings, options);
},
removeNotification(timestamp) {
- const indexToDelete = this.state.findIndex(n => n.timestamp === timestamp);
+ const indexToDelete = this.state.findIndex(
+ (n) => n.timestamp === timestamp
+ );
if (indexToDelete !== -1) {
this.state.splice(indexToDelete, 1);
}
},
addNotification(notification) {
- if (typeof notification === 'string' || notification instanceof String) {
+ if (typeof notification === "string" || notification instanceof String) {
notification = { message: notification };
}
notification.timestamp = new Date();
@@ -33,34 +35,34 @@ const NotificationStore = {
},
notify(notification) {
if (Array.isArray(notification)) {
- notification.forEach(notificationInstance => {
+ notification.forEach((notificationInstance) => {
this.addNotification(notificationInstance);
});
} else {
this.addNotification(notification);
}
- }
+ },
};
const NotificationsPlugin = {
install(Vue, options) {
let app = new Vue({
data: {
- notificationStore: NotificationStore
+ notificationStore: NotificationStore,
},
methods: {
notify(notification) {
this.notificationStore.notify(notification);
- }
- }
+ },
+ },
});
Vue.prototype.$notify = app.notify;
Vue.prototype.$notifications = app.notificationStore;
- Vue.component('Notifications', Notifications);
+ Vue.component("Notifications", Notifications);
if (options) {
NotificationStore.setOptions(options);
}
- }
+ },
};
export default NotificationsPlugin;
diff --git a/src/components/SidebarPlugin/SideBar.vue b/src/components/SidebarPlugin/SideBar.vue
index 1fd5363..518b01a 100755
--- a/src/components/SidebarPlugin/SideBar.vue
+++ b/src/components/SidebarPlugin/SideBar.vue
@@ -1,150 +1,167 @@
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action
- Another action
-
- Something else here
-
-
-
-
-
+
+
+
+
+
+
-
-
-
- My profile
-
-
-
- Settings
-
-
-
- Activity
-
-
-
- Support
-
-
-
-
- Logout
-
-
-
-
-
-
+
Action
+
Another action
+
+
Something else here
+
+
+
+
+
-
-
-
-
-
-
- Documentation
-
-
+
+
+
+ My profile
+
+
+
+ Settings
+
+
+
+ Activity
+
+
+
+ Support
+
+
+
+
+ Logout
+
+
+
+
+
+
+
+
+
+
+
+
+
Documentation
+
+
+
+
+
diff --git a/src/components/SidebarPlugin/SidebarItem.vue b/src/components/SidebarPlugin/SidebarItem.vue
index aea2ccf..5d27635 100755
--- a/src/components/SidebarPlugin/SidebarItem.vue
+++ b/src/components/SidebarPlugin/SidebarItem.vue
@@ -61,60 +61,62 @@
diff --git a/src/components/Tabs/Tabs.vue b/src/components/Tabs/Tabs.vue
index f772439..1bf3bc1 100644
--- a/src/components/Tabs/Tabs.vue
+++ b/src/components/Tabs/Tabs.vue
@@ -4,7 +4,7 @@
:class="[
{ 'col-md-4': vertical && !tabNavWrapperClasses },
{ 'col-12': centered && !tabNavWrapperClasses },
- tabNavWrapperClasses
+ tabNavWrapperClasses,
]"
>
@@ -47,68 +47,68 @@
diff --git a/src/components/index.js b/src/components/index.js
index 8b8caea..4d5850f 100755
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -1,30 +1,30 @@
-import BaseCheckbox from './Inputs/BaseCheckbox.vue';
-import BaseAlert from './BaseAlert.vue';
-import BaseRadio from './Inputs/BaseRadio.vue';
-import BaseInput from './Inputs/BaseInput.vue';
-import Badge from './Badge';
-import BaseProgress from './BaseProgress.vue';
-import BaseButton from './BaseButton.vue';
+import BaseCheckbox from "./Inputs/BaseCheckbox.vue";
+import BaseAlert from "./BaseAlert.vue";
+import BaseRadio from "./Inputs/BaseRadio.vue";
+import BaseInput from "./Inputs/BaseInput.vue";
+import Badge from "./Badge";
+import BaseProgress from "./BaseProgress.vue";
+import BaseButton from "./BaseButton.vue";
-import BaseDropdown from './BaseDropdown.vue';
-import BaseTable from './BaseTable.vue';
+import BaseDropdown from "./BaseDropdown.vue";
+import BaseTable from "./BaseTable.vue";
-import Card from './Cards/Card.vue';
-import StatsCard from './Cards/StatsCard.vue';
-import BaseNav from './Navbar/BaseNav';
-import NavbarToggleButton from './Navbar/NavbarToggleButton';
+import Card from "./Cards/Card.vue";
+import StatsCard from "./Cards/StatsCard.vue";
+import BaseNav from "./Navbar/BaseNav";
+import NavbarToggleButton from "./Navbar/NavbarToggleButton";
-import TabPane from './Tabs/Tab.vue';
-import Tabs from './Tabs/Tabs.vue';
-import Collapse from './Collapse/Collapse.vue';
-import CollapseItem from './Collapse/CollapseItem.vue';
-import Modal from './Modal.vue';
-import BaseSlider from './BaseSlider.vue';
-import LoadingPanel from './LoadingPanel.vue';
+import TabPane from "./Tabs/Tab.vue";
+import Tabs from "./Tabs/Tabs.vue";
+import Collapse from "./Collapse/Collapse.vue";
+import CollapseItem from "./Collapse/CollapseItem.vue";
+import Modal from "./Modal.vue";
+import BaseSlider from "./BaseSlider.vue";
+import LoadingPanel from "./LoadingPanel.vue";
-import BasePagination from './BasePagination.vue';
+import BasePagination from "./BasePagination.vue";
-import SidebarPlugin from './SidebarPlugin';
+import SidebarPlugin from "./SidebarPlugin";
export {
BaseCheckbox,
@@ -48,5 +48,5 @@ export {
BaseButton,
Collapse,
CollapseItem,
- LoadingPanel
+ LoadingPanel,
};
diff --git a/src/directives/click-ouside.js b/src/directives/click-ouside.js
index 3021e49..a278d84 100644
--- a/src/directives/click-ouside.js
+++ b/src/directives/click-ouside.js
@@ -1,15 +1,15 @@
export default {
- bind: function(el, binding, vnode) {
- el.clickOutsideEvent = function(event) {
+ bind: function (el, binding, vnode) {
+ el.clickOutsideEvent = function (event) {
// here I check that click was outside the el and his childrens
if (!(el == event.target || el.contains(event.target))) {
// and if it did, call method provided in attribute value
vnode.context[binding.expression](event);
}
};
- document.body.addEventListener('click', el.clickOutsideEvent);
+ document.body.addEventListener("click", el.clickOutsideEvent);
+ },
+ unbind: function (el) {
+ document.body.removeEventListener("click", el.clickOutsideEvent);
},
- unbind: function(el) {
- document.body.removeEventListener('click', el.clickOutsideEvent);
- }
};
diff --git a/src/main.js b/src/main.js
index a6885dd..d91a96d 100755
--- a/src/main.js
+++ b/src/main.js
@@ -1,11 +1,11 @@
/*!
=========================================================
-* BootstrapVue Argon Dashboard - v1.0.0
+* BootstrapVue Argon Dashboard - v1.1.0
=========================================================
* Product Page: https://www.creative-tim.com/product/bootstrap-vue-argon-dashboard
-* Copyright 2020 Creative Tim (https://www.creative-tim.com)
+* Copyright 2023 Creative Tim (https://www.creative-tim.com)
* Coded by www.creative-tim.com
@@ -14,18 +14,18 @@
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/
-import Vue from 'vue';
-import DashboardPlugin from './plugins/dashboard-plugin';
-import App from './App.vue';
+import Vue from "vue";
+import DashboardPlugin from "./plugins/dashboard-plugin";
+import App from "./App.vue";
// router setup
-import router from './routes/router';
+import router from "./routes/router";
// plugin setup
Vue.use(DashboardPlugin);
/* eslint-disable no-new */
new Vue({
- el: '#app',
- render: h => h(App),
- router
+ el: "#app",
+ render: (h) => h(App),
+ router,
});
diff --git a/src/plugins/dashboard-plugin.js b/src/plugins/dashboard-plugin.js
index 1ee26a4..80025d2 100755
--- a/src/plugins/dashboard-plugin.js
+++ b/src/plugins/dashboard-plugin.js
@@ -1,35 +1,35 @@
// Polyfills for js features used in the Dashboard but not supported in some browsers (mainly IE)
-import '@/polyfills';
+import "@/polyfills";
// Notifications plugin. Used on Notifications page
-import Notifications from '@/components/NotificationPlugin';
+import Notifications from "@/components/NotificationPlugin";
// Validation plugin used to validate forms
-import { configure } from 'vee-validate';
+import { configure } from "vee-validate";
// A plugin file where you could register global components used across the app
-import GlobalComponents from './globalComponents';
+import GlobalComponents from "./globalComponents";
// A plugin file where you could register global directives
-import GlobalDirectives from './globalDirectives';
+import GlobalDirectives from "./globalDirectives";
// Sidebar on the right. Used as a local plugin in DashboardLayout.vue
-import SideBar from '@/components/SidebarPlugin';
+import SideBar from "@/components/SidebarPlugin";
// element ui language configuration
-import lang from 'element-ui/lib/locale/lang/en';
-import locale from 'element-ui/lib/locale';
+import lang from "element-ui/lib/locale/lang/en";
+import locale from "element-ui/lib/locale";
locale.use(lang);
// vue-bootstrap
-import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
+import { BootstrapVue, IconsPlugin } from "bootstrap-vue";
// asset imports
-import '@/assets/scss/argon.scss';
-import '@/assets/vendor/nucleo/css/nucleo.css';
-import { extend } from 'vee-validate';
-import * as rules from 'vee-validate/dist/rules';
-import { messages } from 'vee-validate/dist/locale/en.json';
+import "@/assets/scss/argon.scss";
+import "@/assets/vendor/nucleo/css/nucleo.css";
+import { extend } from "vee-validate";
+import * as rules from "vee-validate/dist/rules";
+import { messages } from "vee-validate/dist/locale/en.json";
-Object.keys(rules).forEach(rule => {
+Object.keys(rules).forEach((rule) => {
extend(rule, {
...rules[rule], // copies rule configuration
- message: messages[rule] // assign message
+ message: messages[rule], // assign message
});
});
export default {
@@ -42,10 +42,10 @@ export default {
Vue.use(IconsPlugin);
configure({
classes: {
- valid: 'is-valid',
- invalid: 'is-invalid',
- dirty: ['is-dirty', 'is-dirty'], // multiple classes per flag!
- }
- })
- }
+ valid: "is-valid",
+ invalid: "is-invalid",
+ dirty: ["is-dirty", "is-dirty"], // multiple classes per flag!
+ },
+ });
+ },
};
diff --git a/src/plugins/globalComponents.js b/src/plugins/globalComponents.js
index 8322d83..dcb8eab 100755
--- a/src/plugins/globalComponents.js
+++ b/src/plugins/globalComponents.js
@@ -1,19 +1,19 @@
-import BaseInput from '@/components/Inputs/BaseInput.vue';
-import BaseDropdown from '@/components/BaseDropdown.vue';
-import Card from '@/components/Cards/Card.vue';
-import Modal from '@/components/Modal.vue';
-import StatsCard from '@/components/Cards/StatsCard.vue';
-import BaseButton from '@/components/BaseButton.vue';
-import Badge from '@/components/Badge.vue';
-import BaseCheckbox from '@/components/Inputs/BaseCheckbox.vue';
+import BaseInput from "@/components/Inputs/BaseInput.vue";
+import BaseDropdown from "@/components/BaseDropdown.vue";
+import Card from "@/components/Cards/Card.vue";
+import Modal from "@/components/Modal.vue";
+import StatsCard from "@/components/Cards/StatsCard.vue";
+import BaseButton from "@/components/BaseButton.vue";
+import Badge from "@/components/Badge.vue";
+import BaseCheckbox from "@/components/Inputs/BaseCheckbox.vue";
import BaseRadio from "@/components/Inputs/BaseRadio";
import BaseProgress from "@/components/BaseProgress";
import BasePagination from "@/components/BasePagination";
import BaseAlert from "@/components/BaseAlert";
import BaseNav from "@/components/Navbar/BaseNav";
-import BaseHeader from '@/components/BaseHeader';
-import { ValidationProvider, ValidationObserver } from 'vee-validate';
-import { Input, Tooltip, Popover } from 'element-ui';
+import BaseHeader from "@/components/BaseHeader";
+import { ValidationProvider, ValidationObserver } from "vee-validate";
+import { Input, Tooltip, Popover } from "element-ui";
/**
* You can register global components here and use them as a plugin in your main Vue instance
*/
@@ -35,11 +35,11 @@ const GlobalComponents = {
Vue.component(Modal.name, Modal);
Vue.component(StatsCard.name, StatsCard);
Vue.component(Input.name, Input);
- Vue.component('validation-provider', ValidationProvider)
- Vue.component('validation-observer', ValidationObserver)
+ Vue.component("validation-provider", ValidationProvider);
+ Vue.component("validation-observer", ValidationObserver);
Vue.use(Tooltip);
Vue.use(Popover);
- }
+ },
};
export default GlobalComponents;
diff --git a/src/plugins/globalDirectives.js b/src/plugins/globalDirectives.js
index bea1fff..3591d21 100755
--- a/src/plugins/globalDirectives.js
+++ b/src/plugins/globalDirectives.js
@@ -1,4 +1,4 @@
-import clickOutside from '@/directives/click-ouside.js';
+import clickOutside from "@/directives/click-ouside.js";
/**
* You can register global directives here and use them as a plugin in your main Vue instance
@@ -6,8 +6,8 @@ import clickOutside from '@/directives/click-ouside.js';
const GlobalDirectives = {
install(Vue) {
- Vue.directive('click-outside', clickOutside);
- }
+ Vue.directive("click-outside", clickOutside);
+ },
};
export default GlobalDirectives;
diff --git a/src/routes/router.js b/src/routes/router.js
index 5569c1d..b21b8df 100644
--- a/src/routes/router.js
+++ b/src/routes/router.js
@@ -1,14 +1,14 @@
-import Vue from 'vue';
-import VueRouter from 'vue-router';
-import routes from './routes';
+import Vue from "vue";
+import VueRouter from "vue-router";
+import routes from "./routes";
Vue.use(VueRouter);
// configure router
const router = new VueRouter({
routes, // short for routes: routes
- linkActiveClass: 'active',
- scrollBehavior: (to, from ,savedPosition) => {
+ linkActiveClass: "active",
+ scrollBehavior: (to, from, savedPosition) => {
if (savedPosition) {
return savedPosition;
}
@@ -16,7 +16,7 @@ const router = new VueRouter({
return { selector: to.hash };
}
return { x: 0, y: 0 };
- }
+ },
});
export default router;
diff --git a/src/routes/routes.js b/src/routes/routes.js
index be06c77..6ea0be7 100755
--- a/src/routes/routes.js
+++ b/src/routes/routes.js
@@ -1,62 +1,71 @@
-import DashboardLayout from '@/views/Layout/DashboardLayout.vue';
-import AuthLayout from '@/views/Pages/AuthLayout.vue';
+import DashboardLayout from "@/views/Layout/DashboardLayout.vue";
+import AuthLayout from "@/views/Pages/AuthLayout.vue";
-import NotFound from '@/views/NotFoundPage.vue';
+import NotFound from "@/views/NotFoundPage.vue";
const routes = [
{
- path: '/',
- redirect: 'dashboard',
+ path: "/",
+ redirect: "dashboard",
component: DashboardLayout,
children: [
{
- path: '/dashboard',
- name: 'dashboard',
+ path: "/dashboard",
+ name: "dashboard",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
- component: () => import(/* webpackChunkName: "demo" */ '../views/Dashboard.vue')
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/Dashboard.vue"),
},
{
- path: '/icons',
- name: 'icons',
- component: () => import(/* webpackChunkName: "demo" */ '../views/Icons.vue')
+ path: "/icons",
+ name: "icons",
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/Icons.vue"),
},
{
- path: '/profile',
- name: 'profile',
- component: () => import(/* webpackChunkName: "demo" */ '../views/Pages/UserProfile.vue')
+ path: "/profile",
+ name: "profile",
+ component: () =>
+ import(
+ /* webpackChunkName: "demo" */ "../views/Pages/UserProfile.vue"
+ ),
},
{
- path: '/maps',
- name: 'maps',
- component: () => import(/* webpackChunkName: "demo" */ '../views/GoogleMaps.vue')
+ path: "/maps",
+ name: "maps",
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/GoogleMaps.vue"),
},
{
- path: '/tables',
- name: 'tables',
- component: () => import(/* webpackChunkName: "demo" */ '../views/RegularTables.vue')
- }
- ]
+ path: "/tables",
+ name: "tables",
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/RegularTables.vue"),
+ },
+ ],
},
{
- path: '/',
- redirect: 'login',
+ path: "/",
+ redirect: "login",
component: AuthLayout,
children: [
{
- path: '/login',
- name: 'login',
- component: () => import(/* webpackChunkName: "demo" */ '../views/Pages/Login.vue')
+ path: "/login",
+ name: "login",
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/Pages/Login.vue"),
},
{
- path: '/register',
- name: 'register',
- component: () => import(/* webpackChunkName: "demo" */ '../views/Pages/Register.vue')
+ path: "/register",
+ name: "register",
+ component: () =>
+ import(/* webpackChunkName: "demo" */ "../views/Pages/Register.vue"),
},
- { path: '*', component: NotFound }
- ]
- }
+ { path: "*", component: NotFound },
+ ],
+ },
];
export default routes;
diff --git a/src/routes/starterRouter.js b/src/routes/starterRouter.js
index 261493f..c93d260 100644
--- a/src/routes/starterRouter.js
+++ b/src/routes/starterRouter.js
@@ -1,27 +1,27 @@
-import Vue from 'vue';
-import Router from 'vue-router';
-import DashboardLayout from '../views/Starter/SampleLayout.vue';
-import Starter from '../views/Starter/SamplePage.vue';
+import Vue from "vue";
+import Router from "vue-router";
+import DashboardLayout from "../views/Starter/SampleLayout.vue";
+import Starter from "../views/Starter/SamplePage.vue";
Vue.use(Router);
export default new Router({
routes: [
{
- path: '/',
- name: 'home',
- redirect: '/dashboard',
+ path: "/",
+ name: "home",
+ redirect: "/dashboard",
component: DashboardLayout,
children: [
{
- path: 'dashboard',
- name: 'dashboard',
- components: { default: Starter }
- }
- ]
- }
+ path: "dashboard",
+ name: "dashboard",
+ components: { default: Starter },
+ },
+ ],
+ },
],
- scrollBehavior: (to, from ,savedPosition) => {
+ scrollBehavior: (to, from, savedPosition) => {
if (savedPosition) {
return savedPosition;
}
@@ -29,5 +29,5 @@ export default new Router({
return { selector: to.hash };
}
return { x: 0, y: 0 };
- }
+ },
});
diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue
index 0e9e6c0..bc35821 100644
--- a/src/views/Dashboard.vue
+++ b/src/views/Dashboard.vue
@@ -1,16 +1,16 @@
-
-
-
+
3.48%
Since last month
@@ -18,12 +18,13 @@
-
-
+
12.18%
Since last month
@@ -31,26 +32,27 @@
-
-
+
5.72%
Since last month
-
-
-
+
54.8%
Since last month
@@ -73,12 +75,13 @@
- Month
- M
+ class="mr-2 mr-md-0"
+ :active="bigLineChart.activeIndex === 0"
+ link-classes="py-2 px-3"
+ @click.prevent="initBigChart(0)"
+ >
+ Month
+ M
-
+
diff --git a/src/views/Dashboard/SocialTrafficTable.vue b/src/views/Dashboard/SocialTrafficTable.vue
index bd3eace..e380d2a 100644
--- a/src/views/Dashboard/SocialTrafficTable.vue
+++ b/src/views/Dashboard/SocialTrafficTable.vue
@@ -11,14 +11,14 @@
-
+ header-row-class-name="thead-light"
+ >
-
- {{row.name}}
+
+ {{ row.name }}
@@ -26,9 +26,9 @@
-
+
- {{row.progress}}%
+ {{ row.progress }}%
@@ -37,56 +37,60 @@
-
+
diff --git a/src/views/GoogleMaps.vue b/src/views/GoogleMaps.vue
index 82780f6..63a25ab 100755
--- a/src/views/GoogleMaps.vue
+++ b/src/views/GoogleMaps.vue
@@ -4,12 +4,13 @@
-
-
+
3.48%
Since last month
@@ -17,12 +18,13 @@
-
-
+
12.18%
Since last month
@@ -30,26 +32,27 @@
-
-
+
5.72%
Since last month
-
-
-
+
54.8%
Since last month
@@ -63,8 +66,7 @@
-
+
@@ -72,79 +74,96 @@
diff --git a/src/views/Icons.vue b/src/views/Icons.vue
index 7f9c932..0627eaf 100644
--- a/src/views/Icons.vue
+++ b/src/views/Icons.vue
@@ -1,16 +1,17 @@
-
+
-
-
+
3.48%
Since last month
@@ -18,12 +19,13 @@
-
-
+
12.18%
Since last month
@@ -31,26 +33,27 @@
-
-
+
5.72%
Since last month
-
-
-
+
54.8%
Since last month
@@ -67,10 +70,14 @@
Icons
-
+
active-40
@@ -78,10 +85,14 @@
-
+
air-baloon
@@ -89,10 +100,14 @@
-
+
album-2
@@ -100,10 +115,14 @@
-
+
align-center
@@ -111,10 +130,14 @@
-
+
align-left-2
@@ -122,10 +145,14 @@
-
+
ambulance
@@ -133,10 +160,14 @@
-
+
app
@@ -144,10 +175,14 @@
-
+
archive-2
@@ -155,10 +190,14 @@
-
+
atom
@@ -166,10 +205,14 @@
-
+
badge
@@ -177,10 +220,14 @@
-
+
bag-17
@@ -188,10 +235,14 @@
-
+
basket
@@ -199,10 +250,14 @@
-
+
bell-55
@@ -210,10 +265,14 @@
-
+
bold-down
@@ -221,10 +280,14 @@
-
+
bold-left
@@ -232,10 +295,14 @@
-
+
bold-right
@@ -243,10 +310,14 @@
-
+
bold-up
@@ -254,10 +325,14 @@
-
+
bold
@@ -265,10 +340,14 @@
-
+
book-bookmark
@@ -276,10 +355,14 @@
-
+
books
@@ -287,10 +370,14 @@
-
+
box-2
@@ -298,10 +385,14 @@
-
+
briefcase-24
@@ -309,10 +400,14 @@
-
+
building
@@ -320,10 +415,14 @@
-
+
bulb-61
@@ -331,10 +430,14 @@
-
+
bullet-list-67
@@ -342,10 +445,14 @@
-
+
bus-front-12
@@ -353,10 +460,14 @@
-
+
button-pause
@@ -364,10 +475,14 @@
-
+
button-play
@@ -375,10 +490,14 @@
-
+
button-power
@@ -386,10 +505,14 @@
-
+
calendar-grid-58
@@ -397,10 +520,14 @@
-
+
camera-compact
@@ -408,10 +535,14 @@
-
+
caps-small
@@ -419,10 +550,14 @@
-
+
cart
@@ -430,10 +565,14 @@
-
+
chart-bar-32
@@ -441,10 +580,14 @@
-
+
chart-pie-35
@@ -452,10 +595,14 @@
-
+
chat-round
@@ -463,10 +610,14 @@
-
+
check-bold
@@ -474,10 +625,14 @@
-
+
circle-08
@@ -485,10 +640,14 @@
-
+
cloud-download-95
@@ -496,10 +655,14 @@
-
+
cloud-upload-96
@@ -507,10 +670,14 @@
-
+
compass-04
@@ -518,10 +685,14 @@
-
+
controller
@@ -529,10 +700,14 @@
-
+
credit-card
@@ -540,10 +715,14 @@
-
+
curved-next
@@ -551,10 +730,14 @@
-
+
delivery-fast
@@ -562,10 +745,14 @@
-
+
diamond
@@ -573,10 +760,14 @@
-
+
email-83
@@ -584,10 +775,14 @@
-
+
fat-add
@@ -595,10 +790,14 @@
-
+
fat-delete
@@ -606,10 +805,14 @@
-
+
fat-remove
@@ -617,10 +820,14 @@
-
+
favourite-28
@@ -628,10 +835,14 @@
-
+
folder-17
@@ -639,10 +850,14 @@
-
+
glasses-2
@@ -650,10 +865,14 @@
-
+