@@ -184,12 +184,10 @@
border-radius: 10px;
border: 1px solid;
}
- .bubble.fa-only .text {
- margin-right: 5px;
- }
.bubble.fa-only .v-icon {
font-size: 20px !important;
line-height: 20px;
+ margin-left: 5px;
}
.bubble.fa-only .Fa {
font-size: 14px !important;
diff --git a/resources/js/Global/components/Misc/End-Rows.vue b/resources/js/Global/components/Misc/End-Rows.vue
new file mode 100644
index 0000000..6679c3a
--- /dev/null
+++ b/resources/js/Global/components/Misc/End-Rows.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+ {{ row.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/Global/components/Tiles/Back-Tile.vue b/resources/js/Global/components/Tiles/Back-Tile.vue
index db77651..cc7ab60 100644
--- a/resources/js/Global/components/Tiles/Back-Tile.vue
+++ b/resources/js/Global/components/Tiles/Back-Tile.vue
@@ -30,7 +30,7 @@ export default {
width: 110px;
height: 100%;
position: absolute;
- padding: 10px;
+ padding: 5px;
right: 0px;
top: 0px;
border: 1px solid transparent;
diff --git a/resources/js/Global/components/Tiles/Icon-Tile.vue b/resources/js/Global/components/Tiles/Icon-Tile.vue
index d650901..1401943 100644
--- a/resources/js/Global/components/Tiles/Icon-Tile.vue
+++ b/resources/js/Global/components/Tiles/Icon-Tile.vue
@@ -68,11 +68,15 @@ export default {
+
diff --git a/resources/js/Global/plugins/chart/apexWrapper.js b/resources/js/Global/plugins/chart/apexWrapper.js
new file mode 100644
index 0000000..fc7e703
--- /dev/null
+++ b/resources/js/Global/plugins/chart/apexWrapper.js
@@ -0,0 +1,19 @@
+import Pie from "./apexhart/type/pie";
+import Bar from "./apexhart/type/bar";
+import Linear from "./apexhart/type/linear";
+
+export default class {
+
+ constructor(typeChart, options) {
+ switch (typeChart) {
+ case 'pie':
+ return new Pie(options);
+ case 'bar':
+ return new Bar(options);
+ case 'linear':
+ return new Linear(options);
+ default:
+ throw new Error("The Type Chart is Not Support!");
+ }
+ }
+}
diff --git a/resources/js/Global/plugins/chart/apexhart/chart.js b/resources/js/Global/plugins/chart/apexhart/chart.js
new file mode 100644
index 0000000..21463ac
--- /dev/null
+++ b/resources/js/Global/plugins/chart/apexhart/chart.js
@@ -0,0 +1,23 @@
+import axios from 'axios';
+
+export default class {
+
+ constructor({url, params}) {
+ this.url = url;
+ this.params = params;
+ this.isLoadRequest = false;
+ this.responseChart = null;
+ }
+
+ async request() {
+ if (!this.isLoadRequest) {
+ let response = await axios.get(this.url, {params: this.params});
+ if (response && response.status === 200) {
+ this.responseChart = response.data;
+ this.isLoadRequest = true;
+ }
+ }
+ return this.responseChart;
+ }
+
+}
diff --git a/resources/js/Global/plugins/chart/apexhart/type/bar.js b/resources/js/Global/plugins/chart/apexhart/type/bar.js
new file mode 100644
index 0000000..1e8be62
--- /dev/null
+++ b/resources/js/Global/plugins/chart/apexhart/type/bar.js
@@ -0,0 +1,68 @@
+import chart from "../chart";
+
+export default class extends chart {
+
+ constructor(options) {
+ super(options);
+ this.type = options.type ? options.type : 'daily';
+
+ this.options = {
+ fill: {
+ colors: ["#e6e6e6"]
+ },
+ chart: {
+ id: "lineChart",
+ fontFamily: '"iranyekan-regular-en-num", "Montserrat-Regular"'
+ },
+ xaxis: {
+ categories: []
+ },
+ dataLabels: {
+ style: {
+ colors: ["#000", "#000", "#000"]
+ }
+ },
+ series: [
+ {
+ name: "bar chart",
+ data: []
+ }
+ ]
+ };
+
+ }
+
+ async getOptions() {
+ await this.request();
+ this.setOptions();
+ return this.options;
+ }
+
+ setOptions() {
+ switch (this.type) {
+ case 'weekly':
+ return this.setWeekly();
+ case 'monthly':
+ return this.setMonthly();
+ case 'daily':
+ return this.setDaily();
+ }
+ }
+
+ setWeekly() {
+ this.options.series[0].data = this.responseChart.map(x => x.count);
+ this.options.xaxis.categories = this.responseChart.map(x => x.week);
+ }
+
+ setMonthly() {
+ this.options.series[0].data = this.responseChart.map(x => x.count);
+ this.options.xaxis.categories = this.responseChart.map(x => x.month + ' ' + x.year.substring(2) );
+ }
+
+ setDaily() {
+ this.options.series[0].data = this.responseChart.map(x => x.count);
+ this.options.xaxis.categories = this.responseChart.map(x => x.date);
+ }
+
+
+}
diff --git a/resources/js/Global/plugins/chart/apexhart/type/linear.js b/resources/js/Global/plugins/chart/apexhart/type/linear.js
new file mode 100644
index 0000000..18409d9
--- /dev/null
+++ b/resources/js/Global/plugins/chart/apexhart/type/linear.js
@@ -0,0 +1,20 @@
+import chart from "../chart";
+
+export default class extends chart {
+
+ constructor(options) {
+ super(options);
+ }
+
+
+ async getOptions() {
+ await this.request(this.setOptions);
+ return this.options;
+ }
+
+ setOptions(self) {
+ self.options.series[0].data = self.responseChart.map(x => x.user_count);
+ self.options.xaxis.categories = self.responseChart.map(x => x.week);
+ }
+
+}
diff --git a/resources/js/Global/plugins/chart/apexhart/type/pie.js b/resources/js/Global/plugins/chart/apexhart/type/pie.js
new file mode 100644
index 0000000..5987ea1
--- /dev/null
+++ b/resources/js/Global/plugins/chart/apexhart/type/pie.js
@@ -0,0 +1,45 @@
+import chart from "../chart";
+
+export default class extends chart {
+
+ constructor(options) {
+ super(options);
+ this.options = {
+ chart: {
+ type: "donut",
+ id: "pieChart",
+ fontFamily: '"iranyekan-regular-en-num", "Montserrat-Regular"'
+ },
+ fill: {
+ label: [],
+ },
+ dataLabels: {
+ enabled: true,
+ formatter: function (val, opt) {
+ return Math.round(val * 10) / 10 + '% ' + opt.w.globals.labels[opt.seriesIndex]
+ },
+ },
+ series: [],
+ labels: [],
+ legend: {
+ fontSize: "16px"
+ }
+ };
+ }
+
+
+ async getOptions() {
+ await this.request();
+ this.setOptions();
+ return this.options;
+ }
+
+ setOptions() {
+ this.options.series = this.responseChart.map(x => x.count);
+ this.options.labels = this.responseChart.map(x => x.category);
+ this.options.fill.labels = this.responseChart.map(x => x.category);
+ // this.options.labels = this.responseChart.map(x => x.category.name);
+ // this.options.fill.label = this.responseChart.map(x => x.category.name);
+ // this.options['colors'] = this.responseChart.map( x => x.category.color ? x.category.color : "#fff");
+ }
+}
diff --git a/resources/js/Global/scss/Colors.scss b/resources/js/Global/scss/Colors.scss
index 35347e9..3bc1717 100644
--- a/resources/js/Global/scss/Colors.scss
+++ b/resources/js/Global/scss/Colors.scss
@@ -21,50 +21,6 @@ $Value in $colors {
}
-/* --------------------------------------------------------
- Steps : Colors
--------------------------------------------------------- */
-
-@each $color,
-$value in $colors {
- //-------------------Active State-----------------------------
- .v-stepper.we-stepper .v-stepper__step.theme-#{$color}.active .v-stepper__label {
- color: #fff;
- }
- .v-stepper.we-stepper .v-stepper__step.theme-#{$color}.active .v-stepper__step__step {
- color: #fff;
- }
- .v-stepper.we-stepper .v-stepper__step.theme-#{$color}.active {
- background-color: $value;
- }
-
- //-------------------Passed State-----------------------------
- .v-stepper.we-stepper .v-stepper__step.theme-#{$color}.passed .v-stepper__label {
- color: $value;
- }
- .v-stepper.we-stepper .v-stepper__step.theme-#{$color}.passed .v-stepper__step__step {
- color: $value
- }
-
- //-------------------Current Step-----------------------------
- .order-status .current-status.theme-#{$color} {
- border: 2px solid $value;
- }
- .order-status .current-status.theme-#{$color} .symbol .v-icon {
- color: $value
- }
-
-
-}
-@each $backgroundColor,
-$value in $backgrounds {
- .v-stepper.we-stepper .v-stepper__step.theme-#{$backgroundColor}.passed {
- background-color: $value;
- }
- .bg-#{$backgroundColor} {
- background-color: $value;
- }
-}
.text-gradient.orange-purple {
diff --git a/resources/js/Global/scss/Misc.scss b/resources/js/Global/scss/Misc.scss
index 545b68e..3bd2a2a 100644
--- a/resources/js/Global/scss/Misc.scss
+++ b/resources/js/Global/scss/Misc.scss
@@ -348,6 +348,9 @@ $Value in $colors {
border-radius: 8px;
margin-left: 8px;
}
+.v-application .white.color-square {
+ border: 1px solid #000 !important;
+}
.image-square {
width: 32px;
@@ -405,6 +408,9 @@ $Value in $colors {
.mt--8 {
margin-top: -8px;
}
+.mr--3 {
+ margin-right: -3px;
+}
/* --------------------------------------------------------
masonry :: End
@@ -654,7 +660,6 @@ $value in $backgrounds {
margin: 0px -20px;
padding: 5px 20px;
background-color: #f9f9f9;
- margin-bottom: 20px;
}
.full-row.mr-ml--30 {
margin: 0px -30px;
@@ -709,6 +714,10 @@ $value in $colors {
padding-bottom: 2px;
padding-top: 2px;
}
+.row.cols-pt-pb-2 .col {
+ padding-bottom: 4px;
+ padding-top: 4px;
+}
/*---------------------------------------------------------------*/
@@ -729,7 +738,7 @@ $value in $colors {
/*---------------------------------------------------------------*/
-/* hidden states :: Begin
+/* disable states :: Begin
/*---------------------------------------------------------------*/
.hidden-by-height {
max-height: 0px;
@@ -742,6 +751,25 @@ $value in $colors {
opacity: 1;
}
+.disable-by-gray-scale:not(.active) {
+ filter: grayscale(100%);
+ transition: 0.3s;
+ cursor: not-allowed;
+ }
+.disable-by-gray-scale:not(.active) > * {
+ pointer-events: none;
+}
+
+
+.disable-by-opacity:not(.active) {
+ opacity: 0.5;
+ transition: 0.3s;
+ cursor: not-allowed;
+}
+.disable-by-opacity:not(.active) > * {
+ pointer-events: none;
+}
+
/*---------------------------------------------------------------*/
/* home Tiles :: Begin
/*---------------------------------------------------------------*/
diff --git a/resources/js/Global/scss/Modify.scss b/resources/js/Global/scss/Modify.scss
index ad59007..6e737b0 100644
--- a/resources/js/Global/scss/Modify.scss
+++ b/resources/js/Global/scss/Modify.scss
@@ -591,11 +591,9 @@ $Value in $Shadows {
justify-content: center;
}
.v-stepper.we-stepper .v-stepper__step .v-stepper__label {
- color: #32c5d2;
text-align: right;
}
.v-stepper.we-stepper .v-stepper__step .v-stepper__step__step {
- color: #32c5d2;
border-radius: 0px;
height: auto;
min-width: auto;
@@ -612,29 +610,6 @@ $Value in $Shadows {
color: rgba(0,0,0,.38);
}
-.v-stepper.we-stepper .v-stepper__label .Fa {
- font-size: 18px;
-}
-.v-stepper.we-stepper .v-stepper__label .En {
- font-size: 12px;
- margin-top: 5px;
- text-transform: uppercase;
- letter-spacing: 3px;
-}
-
-//------------------------------------------------------
-// Theme Gray
-//------------------------------------------------------
-.v-stepper.we-stepper .v-stepper__step.v-stepper__step--inactive {
- //border-right: 2px solid #00000061;
- background-color: transparent;
-}
-.v-stepper.we-stepper .v-stepper__step.v-stepper__step--inactive .v-stepper__label {
- color: #00000061;
-}
-.v-stepper.we-stepper .v-stepper__step.v-stepper__step--inactive .v-stepper__step__step {
- color: #00000061;
-}
//------------------------------------------------------
diff --git a/resources/js/Global/utils/module-color/moduleColor.js b/resources/js/Global/utils/module-color/moduleColor.js
index 6e2d21e..fedaa17 100644
--- a/resources/js/Global/utils/module-color/moduleColor.js
+++ b/resources/js/Global/utils/module-color/moduleColor.js
@@ -43,7 +43,7 @@ export default {
// --------------------------
// Products
// --------------------------
- product : 'cyan',
+ product : 'red',
translation : 'blue',
pricing_method: 'purple',
product_option: 'gold',
@@ -53,7 +53,7 @@ export default {
// --------------------------
// Service
// --------------------------
- service : 'cyan',
+ service : 'orange',
// --------------------------
// Store
@@ -86,6 +86,11 @@ export default {
gallery : 'black',
+ // --------------------------
+ // Finance
+ // --------------------------
+ expense : 'red',
+