@tekkare/auriga 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/runtime/components/allFlags.vue +245 -0
- package/dist/runtime/components/allFlags.vue.d.ts +8 -0
- package/dist/runtime/components/argActions.vue +11 -6
- package/dist/runtime/components/argActions.vue.d.ts +12 -3
- package/dist/runtime/components/argChart.vue +109 -167
- package/dist/runtime/components/argChart.vue.d.ts +1 -1
- package/dist/runtime/components/argChartTableCard.vue +12 -2
- package/dist/runtime/components/argChartTableCard.vue.d.ts +22 -1
- package/dist/runtime/components/argComplexSelect.vue +1 -1
- package/dist/runtime/components/argDate.vue +77 -0
- package/dist/runtime/components/argDate.vue.d.ts +34 -0
- package/dist/runtime/components/argErrors.vue +168 -0
- package/dist/runtime/components/argErrors.vue.d.ts +56 -0
- package/dist/runtime/components/argFilterCard.vue +1 -0
- package/dist/runtime/components/argFlag.vue +447 -217
- package/dist/runtime/components/argFlag.vue.d.ts +4 -4
- package/dist/runtime/components/argHybridChart.vue +277 -0
- package/dist/runtime/components/argHybridChart.vue.d.ts +48 -0
- package/dist/runtime/components/argMainLayout.vue +1 -0
- package/dist/runtime/components/argMenuLink.vue +43 -15
- package/dist/runtime/components/argMenuLink.vue.d.ts +15 -4
- package/dist/runtime/components/argNumberInput.vue +223 -0
- package/dist/runtime/components/argNumberInput.vue.d.ts +57 -0
- package/dist/runtime/components/argSearchInput.vue +1 -2
- package/dist/runtime/components/argSearchInput.vue.d.ts +0 -2
- package/dist/runtime/components/argSimpleChart.vue +123 -0
- package/dist/runtime/components/argSimpleChart.vue.d.ts +32 -0
- package/dist/runtime/components/argSimpleInput.vue +99 -0
- package/dist/runtime/components/argSimpleInput.vue.d.ts +48 -0
- package/dist/runtime/components/argSmallAreaChart.vue +138 -0
- package/dist/runtime/components/argSmallAreaChart.vue.d.ts +122 -0
- package/dist/runtime/components/argSourceContainer.vue +34 -0
- package/dist/runtime/components/argSourceContainer.vue.d.ts +2 -0
- package/dist/runtime/components/argStyle.vue +8 -0
- package/dist/runtime/components/argTable.vue +45 -8
- package/dist/runtime/components/argTable.vue.d.ts +14 -2
- package/dist/runtime/components/argTags.vue +6 -4
- package/dist/runtime/components/argTrendIndicator.vue +82 -0
- package/dist/runtime/components/argTrendIndicator.vue.d.ts +23 -0
- package/dist/runtime/components/argTutoModal.vue +186 -0
- package/dist/runtime/components/argTutoModal.vue.d.ts +41 -0
- package/package.json +2 -1
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
<div class="prmt_chart" :class="`${type}_arg_chart`">
|
|
3
3
|
<h1 class="prmt_chart_title"><slot name="title" /></h1>
|
|
4
4
|
<div class="prmt_chart_source"><slot name="source" /></div>
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/>
|
|
14
|
-
</client-only>
|
|
5
|
+
<apexchart
|
|
6
|
+
:type="chartType"
|
|
7
|
+
:options="chartOptions"
|
|
8
|
+
:series="series"
|
|
9
|
+
:height="height"
|
|
10
|
+
:width="width"
|
|
11
|
+
:key="chartKey"
|
|
12
|
+
/>
|
|
15
13
|
</div>
|
|
16
14
|
</template>
|
|
17
15
|
<script>
|
|
18
16
|
import {
|
|
19
|
-
onMounted,
|
|
20
17
|
ref,
|
|
21
18
|
computed,
|
|
22
19
|
watch,
|
|
23
|
-
defineProps,
|
|
24
|
-
defineEmits,
|
|
25
20
|
defineComponent,
|
|
26
|
-
defineAsyncComponent
|
|
21
|
+
defineAsyncComponent
|
|
27
22
|
} from "vue";
|
|
28
|
-
|
|
29
23
|
const ApexCharts = defineAsyncComponent(() => import("vue3-apexcharts"));
|
|
30
24
|
export default defineComponent({
|
|
31
25
|
name: "argChart",
|
|
@@ -36,27 +30,27 @@ export default defineComponent({
|
|
|
36
30
|
required: false,
|
|
37
31
|
default() {
|
|
38
32
|
return {};
|
|
39
|
-
}
|
|
33
|
+
}
|
|
40
34
|
},
|
|
41
35
|
series: {
|
|
42
36
|
type: Array,
|
|
43
|
-
required: true
|
|
37
|
+
required: true
|
|
44
38
|
},
|
|
45
39
|
type: {
|
|
46
40
|
type: String,
|
|
47
|
-
required: true
|
|
41
|
+
required: true
|
|
48
42
|
},
|
|
49
43
|
height: {
|
|
50
44
|
type: String,
|
|
51
|
-
default: "auto"
|
|
45
|
+
default: "auto"
|
|
52
46
|
},
|
|
53
47
|
width: {
|
|
54
48
|
type: String,
|
|
55
|
-
default: "100%"
|
|
49
|
+
default: "100%"
|
|
56
50
|
},
|
|
57
51
|
categories: {
|
|
58
52
|
type: Array,
|
|
59
|
-
required: true
|
|
53
|
+
required: true
|
|
60
54
|
},
|
|
61
55
|
colors: {
|
|
62
56
|
type: Array,
|
|
@@ -77,29 +71,29 @@ export default defineComponent({
|
|
|
77
71
|
"#0ea5e9",
|
|
78
72
|
"#84cc16",
|
|
79
73
|
"#d946ef",
|
|
80
|
-
"#06b6d4"
|
|
81
|
-
]
|
|
74
|
+
"#06b6d4"
|
|
75
|
+
]
|
|
82
76
|
},
|
|
83
77
|
withPercentages: {
|
|
84
78
|
type: Boolean,
|
|
85
|
-
default: false
|
|
79
|
+
default: false
|
|
86
80
|
},
|
|
87
81
|
compactValues: {
|
|
88
82
|
type: Boolean,
|
|
89
|
-
default: false
|
|
83
|
+
default: false
|
|
90
84
|
},
|
|
91
85
|
french: {
|
|
92
86
|
type: Boolean,
|
|
93
|
-
default: false
|
|
87
|
+
default: false
|
|
94
88
|
},
|
|
95
89
|
hideLegend: {
|
|
96
90
|
type: Boolean,
|
|
97
|
-
default: false
|
|
91
|
+
default: false
|
|
98
92
|
},
|
|
99
93
|
tooltipOptions: {
|
|
100
94
|
type: Object,
|
|
101
|
-
default:
|
|
102
|
-
}
|
|
95
|
+
default: void 0
|
|
96
|
+
}
|
|
103
97
|
},
|
|
104
98
|
setup(props) {
|
|
105
99
|
const chartKey = ref(1);
|
|
@@ -108,33 +102,21 @@ export default defineComponent({
|
|
|
108
102
|
const hasPercentages = props.withPercentages;
|
|
109
103
|
const compactMode = props.compactValues;
|
|
110
104
|
const hideLegend = props.hideLegend;
|
|
111
|
-
|
|
112
|
-
//General styling
|
|
113
105
|
props.options["grid"] = {
|
|
114
106
|
borderColor: "#EAEAF5",
|
|
115
107
|
strokeDashArray: 7,
|
|
116
108
|
padding: { left: 30, right: 30 },
|
|
117
|
-
row: { colors: ["transparent"], opacity: 0 }
|
|
109
|
+
row: { colors: ["transparent"], opacity: 0 }
|
|
118
110
|
};
|
|
119
111
|
props.options["chart"] = {
|
|
120
112
|
animations: { enabled: false },
|
|
121
113
|
redrawOnParentResize: true,
|
|
122
|
-
redrawOnWindowResize: true
|
|
114
|
+
redrawOnWindowResize: true
|
|
123
115
|
};
|
|
124
116
|
props.options["title"] = { align: "center" };
|
|
125
|
-
|
|
126
|
-
//Change to French
|
|
127
|
-
//if(this.french){
|
|
128
|
-
// this.options.chart['locales'] = [fr]
|
|
129
|
-
// this.options.chart['defaultLocale'] = 'fr'
|
|
130
|
-
//}
|
|
131
|
-
|
|
132
|
-
//Override colors
|
|
133
|
-
|
|
134
117
|
if (props.colors) {
|
|
135
118
|
props.options["colors"] = props.colors;
|
|
136
119
|
}
|
|
137
|
-
//Adjustments specific to line charts
|
|
138
120
|
if (props.type === "line") {
|
|
139
121
|
props.options["stroke"] = { width: 3, curve: "smooth" };
|
|
140
122
|
let defaultDataLabelsConfig = {
|
|
@@ -143,18 +125,18 @@ export default defineComponent({
|
|
|
143
125
|
style: {
|
|
144
126
|
fontFamily: "Figtree, sans-serif",
|
|
145
127
|
fontSize: "12px",
|
|
146
|
-
fontWeight: "400"
|
|
128
|
+
fontWeight: "400"
|
|
147
129
|
},
|
|
148
130
|
background: {
|
|
149
131
|
borderColor: "transparent",
|
|
150
132
|
opacity: 1,
|
|
151
|
-
borderRadius: 2
|
|
152
|
-
}
|
|
133
|
+
borderRadius: 2
|
|
134
|
+
}
|
|
153
135
|
};
|
|
154
136
|
if (props.options.dataLabels && props.options.dataLabels.formatter) {
|
|
155
137
|
props.options["dataLabels"] = {
|
|
156
138
|
...defaultDataLabelsConfig,
|
|
157
|
-
...props.options.dataLabels
|
|
139
|
+
...props.options.dataLabels
|
|
158
140
|
};
|
|
159
141
|
} else {
|
|
160
142
|
let defaultDataLabelFormatter = {
|
|
@@ -163,30 +145,19 @@ export default defineComponent({
|
|
|
163
145
|
if (compactMode) {
|
|
164
146
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
165
147
|
notation: "compact",
|
|
166
|
-
maximumFractionDigits: 1
|
|
148
|
+
maximumFractionDigits: 1
|
|
167
149
|
}).format(value);
|
|
168
150
|
}
|
|
169
151
|
if (!compactMode) {
|
|
170
|
-
returnValue = new Intl.NumberFormat("fr-FR")
|
|
171
|
-
.format(value)
|
|
172
|
-
.replace(",", ".");
|
|
152
|
+
returnValue = new Intl.NumberFormat("fr-FR").format(value).replace(",", ".");
|
|
173
153
|
}
|
|
174
|
-
//Make sure data is not null and don't show percentage if null
|
|
175
154
|
if (hasPercentages) {
|
|
176
155
|
let seriesLength = seriesData.length;
|
|
177
|
-
if (
|
|
178
|
-
opt.dataPointIndex
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
) {
|
|
183
|
-
let previousVal =
|
|
184
|
-
seriesData[opt.seriesIndex].data[opt.dataPointIndex - 1];
|
|
185
|
-
let percentageValue = new Intl.NumberFormat("fr-FR")
|
|
186
|
-
.format(
|
|
187
|
-
(((value - previousVal) / previousVal) * 100.0).toFixed(1)
|
|
188
|
-
)
|
|
189
|
-
.replace(",", ".");
|
|
156
|
+
if (opt.dataPointIndex > 0 && seriesData[opt.seriesIndex].data[opt.dataPointIndex - 1] !== null && seriesData[opt.seriesIndex].data[opt.dataPointIndex] !== null) {
|
|
157
|
+
let previousVal = seriesData[opt.seriesIndex].data[opt.dataPointIndex - 1];
|
|
158
|
+
let percentageValue = new Intl.NumberFormat("fr-FR").format(
|
|
159
|
+
((value - previousVal) / previousVal * 100).toFixed(1)
|
|
160
|
+
).replace(",", ".");
|
|
190
161
|
if (percentageValue > 0) {
|
|
191
162
|
returnValue = returnValue + " (+" + percentageValue + "%)";
|
|
192
163
|
} else {
|
|
@@ -194,19 +165,16 @@ export default defineComponent({
|
|
|
194
165
|
}
|
|
195
166
|
}
|
|
196
167
|
}
|
|
197
|
-
if (
|
|
198
|
-
seriesData[opt.seriesIndex].data[opt.dataPointIndex] !== null
|
|
199
|
-
) {
|
|
168
|
+
if (seriesData[opt.seriesIndex].data[opt.dataPointIndex] !== null) {
|
|
200
169
|
return returnValue;
|
|
201
170
|
}
|
|
202
|
-
}
|
|
171
|
+
}
|
|
203
172
|
};
|
|
204
173
|
props.options["dataLabels"] = {
|
|
205
174
|
...defaultDataLabelsConfig,
|
|
206
|
-
...defaultDataLabelFormatter
|
|
175
|
+
...defaultDataLabelFormatter
|
|
207
176
|
};
|
|
208
177
|
}
|
|
209
|
-
|
|
210
178
|
props.options["legend"] = {
|
|
211
179
|
showForSingleSeries: true,
|
|
212
180
|
showForNullSeries: true,
|
|
@@ -219,9 +187,9 @@ export default defineComponent({
|
|
|
219
187
|
width: 10,
|
|
220
188
|
height: 10,
|
|
221
189
|
radius: 1,
|
|
222
|
-
showNullDataPoints: true
|
|
190
|
+
showNullDataPoints: true
|
|
223
191
|
},
|
|
224
|
-
itemMargin: { vertical: 8, horizontal: 8 }
|
|
192
|
+
itemMargin: { vertical: 8, horizontal: 8 }
|
|
225
193
|
};
|
|
226
194
|
props.options["xaxis"] = {
|
|
227
195
|
categories: props.categories,
|
|
@@ -233,9 +201,9 @@ export default defineComponent({
|
|
|
233
201
|
fontFamily: "Figtree, sans-serif",
|
|
234
202
|
fontSize: "12px",
|
|
235
203
|
fontWeight: "400",
|
|
236
|
-
colors: ["#3E3F5E"]
|
|
237
|
-
}
|
|
238
|
-
}
|
|
204
|
+
colors: ["#3E3F5E"]
|
|
205
|
+
}
|
|
206
|
+
}
|
|
239
207
|
};
|
|
240
208
|
props.options["yaxis"] = { min: 0, show: false };
|
|
241
209
|
props.options["markers"] = { size: 0, showNullDataPoints: true };
|
|
@@ -246,12 +214,10 @@ export default defineComponent({
|
|
|
246
214
|
y: {
|
|
247
215
|
formatter(value, { series, seriesIndex, dataPointIndex, w }) {
|
|
248
216
|
return value;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
251
219
|
};
|
|
252
|
-
}
|
|
253
|
-
//Column bar charts
|
|
254
|
-
else if (props.type === "bar-column" || props.type === "bar") {
|
|
220
|
+
} else if (props.type === "bar-column" || props.type === "bar") {
|
|
255
221
|
let predefinedColors = false;
|
|
256
222
|
if (props.colors) {
|
|
257
223
|
predefinedColors = true;
|
|
@@ -261,8 +227,8 @@ export default defineComponent({
|
|
|
261
227
|
distributed: predefinedColors,
|
|
262
228
|
columnWidth: "50%",
|
|
263
229
|
colors: { backgroundBarOpacity: 1 },
|
|
264
|
-
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
265
|
-
}
|
|
230
|
+
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
231
|
+
}
|
|
266
232
|
};
|
|
267
233
|
props.options["dataLabels"] = {
|
|
268
234
|
position: "top",
|
|
@@ -274,7 +240,7 @@ export default defineComponent({
|
|
|
274
240
|
if (compactMode) {
|
|
275
241
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
276
242
|
notation: "compact",
|
|
277
|
-
maximumFractionDigits: 1
|
|
243
|
+
maximumFractionDigits: 1
|
|
278
244
|
}).format(value);
|
|
279
245
|
}
|
|
280
246
|
if (!compactMode) {
|
|
@@ -285,13 +251,11 @@ export default defineComponent({
|
|
|
285
251
|
(a, b) => a + b,
|
|
286
252
|
0
|
|
287
253
|
);
|
|
288
|
-
let
|
|
289
|
-
|
|
290
|
-
.replace(",", ".");
|
|
291
|
-
returnValue = returnValue + " (" + percentage + "%)";
|
|
254
|
+
let percentage2 = new Intl.NumberFormat("fr-FR").format((100 * value / seriesTotal).toFixed(1)).replace(",", ".");
|
|
255
|
+
returnValue = returnValue + " (" + percentage2 + "%)";
|
|
292
256
|
}
|
|
293
257
|
return returnValue;
|
|
294
|
-
}
|
|
258
|
+
}
|
|
295
259
|
};
|
|
296
260
|
if (props.hideLegend) {
|
|
297
261
|
props.options["legend"] = { show: false };
|
|
@@ -309,14 +273,12 @@ export default defineComponent({
|
|
|
309
273
|
fontFamily: "Figtree, sans-serif",
|
|
310
274
|
fontSize: "14px",
|
|
311
275
|
fontWeight: "400",
|
|
312
|
-
colors: ["#3E3F5E"]
|
|
313
|
-
}
|
|
314
|
-
}
|
|
276
|
+
colors: ["#3E3F5E"]
|
|
277
|
+
}
|
|
278
|
+
}
|
|
315
279
|
};
|
|
316
280
|
props.options["yaxis"] = { show: false, min: 0 };
|
|
317
|
-
}
|
|
318
|
-
//Horizontal bar chart
|
|
319
|
-
else if (props.type === "bar-horizontal") {
|
|
281
|
+
} else if (props.type === "bar-horizontal") {
|
|
320
282
|
let predefinedColors = false;
|
|
321
283
|
if (props.colors) {
|
|
322
284
|
predefinedColors = true;
|
|
@@ -328,8 +290,8 @@ export default defineComponent({
|
|
|
328
290
|
borderRadius: 2,
|
|
329
291
|
barHeight: "50%",
|
|
330
292
|
colors: { backgroundBarOpacity: 1 },
|
|
331
|
-
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
332
|
-
}
|
|
293
|
+
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
294
|
+
}
|
|
333
295
|
};
|
|
334
296
|
props.options["dataLabels"] = {
|
|
335
297
|
position: "top",
|
|
@@ -341,7 +303,7 @@ export default defineComponent({
|
|
|
341
303
|
if (compactMode) {
|
|
342
304
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
343
305
|
notation: "compact",
|
|
344
|
-
maximumFractionDigits: 1
|
|
306
|
+
maximumFractionDigits: 1
|
|
345
307
|
}).format(value);
|
|
346
308
|
}
|
|
347
309
|
if (!compactMode) {
|
|
@@ -352,13 +314,11 @@ export default defineComponent({
|
|
|
352
314
|
(a, b) => a + b,
|
|
353
315
|
0
|
|
354
316
|
);
|
|
355
|
-
let
|
|
356
|
-
|
|
357
|
-
.replace(",", ".");
|
|
358
|
-
returnValue = returnValue + " (" + percentage + "%)";
|
|
317
|
+
let percentage2 = new Intl.NumberFormat("fr-FR").format((100 * value / seriesTotal).toFixed(1)).replace(",", ".");
|
|
318
|
+
returnValue = returnValue + " (" + percentage2 + "%)";
|
|
359
319
|
}
|
|
360
320
|
return returnValue;
|
|
361
|
-
}
|
|
321
|
+
}
|
|
362
322
|
};
|
|
363
323
|
if (props.hideLegend) {
|
|
364
324
|
props.options["legend"] = { show: false };
|
|
@@ -376,21 +336,19 @@ export default defineComponent({
|
|
|
376
336
|
fontFamily: "Figtree, sans-serif",
|
|
377
337
|
fontSize: "14px",
|
|
378
338
|
fontWeight: "400",
|
|
379
|
-
colors: ["#3E3F5E"]
|
|
380
|
-
}
|
|
381
|
-
}
|
|
339
|
+
colors: ["#3E3F5E"]
|
|
340
|
+
}
|
|
341
|
+
}
|
|
382
342
|
};
|
|
383
|
-
}
|
|
384
|
-
// Horizontal Stacks
|
|
385
|
-
else if (props.type === "bar-horizontal-stack") {
|
|
343
|
+
} else if (props.type === "bar-horizontal-stack") {
|
|
386
344
|
props.options["plotOptions"] = {
|
|
387
345
|
bar: {
|
|
388
346
|
horizontal: true,
|
|
389
347
|
borderRadius: 6,
|
|
390
348
|
barHeight: "50%",
|
|
391
349
|
colors: { backgroundBarOpacity: 1 },
|
|
392
|
-
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
393
|
-
}
|
|
350
|
+
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
351
|
+
}
|
|
394
352
|
};
|
|
395
353
|
props.options["dataLabels"] = {
|
|
396
354
|
position: "top",
|
|
@@ -402,7 +360,7 @@ export default defineComponent({
|
|
|
402
360
|
if (compactMode) {
|
|
403
361
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
404
362
|
notation: "compact",
|
|
405
|
-
maximumFractionDigits: 1
|
|
363
|
+
maximumFractionDigits: 1
|
|
406
364
|
}).format(value);
|
|
407
365
|
}
|
|
408
366
|
if (!compactMode) {
|
|
@@ -411,15 +369,13 @@ export default defineComponent({
|
|
|
411
369
|
if (hasPercentages) {
|
|
412
370
|
let groupTotal = 0;
|
|
413
371
|
seriesData.map(
|
|
414
|
-
(d) =>
|
|
372
|
+
(d) => groupTotal = groupTotal + d.data[opt.dataPointIndex]
|
|
415
373
|
);
|
|
416
|
-
let
|
|
417
|
-
|
|
418
|
-
.replace(",", ".");
|
|
419
|
-
returnValue = returnValue + " (" + percentage + "%)";
|
|
374
|
+
let percentage2 = new Intl.NumberFormat("fr-FR").format((100 * value / groupTotal).toFixed(1)).replace(",", ".");
|
|
375
|
+
returnValue = returnValue + " (" + percentage2 + "%)";
|
|
420
376
|
}
|
|
421
377
|
return returnValue;
|
|
422
|
-
}
|
|
378
|
+
}
|
|
423
379
|
};
|
|
424
380
|
if (props.tooltipOptions) {
|
|
425
381
|
props.options["tooltip"] = props.tooltipOptions;
|
|
@@ -435,9 +391,9 @@ export default defineComponent({
|
|
|
435
391
|
fontFamily: "Figtree, sans-serif",
|
|
436
392
|
fontSize: "14px",
|
|
437
393
|
fontWeight: "400",
|
|
438
|
-
colors: ["#3E3F5E"]
|
|
439
|
-
}
|
|
440
|
-
}
|
|
394
|
+
colors: ["#3E3F5E"]
|
|
395
|
+
}
|
|
396
|
+
}
|
|
441
397
|
};
|
|
442
398
|
} else if (props.type === "full-bar-horizontal-stack") {
|
|
443
399
|
props.options["plotOptions"] = {
|
|
@@ -446,8 +402,8 @@ export default defineComponent({
|
|
|
446
402
|
borderRadius: 6,
|
|
447
403
|
barHeight: "50%",
|
|
448
404
|
colors: { backgroundBarOpacity: 1 },
|
|
449
|
-
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
450
|
-
}
|
|
405
|
+
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
406
|
+
}
|
|
451
407
|
};
|
|
452
408
|
props.options.chart["stacked"] = true;
|
|
453
409
|
props.options.chart["stackType"] = "100%";
|
|
@@ -461,9 +417,9 @@ export default defineComponent({
|
|
|
461
417
|
fontFamily: "Figtree, sans-serif",
|
|
462
418
|
fontSize: "14px",
|
|
463
419
|
fontWeight: "400",
|
|
464
|
-
colors: ["#3E3F5E"]
|
|
465
|
-
}
|
|
466
|
-
}
|
|
420
|
+
colors: ["#3E3F5E"]
|
|
421
|
+
}
|
|
422
|
+
}
|
|
467
423
|
};
|
|
468
424
|
props.options["dataLabels"] = {
|
|
469
425
|
position: "top",
|
|
@@ -471,13 +427,12 @@ export default defineComponent({
|
|
|
471
427
|
offsetX: -50,
|
|
472
428
|
style: { fontSize: "14px", colors: ["#3E3F5E"] },
|
|
473
429
|
formatter(value, opt) {
|
|
474
|
-
let dataValue =
|
|
475
|
-
seriesData[opt.seriesIndex].data[opt.dataPointIndex];
|
|
430
|
+
let dataValue = seriesData[opt.seriesIndex].data[opt.dataPointIndex];
|
|
476
431
|
let returnValue = dataValue;
|
|
477
432
|
if (compactMode) {
|
|
478
433
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
479
434
|
notation: "compact",
|
|
480
|
-
maximumFractionDigits: 1
|
|
435
|
+
maximumFractionDigits: 1
|
|
481
436
|
}).format(dataValue);
|
|
482
437
|
}
|
|
483
438
|
if (!compactMode) {
|
|
@@ -487,14 +442,12 @@ export default defineComponent({
|
|
|
487
442
|
returnValue = returnValue + " (" + value.toFixed(1) + "%)";
|
|
488
443
|
}
|
|
489
444
|
return returnValue;
|
|
490
|
-
}
|
|
445
|
+
}
|
|
491
446
|
};
|
|
492
447
|
if (props.tooltipOptions) {
|
|
493
448
|
props.options["tooltip"] = props.tooltipOptions;
|
|
494
449
|
}
|
|
495
|
-
}
|
|
496
|
-
// Horizontal group
|
|
497
|
-
else if (props.type === "bar-horizontal-group") {
|
|
450
|
+
} else if (props.type === "bar-horizontal-group") {
|
|
498
451
|
let predefinedColors = false;
|
|
499
452
|
if (props.colors) {
|
|
500
453
|
predefinedColors = true;
|
|
@@ -505,8 +458,8 @@ export default defineComponent({
|
|
|
505
458
|
borderRadius: 2,
|
|
506
459
|
barHeight: "50%",
|
|
507
460
|
colors: { backgroundBarOpacity: 1 },
|
|
508
|
-
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
509
|
-
}
|
|
461
|
+
dataLabels: { position: "top", hideOverflowingLabels: true }
|
|
462
|
+
}
|
|
510
463
|
};
|
|
511
464
|
props.options["dataLabels"] = {
|
|
512
465
|
position: "top",
|
|
@@ -518,7 +471,7 @@ export default defineComponent({
|
|
|
518
471
|
if (compactMode) {
|
|
519
472
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
520
473
|
notation: "compact",
|
|
521
|
-
maximumFractionDigits: 1
|
|
474
|
+
maximumFractionDigits: 1
|
|
522
475
|
}).format(value);
|
|
523
476
|
}
|
|
524
477
|
if (!compactMode) {
|
|
@@ -529,13 +482,11 @@ export default defineComponent({
|
|
|
529
482
|
(a, b) => a + b,
|
|
530
483
|
0
|
|
531
484
|
);
|
|
532
|
-
let
|
|
533
|
-
|
|
534
|
-
.replace(",", ".");
|
|
535
|
-
returnValue = returnValue + " (" + percentage + "%)";
|
|
485
|
+
let percentage2 = new Intl.NumberFormat("fr-FR").format((100 * value / seriesTotal).toFixed(1)).replace(",", ".");
|
|
486
|
+
returnValue = returnValue + " (" + percentage2 + "%)";
|
|
536
487
|
}
|
|
537
488
|
return returnValue;
|
|
538
|
-
}
|
|
489
|
+
}
|
|
539
490
|
};
|
|
540
491
|
if (props.tooltipOptions) {
|
|
541
492
|
props.options["tooltip"] = props.tooltipOptions;
|
|
@@ -550,13 +501,11 @@ export default defineComponent({
|
|
|
550
501
|
fontFamily: "Figtree, sans-serif",
|
|
551
502
|
fontSize: "14px",
|
|
552
503
|
fontWeight: "400",
|
|
553
|
-
colors: ["#3E3F5E"]
|
|
554
|
-
}
|
|
555
|
-
}
|
|
504
|
+
colors: ["#3E3F5E"]
|
|
505
|
+
}
|
|
506
|
+
}
|
|
556
507
|
};
|
|
557
|
-
}
|
|
558
|
-
//Pie/Camambert
|
|
559
|
-
else if (props.type === "pie") {
|
|
508
|
+
} else if (props.type === "pie") {
|
|
560
509
|
props.options["labels"] = props.categories;
|
|
561
510
|
props.options["dataLabels"] = {
|
|
562
511
|
offset: -50,
|
|
@@ -568,25 +517,21 @@ export default defineComponent({
|
|
|
568
517
|
if (compactMode) {
|
|
569
518
|
returnValue = new Intl.NumberFormat("en-US", {
|
|
570
519
|
notation: "compact",
|
|
571
|
-
maximumFractionDigits: 1
|
|
520
|
+
maximumFractionDigits: 1
|
|
572
521
|
}).format(opt.w.config.series[opt.seriesIndex]);
|
|
573
522
|
}
|
|
574
523
|
if (!compactMode) {
|
|
575
|
-
returnValue = new Intl.NumberFormat("fr-FR")
|
|
576
|
-
.format(opt.w.config.series[opt.seriesIndex])
|
|
577
|
-
.replace(",", ".");
|
|
524
|
+
returnValue = new Intl.NumberFormat("fr-FR").format(opt.w.config.series[opt.seriesIndex]).replace(",", ".");
|
|
578
525
|
}
|
|
579
526
|
if (hasPercentages) {
|
|
580
|
-
let
|
|
527
|
+
let percentage2 = new Intl.NumberFormat("fr-FR", {
|
|
581
528
|
notation: "compact",
|
|
582
|
-
maximumFractionDigits: 1
|
|
583
|
-
})
|
|
584
|
-
|
|
585
|
-
.replace(",", ".");
|
|
586
|
-
returnValue = returnValue + " (" + percentage + "%)";
|
|
529
|
+
maximumFractionDigits: 1
|
|
530
|
+
}).format(value).replace(",", ".");
|
|
531
|
+
returnValue = returnValue + " (" + percentage2 + "%)";
|
|
587
532
|
}
|
|
588
533
|
return returnValue;
|
|
589
|
-
}
|
|
534
|
+
}
|
|
590
535
|
};
|
|
591
536
|
if (props.tooltipOptions) {
|
|
592
537
|
props.options["tooltip"] = props.tooltipOptions;
|
|
@@ -594,12 +539,11 @@ export default defineComponent({
|
|
|
594
539
|
props.options["plotOptions"] = {
|
|
595
540
|
pie: {
|
|
596
541
|
dataLabels: {
|
|
597
|
-
offset: -40
|
|
598
|
-
}
|
|
599
|
-
}
|
|
542
|
+
offset: -40
|
|
543
|
+
}
|
|
544
|
+
}
|
|
600
545
|
};
|
|
601
546
|
}
|
|
602
|
-
|
|
603
547
|
return props.options;
|
|
604
548
|
});
|
|
605
549
|
const chartType = computed(() => {
|
|
@@ -611,24 +555,22 @@ export default defineComponent({
|
|
|
611
555
|
}
|
|
612
556
|
return selectedType.value;
|
|
613
557
|
});
|
|
614
|
-
|
|
615
558
|
watch(
|
|
616
559
|
() => props.series,
|
|
617
560
|
() => {
|
|
618
561
|
chartKey.value += 1;
|
|
619
562
|
}
|
|
620
563
|
);
|
|
621
|
-
|
|
622
564
|
function percentage(partialValue, totalValue) {
|
|
623
|
-
return
|
|
565
|
+
return 100 * partialValue / totalValue;
|
|
624
566
|
}
|
|
625
567
|
return {
|
|
626
568
|
percentage,
|
|
627
569
|
chartKey,
|
|
628
570
|
chartType,
|
|
629
|
-
chartOptions
|
|
571
|
+
chartOptions
|
|
630
572
|
};
|
|
631
|
-
}
|
|
573
|
+
}
|
|
632
574
|
});
|
|
633
575
|
</script>
|
|
634
576
|
<style>
|
|
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
54
54
|
chartKey: import("vue").Ref<number>;
|
|
55
55
|
chartType: import("vue").ComputedRef<string>;
|
|
56
56
|
chartOptions: import("vue").ComputedRef<Record<string, any>>;
|
|
57
|
-
},
|
|
57
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
58
58
|
options: {
|
|
59
59
|
type: ObjectConstructor;
|
|
60
60
|
required: false;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="oip_table_card">
|
|
3
3
|
<div class="table_card_header">
|
|
4
|
-
<slot name="Chart" />
|
|
4
|
+
<slot :name="haveChart ? 'Chart' : 'Title'" />
|
|
5
5
|
</div>
|
|
6
|
-
<slot name="Table" />
|
|
6
|
+
<slot v-if="haveTable" name="Table" />
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
@@ -19,6 +19,16 @@ import {
|
|
|
19
19
|
|
|
20
20
|
export default defineComponent({
|
|
21
21
|
name: "argChartTableCard",
|
|
22
|
+
props: {
|
|
23
|
+
haveChart: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: true,
|
|
26
|
+
},
|
|
27
|
+
haveTable: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: true,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
22
32
|
});
|
|
23
33
|
</script>
|
|
24
34
|
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
|
2
|
+
haveChart: {
|
|
3
|
+
type: BooleanConstructor;
|
|
4
|
+
default: boolean;
|
|
5
|
+
};
|
|
6
|
+
haveTable: {
|
|
7
|
+
type: BooleanConstructor;
|
|
8
|
+
default: boolean;
|
|
9
|
+
};
|
|
10
|
+
}, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
haveChart: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
haveTable: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
}>>, {
|
|
20
|
+
haveChart: boolean;
|
|
21
|
+
haveTable: boolean;
|
|
22
|
+
}, {}>;
|
|
2
23
|
export default _default;
|